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.