
Clipboard-first uploader for Cloudflare Images directly from Raycast. Take a screenshot or copy an image, fire one of the 21 commands from ⌘ Space, and a URL pastes at your cursor (or lands on your clipboard). Browse, search, and manage your uploaded images without ever leaving Raycast.
Unofficial. Not affiliated with Cloudflare, Inc.
Inspired by the
cloudflare-images-uploadVS Code extension by the same author (also on Open VSX). The VS Code original integrates paste and drag-drop inside the editor; this Raycast extension brings the same workflow next to the editor via⌘ Space, which lets it work everywhere on your Mac, including editors that don't expose paste-hook APIs (Zed, for example).
You'll need three pieces of Cloudflare configuration:
imagedelivery.net/{hash}/....Open Raycast → "Validate Cloudflare Credentials" → fill them into the extension preferences (⌘ ,) and re-run. A success page confirms everything's wired up.
21 commands grouped under "Cloudflare Images" in Raycast root search. The 18 upload commands organise around two axes:
Each axis can flow from your preferences (default), be selected at invocation via a dropdown, or be locked into a dedicated command for hotkey binding. The base command exposes both axes as dropdowns; the locked commands trade flexibility for zero-keystroke hotkey invocation.
/public, /hero, etc.) used in delivery URLs from a live list of your account's variants. Stored in Raycast LocalStorage; overrides the textfield preference.The base command supports both axes via optional dropdowns. The locked variants are zero-arg commands you can bind a single hotkey to.
Output format and Signed mode. Defaults to "Use my preference" for both.<img src="url" alt="filename" />Same structure as clipboard, but reads the Finder selection and copies the output (newline-joined for multi-select) rather than pasting at cursor. Per-file progress and partial-failure tolerance throughout.
⌘ D) for image preview + full metadata table. Copy URL in any format, open in browser, copy image ID, or delete (destructive confirm).Bind a global hotkey to whichever single command matches the case you hit most. Some common picks:
Upload Clipboard as MarkdownUpload Clipboard as Signed Markdown (zero-keystroke, no preference change needed)Upload Clipboard as Signed ImageUpload Clipboard Image (base)For Override combinations not covered by a dedicated command (e.g. always public Markdown when my default is signed, future Variant overrides, etc.) you can build a custom hotkey-bindable launcher via a Raycast Quicklink:
raycast://extensions/miguel_caetano_dias/cloudflare-images/upload-clipboard?arguments={"format":"markdown","signed":"public"}
Steps:
Create Quicklinkformat / signed values to your combo)The hotkey now invokes the base command with both dropdowns pre-filled, zero further keystrokes.
${fileName}, ${timestamp}, ${date}, ${time}, ${fileSize}, ${fileExtension}, ${surfaceVersion}, ${workspaceName}. Cloudflare's 1024-byte metadata limit is enforced with a warning toast.format and signed mode can be overridden for a single upload without touching preferences, via the base command's dropdowns, a dedicated locked command, or a Raycast Quicklink. See "Power-user notes" above.Open with ⌘ , from any of the commands.
| Preference | Type | Default | What it does |
|---|---|---|---|
| Cloudflare Account ID | textfield | - | Required |
| Cloudflare API Token | password | - | Required; needs Cloudflare Images: Edit |
| Cloudflare Account Hash | textfield | - | Required |
| Default Variant (fallback) | textfield | /public | Overridden by Set Default Variant |
| Output Format | dropdown | Markdown | For preference-driven commands |
| Signed URLs | checkbox | off | Generate HMAC-signed URLs for new uploads |
| Signed URL Expiration | textfield | 0 | Seconds; 0 = no expiry |
| Manual Signing Key | password | empty | Optional override; skips auto-fetch |
| Attach Metadata to Uploads | checkbox | on | Toggle metadata on/off entirely |
| Metadata Template (JSON) | textfield | identifying default | Customisable with ${...} placeholders |
| Compression | checkbox | on | sharp-based for files larger than Max File Size |
| Max File Size (MB) | textfield | 10 | Cloudflare's hard limit is 10 MB |
| Compression Quality | textfield | 80 | 1–100 |
| Preserve PNG Format | checkbox | off | When off, PNGs are converted to JPEG during compression |
| AVIF Conversion Format | dropdown | WebP | AVIF inputs are converted to this before upload |
MIT.
Pings the Cloudflare Images API to confirm your Account ID, API Token, and Account Hash are configured correctly.
Reads the image currently on your clipboard, uploads it to Cloudflare Images, and pastes the formatted URL at the cursor. Both dropdowns are optional. Leave them on 'Use my preference' to fall back to your settings, or pick a value to override format and/or signed-mode for this single invocation.
Uploads the clipboard image and pastes the URL as Markdown, , regardless of your default output format. Bind a hotkey if you live in Markdown.
Uploads the clipboard image and pastes an HTML <img> tag, regardless of your default output format.
Uploads the clipboard image and pastes only the raw URL, no Markdown or HTML wrapping, regardless of your default output format. The 'just give me the link' path for Slack, JSON fields, CSS, etc.
Uploads the clipboard image with a Signed URL and copies the URL to the clipboard. Hotkey-friendly for the 'this one needs a signed link' case. Paste anywhere with ⌘V.
Uploads the clipboard image with a public URL and copies the URL to the clipboard. Use this instead of 'Upload Clipboard Image' when you want the raw URL on the clipboard (no Markdown / HTML wrapping, no paste at cursor).
Combo: uploads with a Signed URL AND pastes as Markdown at cursor, regardless of your Signed URLs preference. Hotkey-friendly for 'signed Markdown image, right here, right now'.
Combo: uploads with a Signed URL AND pastes as an HTML <img> tag at cursor, regardless of your Signed URLs preference.
Combo: uploads with a Signed URL AND pastes the raw URL string at cursor (no Markdown / HTML wrapping), regardless of your Signed URLs preference. Differs from 'Upload Clipboard as Signed Image' (which copies to clipboard without pasting).
Uploads the image(s) currently selected in Finder to Cloudflare Images. Multiple images are joined newline-separated and copied to the clipboard.
Uploads selected Finder image(s) and copies the URL(s) as Markdown, regardless of your default output format.
Uploads selected Finder image(s) and copies HTML <img> tag(s), regardless of your default output format.
Uploads selected Finder image(s) and copies only the raw URL(s), regardless of your default output format. The 'just give me the link' path for Finder uploads.
Uploads selected Finder image(s) with Signed URLs and copies the URL(s) to the clipboard.
Uploads selected Finder image(s) with public URLs and copies the raw URL(s) to the clipboard. Use this instead of 'Upload Selected File' when you want the raw URLs (no Markdown / HTML wrapping).
Combo: uploads selected Finder image(s) with Signed URLs AND copies as Markdown image references to the clipboard, regardless of your Signed URLs preference.
Combo: uploads selected Finder image(s) with Signed URLs AND copies as HTML <img> tags to the clipboard, regardless of your Signed URLs preference.
Combo: uploads selected Finder image(s) with Signed URLs AND copies the raw URL(s) to the clipboard. Functionally equivalent to 'Upload Selected File as Signed Image' on Finder (the Finder pipeline always copies, never pastes), but kept for naming consistency with the clipboard family.
Browse, copy URLs from, and delete the images in your Cloudflare Images account.
Pick the default variant for new uploads and URL formatting from a list fetched from your Cloudflare Images account. Overrides the Default Variant textfield in preferences.
${fileName}, ${timestamp}, and more placeholders.