Outpainter 1.1 · Cloudflare edition

Created by LTBZ. Keep local Models A and B, and optionally use Cloudflare AI as Mode C.

Upload this ZIP to Cloudflare Pages, not a plain static-only Worker. The included _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.

1. Upload the app

  1. Sign in to your own Cloudflare dashboard.
  2. Open Workers & Pages → Create application → Pages → Direct Upload / Drag and drop. Choose the Pages upload flow rather than a Worker editor.
  3. Name the project, upload Outpainter-1.1-Cloudflare.zip, and deploy. If the dashboard asks for a folder, extract the ZIP and select the folder containing index.html and _worker.js.
  4. Open the resulting pages.dev address. No ChatGPT login is required on this independent deployment.

2. Enable optional Cloudflare AI

  1. In the Pages project's Settings → Bindings, select the Production environment and add a Workers AI binding with the exact variable name AI.
  2. Under Settings → Variables and Secrets, add an encrypted secret named 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.
  3. Create a new production deployment using the same ZIP so the binding and secret take effect.
  4. In Outpainter select C · Cloudflare AI. Leave Cloudflare app URL blank when using the Cloudflare copy. Click Check connection, enter your app access key, open a photo, describe the completed scene, and opt in to sending the working image before clicking Generate.

Using the existing ChatGPT-hosted interface

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.

Modes and privacy

ModeProcessingRequirements
A · MoebiusOn your deviceWebGPU; about 1.27 GB model download
B · SD 1.5 + LCMOn your deviceWebGPU + shader-f16; about 2.24 GB download / 2.55 GB cached
C · Cloudflare AIOn CloudflareInternet, 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.

Free allowance and costs

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.

Install and use offline

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.

Troubleshooting

Source and verification

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