📓 Music Video Builder

A guided scrapbook for developing a music video before you generate anything: story → characters → world → storyboard. Every answer feeds a paste-ready prompt block, and the character cards emit the exact reference-binding syntax the Seedance 2.5 guide teaches. Works entirely offline — nothing is uploaded, and no API key is needed. Once you have a board, take it to the Music Video Director to cut it into generatable segments.

1 Story

The concept archetype and narrative arc do most of the work here — pick them first and the logline scaffolds itself, then edit it into your own words.

Story block Copied!

2 Characters

Each character becomes a numbered reference slot. The binding block below every card is the shape both Seedance and Aurora expect — state what to take from the reference image and what to leave out, every time, for every segment.

All character bindings Copied!

3 World

Locations your video lives in. Keep the palette and era consistent across all of them unless a change of look is doing deliberate story work — drift between locations is the fastest way a stitched video stops feeling like one piece.

All locations Copied!

4 Storyboard

Each shot pulls in the characters and location you picked above and assembles a complete prompt. Reorder freely — this is the scrapbook stage, so it's meant to be shuffled.

Full board Copied!

Save & load projects

Projects are stored in this browser only (localStorage) — they aren't uploaded anywhere and won't follow you to another device or survive clearing site data. Export a copy if a concept matters.

Optional AI assist

Everything above works fully without this. If you run a local model, you can wire it up to fill in the ✨ Suggest buttons on the free-text fields — the builder sends the surrounding project context and drops the reply into that field.

⚡ Connect a model (advanced — needs your own endpoint)
Use a local endpoint, not a hosted one. This page calls your endpoint directly from the browser, which means two things: a hosted provider will usually refuse the request outright (CORS), and any key you paste is visible to every script running on the page. Local servers — LM Studio, Ollama's OpenAI-compatible mode, llama.cpp, text-generation-webui — avoid both problems and need no key at all. Your key is never saved: it's read from the box at call time and disappears when you close the tab.