Created by LTBZ. Keep local Models A and B, and optionally use Cloudflare AI as Mode C.
_worker.js supplies the AI endpoint. The app will work locally before cloud setup; Mode C stays unavailable until the binding and access key are configured.index.html and _worker.js.pages.dev address. No ChatGPT login is required on this independent deployment.AI.APP_ACCESS_KEY. Choose your own random key of at least 16 characters. This is an app password, not a Cloudflare API token. Keep it private; anyone with it can use this endpoint's allowance.You can also point its Mode C to your Cloudflare app URL. In the Cloudflare project's Production variables add ALLOWED_ORIGINS with the exact interface origin, for example https://outpainter.alightpanda5.chatgpt.site. Redeploy. Enter the Cloudflare pages.dev origin in Outpainter's Cloudflare app URL field, without /api. Multiple trusted origins can be separated by commas. Do not use a wildcard.
| Mode | Processing | Requirements |
|---|---|---|
| A · Moebius | On your device | WebGPU; about 1.27 GB model download |
| B · SD 1.5 + LCM | On your device | WebGPU + shader-f16; about 2.24 GB download / 2.55 GB cached |
| C · Cloudflare AI | On Cloudflare | Internet, AI binding and app key; no local GPU/model download |
Mode C sends the 512 × 512 working image, black-and-white mask and prompt to your configured endpoint. The app does not upload the original full-resolution file or save cloud images on its server. Cloudflare processes requests under its own data policies. Cancelling stops the browser waiting; an already-sent request may continue and use allowance. There is no automatic retry or automatic switch from local to cloud.
Cloudflare currently documents a daily free allocation of 10,000 Workers AI neurons, shared with other Workers AI use on the same account. Free-plan requests fail after the applicable limit; paid plans can bill overage. Model availability and prices can change. Do not treat this as unlimited free image generation or an exact number of images per day. Check your dashboard and the current pricing. The app uses Cloudflare's SD 1.5 Inpainting model, at 512 × 512 and 10–20 steps. No OpenAI API key or ChatGPT tokens are used.
On the HTTPS app address, use Chrome or Edge's Install app button. Allow app caching to finish. Local A/B modes can work offline after their model files have fully downloaded; cloud mode always requires a connection. Browser storage belongs to each hostname: model caches on the ChatGPT site do not transfer to the new Cloudflare hostname. Download them once again there if you want local/offline use. Switching domains also requires installing the new copy. Photos are not automatically moved.
_worker.js was included, and that the app URL has no /api suffix.ALLOWED_ORIGINS if calling from another website.CLOUD_AI_ENABLED=false and redeploy. Local modes remain available.The download includes SOURCE.zip with frontend, backend and tests. It contains no accounts, credentials, model weights, personal photos, ChatGPT site identity, or dependencies. For source builds: install Node.js 22 or newer, extract SOURCE.zip, run npm ci, npm test and npm run package:cloudflare. The prebuilt upload does not require a local build or Node.js.
Build and mocked integration checks pass. Live Cloudflare inference has not been tested against your account; model quality, availability and account limits need a first live run after setup. Local GPU compatibility remains dependent on the device. Body completion is experimental. Exports remain up to 512 pixels on the longest edge.
Cloudflare documentation checked October 24, 2026. Direct Upload · AI binding instructions · Created by LTBZ