Drop your idea on the left and click Generate Brief. The concierge fills every field in one pass — you tweak from there.
DRAFT-FIRST · NEVER ASKS · 🟡 MARKS DEFAULTS
VERSION HISTORY · LAST 5 · CLICK TO PREVIEW
📋 From brief:
⚠ Source brief was changed
🎬 CONCEPT
IDEA / BRIEF
🎭 CHARACTER
DESCRIPTION
🎚 PRODUCTION
TONE
DURATION (SEC)
ASPECT RATIO
PANEL COUNT
STORYBOARD LAYOUT
CHARACTER SHEET LAYOUT
VISUAL STYLE
PROJECT TITLE
🖼️ IMAGE GEN TOOL
IMAGE GENERATOR
🎯 VIDEO GEN TOOL
VIDEO GENERATOR
🎵 AUDIO
SONG LYRICS (auto-IPA per panel)
🖼 REFERENCE IMAGES
📎
Drop / paste / click — refs go to AI vision (if model supports it)
PNG · JPG · WEBP · CLICK ROLE BADGE TO CYCLE STYLE/CHAR1/CHAR2/CHAR3
🔁 REFINE
🎬
Fill the brief, drop reference images, paste lyrics. Hit GENERATE STORYBOARD. Get back a storyboard preview, character sheet prompts, IPA sync block, and per-panel video prompts — all copy-paste ready.
⌘+ENTER to generate · CLICK ANY PANEL TO EDIT · NO IMAGE/VIDEO API CALLS
📺 Composite Preview · Step 3 Bake-inDrop your generated storyboard image, then click 📝 Generate Bake-in Prompt
📥
Drag & drop your generated storyboard image here
Or click to browse · paste from clipboard · PNG / JPG / WebP
First generate above + paste the storyboard prompt into your image gen, then drop the result here.
📝 BAKE-IN DIRECTIVES PROMPT
Paste this prompt + the storyboard image into your image gen tool. The tool will return your storyboard with SCENE/ACTION/VO directives baked into each panel. NO API call — paste-out only.
Forging for active brief:
🎭 INPUT
CHARACTER LABEL (literal — used as the name)
REFERENCE PHOTO (optional)
📷
Drop / paste / click — one photo
PNG · JPG · WEBP · DESCRIBES WHAT YOU SEE
TYPE
DETAILS (any depth)
🪪 CHARACTER
🪪
Drop a character label and any details on the left. Get back a paste-ready one-liner plus a structured breakdown.
FACE · HAIR · BUILD · AGE · WARDROBE · TRAIT · ANTI-BIAS
📂 PROJECT LIBRARY
💡 RECENTS store a light copy in your browser (no reference images / composite). For full archival use 💾 to download the .dsp.json. Auto-trims to 10 entries.
⚙ SETTINGS
PRESETS
Configure one or more backends. Enable the ones you want to use. Keys persist in localStorage on this device — never transmitted except directly to the provider you configure.
💡 VISION-CAPABLE MODELS — reference images flow only to models that read them.
Claude 4.x · GPT-4o / 5.x · Gemini · MiniMax M2/M2.7 (auto-routes /anthropic/v1/messages) · Local Gemma-4/LLaVA/Qwen-VL/Pixtral.
Text-only models (e.g. DeepSeek chat) ignore attached refs.
ℹ About token usage
Director's Studio sends the full system prompt + user message + any attached images on every call. Each API call is stateless — there is no conversation context on the API side.
To minimize tokens: pre-describe reference images (saves ~50× tokens on multi-call flows), prune old brief versions, and reset stages between unrelated projects. Use the 🔄 RESET STAGE buttons on each stage or the 🗑 button in the top bar to clear all project data.
ROUTING
🎨 VISION DESCRIBER
Image → text pre-processor. When any call has image references attached, they're first sent here to generate text descriptions. The descriptions then flow to the main call's preset (no images). Use a vision-capable model — local recommended for LAN-only image processing (e.g. Mac Mini Gemma).
ⓘ Leave blank to send images directly to the call's main preset (current behavior — only works if main preset is vision-capable).
Configure 2+ presets to enable multi-model routing. Fast = cheap / local for tree deepening & field options. Smart = best for briefs & storyboards.
DIAGNOSTICS
Resolved preset per call type — verifies routing is wired correctly. Updates live as you change settings above.
SETUP
⚠ CORS TROUBLESHOOTING
Local LLM calls from a file:// page or a different host will be blocked unless the server sends permissive CORS headers. Apply the fix for your server:
llama.cpp
Add to launch command:
--host 0.0.0.0
Serve over the LAN IP, not just localhost.
Newer llama.cpp builds set permissive CORS by default;
older versions may need a reverse proxy.
Ollama
Set environment variable before launching:
OLLAMA_ORIGINS="*" ollama serve
LM Studio
Settings → CORS → allow all origins.
VERSION PREVIEW
⚠ BRIEF DIFF
Field-level differences between the brief committed to Stage 3 and the current brief.
📝 EDIT DESCRIPTION
·
FIELD HELP
❓ HOW TO USE DIRECTOR'S STUDIO
🌳 STAGE 1 · IDEA LAB
Browse the curated tree of 10 root concepts, drill into branches, or hit 🎲 GENERATE for fresh AI-steered roots (optionally typed keywords). The ✨ AI SPARK tab takes any feeling / lyric / vibe and returns 5 directions. Lock up to 5 concepts, then send to Brief Concierge.
📋 STAGE 2 · BRIEF CONCIERGE
Turn a locked concept (or free-form input) into a 13-field production brief. Use 🎲 per field for alternatives. Refine via natural-language chat at the bottom. Last 5 brief versions are preserved (pure history — restore forks, never destroys). Attach reference images and pre-describe them to save ~50× tokens.
🎬 STAGE 3 · DIRECTOR'S BOARD
Generate the storyboard from your committed brief. Per-panel image + video prompts, composite preview with bake-in image, character sheets via Forge sub-view. Export PNG / HTML / PDF / JSON. Stage 3 stays stale until you rebuild — it never auto-overwrites your work.
💾 SAVE / 📂 LOAD
💾 downloads the project as .dsp.json AND adds a light copy to recents (last 10). 📂 opens the library — load from recents or pick a file from disk. Recents drop reference images to keep localStorage healthy; file saves preserve everything. Click the project name in the top bar to rename.
🔄 RESET / 🗑 CLEAR
Each stage has a 🔄 RESET STAGE button — clears that stage only. The 🗑 button in the top bar wipes ALL project state and regenerates the project name; settings and API keys are preserved. Both reset paths restore the curated default tree on Stage 1.
⚙ SETTINGS
BYOK (bring your own key) — configure one or more presets (Anthropic, OpenAI, OpenRouter, MiniMax, DeepSeek, Local, Custom). Routing splits Fast (idea deepening, field options) from Smart (briefs, storyboards). Keys persist in localStorage on this device only.