WORKERS AI / IMAGE PLAYGROUND

Cloudflare Image Generation Test

Compare FLUX.2 Klein 4B, 9B, and Dev models with identical prompts, reference images, and seeds directly in your browser.

01 Configure Request

Account Connection
Open Dashboard ↗

Find your Account ID under Cloudflare Dashboard → Workers & Pages → Overview.

Create Token ↗

Requires Workers AI read/edit permission for your account. Never stored in cookies or storage.

Model & Parameters

Klein fixed 4 steps; supports reference images. Does not auto-switch models.

Fixed seeds help reproducible tests across runs.

FLUX.2 only. Controls prompt adherence; left blank by default.

Reference Images Optional

Cloudflare requires reference images smaller than 512 × 512. Uncheck to test raw sizes.

Prompt
Sent as-is without hidden system prompts. 0 characters
Import / Export Parameters

Paste JSON with prompt, width, height, seed, steps, and guidance.

No auto-retries. Stopping may not cancel in-flight compute on Cloudflare.

02 Generation Results

Waiting
HTTP Status—
Elapsed—
Images0

See the Difference

Upload references, write your prompt, and generate. Click any image to view in full resolution.

Reference imagesRaw promptSide-by-side
View Last Request / Response

Token excluded; image binary base64 truncated for clarity.


            

          
Your browser Direct HTTPS request Cloudflare Workers AI
PRIVACY & TRUST

Built for privacy. Supported by ads, not your data.

This is a free developer utility for convenient Cloudflare Workers AI image testing. Caitty is supported exclusively by Google AdSense advertising revenue to cover hosting and operational costs. We have zero business model, zero incentive, and zero interest in collecting, logging, or saving your API tokens, account credentials, prompts, or generated images.

  • Held only in browser memory: Your Account ID and API Token exist only in the current page’s memory and input field. This tool never writes them to localStorage, sessionStorage, cookies, URL parameters, or any database.
  • Supported by Google AdSense ads: This page is monetized through standard Google AdSense ads. Our testing code is strictly isolated and never sends your keys, prompts, or images to the advertising service.
  • Stateless edge pass-through: Cloudflare’s official API (api.cloudflare.com) does not support browser CORS preflight requests (returning HTTP 405). To enable in-browser testing, requests pass through an open, stateless edge pass-through (/cloudflare-image-test/api/*) that strictly forwards your payload to Cloudflare and returns raw binary responses with zero caching, zero database, and zero logging.
  • Session isolation: Reloading the tab, leaving the page, or clicking “Clear session” immediately purges credentials, prompts, reference images, and generation history from memory.

Ads load third-party scripts. Google and its advertising partners may use cookies or similar technologies to serve and measure ads. This is not a claim that the page has no third-party requests or tracking. See Google’s advertising privacy information.

You can inspect this page’s client request code and check the network traffic in your browser’s Developer Tools Network panel.

Inspect & Run Locally (Self-Host)

Want 100% control? Download the complete standalone source package (including client code and worker relay). Review every line, run it locally, or deploy it under your own Cloudflare account so requests never touch our domain.

Download Source Code (.ZIP)
TROUBLESHOOTING

What does a Cloudflare API error mean?

Status What to check
400 Check prompt syntax, custom dimensions (must be within supported ranges, e.g. 256–1920), or reference image formats.
401 / 403 Authentication failed. Verify your 32-character Account ID and confirm your API Token has "Workers AI: Read/Edit" permissions.
404 Model path or account ID not found. Ensure Workers AI is activated on your Cloudflare account.
429 Rate limit reached. Cloudflare Workers AI has account concurrency and neuron quotas. Wait a moment before retrying.
500 / 503 Cloudflare GPU cluster temporary error or model cold start timeout. Retry with a smaller resolution or different seed.
Network Network timeout or ad blocker blocking requests. Check your connection or disable aggressive extensions.

The test stops waiting after 60 seconds. Stopping a request cancels browser wait but may not halt in-flight Cloudflare GPU compute.

How to Compare Effectively

01

Keep Inputs Constant

Use the same reference pictures, prompt, and dimensions. Generate first with 4B, then switch to 9B. This isolates model differences rather than variance from new parameters.

02

Vary One Factor

When tuning prompts, change one phrase at a time. Each generation preserves its model, dimensions, seed, and full prompt. You can click to view the full resolution and download both parameters and photos.

03

Inspect Details Up Close

Click generated images to open the lightbox and zoom in on hand-wrist anatomy, object grips, facial coherence, and skin textures. HTTP 200 confirms call success, not structural perfection.

Frequently Asked Questions

Does Cloudflare provide an official playground?

Yes. The Cloudflare Multi-modal Playground tests multimodal models. You can also review the Workers AI model catalog. This tool simplifies testing with multiple reference images, fixed seeds, and side-by-side gallery comparison.

How do I create an API Token?

Create an API Token in your Cloudflare dashboard with Workers AI permissions for the target account, and copy your 32-character Account ID. This requires a Cloudflare Token, not an OpenRouter key or Global API Key.

Where are my API token, reference images, and generated images stored?

Everything stays exclusively in your browser memory for the current session. Caitty is funded solely by Google AdSense advertising, and we never save, log, or sell your credentials. Due to Cloudflare CORS restrictions, requests pass through an ephemeral, stateless edge pass-through that strictly forwards bytes with zero logging and zero database. Reloading, closing, or clicking "Clear session" purges all data from memory.

Can I run this playground locally or on my own server?

Yes! We provide the complete standalone frontend source code for download (Download ZIP). It contains no trackers, no backend dependencies, and no saved keys. You can run it with any local static server like python3 -m http.server or npx serve.

Need to test LLM text models as well?

Check out our OpenRouter API Tester for zero-backend, browser-direct LLM testing with 200+ models.