About this template
ShipAny Image Agent
A complete AI image product, ready to rebrand and ship. Users describe an edit in plain language; an agent decides which tool to call, generates or edits the image, and charges credits for it. Payments, subscriptions, credits, auth, admin panel and i18n are already wired — you change the branding, the examples and the prices.
Built on ShipAny (TanStack Start + Drizzle + better-auth). It deploys to Cloudflare Workers with no filesystem and no background workers.
Quick start
pnpm install
cp .env.example .env.development # set AUTH_SECRET at minimum
pnpm db:push # creates data/local.db
pnpm rbac:init [email protected] --admin-password=<pick-one>
pnpm dev # http://localhost:3000
Then sign in and open /admin/settings — the app cannot generate anything
until you configure it there. Nothing is baked into env.
Configure
Admin → Settings → AI:
| Group | What to set |
|---|---|
| Chat Model | Default provider (auto prefers OpenAI, falls back to Anthropic), and the model id |
| OpenAI | Base URL + API key. Any OpenAI-compatible gateway works — OpenRouter, Together, your own |
| Anthropic | Base URL + API key, if you'd rather drive the agent with Claude |
| Image Generation | Default provider, then the Replicate token or Fal key in the groups below |
Admin → Settings → Storage (Cloudflare R2 / S3). Generated images are uploaded there, and on Cloudflare Workers this is not optional — there is no disk to fall back to.
Every group has a Test button that makes one real request, so you find out a key is wrong before a user does.
Also worth setting: Payment (Stripe/Creem/PayPal), Email (Resend or Cloudflare Email) for verification mail, and Google OAuth.

