Scrim UI

Image Studio TemplatePro

Generation as an async job, not a chat: a server-enforced state machine, polling that never re-downloads pixels, blocked vs failed as different outcomes, and a simulated backend for keyless development.

Next.js 16React 19Images APITailwind v4TypeScript
idle

Image Studio

Async generation jobs — queue, poll, gallery

0 jobs done

Nothing generated yet

Write a prompt on the left and press Generate.

A scripted replay of three jobs — one queued, generated and settled, one that failed (retryable; nothing was charged) and one blocked by policy (not retryable — rephrase). The result card and both notices are the real components the template ships, but there is no model or worker behind this page; the “generated” image is an inline placeholder.

Every file in it

The full file list, with line counts — nothing is hidden about what you are getting, only the contents are.

26 files, 1,804 lines

Every file below is real and readable once you have Pro — downloaded as a zip, installed with one shadcn command, or read here in the browser. $49 once, for this and every other Pro item.

.env.example

Built on these components

All free, all documented on their own pages. The template is what wires them together.

Running it

  1. Download the zip and unpack it, or install it with the shadcn command above — either way the app lands in its own directory. Then npm install.
  2. Add an AI_GATEWAY_API_KEY to .env.local — one key reaches every model the template uses.
  3. npm run dev. To use a provider directly instead, install its package and change one line in the chat route.