Work/Case study

Prompt Studio

Prompt, image, video, and audio tools for ComfyUI, running on your own machine.

MIT-licensed Next.js toolbox for ComfyUI: write a scene idea, let a local LLM turn it into a model-ready prompt, queue it, then review and keep results in one Gallery. The classic tools from before Castcut became a film app, now a separate app on the shared prompt-studio-core package.

Next.js · TypeScript · ComfyUI · npm package · LM Studio / Ollama

What it is

Prompt Studio is the general-purpose half of what used to be one app. When Castcut narrowed to character films (Cast → Look → Outfit → Day → Cut film), the prompt and image tools that did not belong in a film loop moved here, so people who want a ComfyUI toolbox get one without the film pages.

It picks the workflow, sampler, and size for the model you choose and your GPU, so you spend your time on pictures rather than graphs. Heal & ready checks ComfyUI, maps your models, enables the system workflows, and installs missing node packs.

What is in it

Create — Generate (keywords or a random surprise to a full prompt), Prompt Editor, Image → Prompt with a vision model, Video (text-to-video, image-to-video, extend), and Variations grid and matrix sweeps. Edit — Refine, Inpaint, Outpaint, Compose, and ControlNet. Library — Gallery with ratings, review mode, compare, semantic search, and tags; Queue; Dashboard; Studio history and diffs.

More tools — Format, Lint, Negative prompts, a node-graph Workflow editor, Topics, Audio, Mesh, Logo, and plugins. Engines include Qwen-Image, FLUX, Z-Image, SDXL, WAN, LTX, and Hunyuan on ComfyUI, a LoRA library, and optional cloud engines. Saved characters keep a face lock, wardrobe, and LoRAs for any tool.

How it is built

The shared code — the ComfyUI pipeline, Gallery, settings, app shell, and the tools — is published on npm as prompt-studio-core and developed in the Castcut repository. Prompt Studio is the thin app around it: generated routes, its own layout, configuration, and public assets. A daily workflow installs a newer core when one is published, regenerates the routes, builds, and opens a pull request.