Boyo Storyboard Prompt
The Node That Writes the Prompt That Writes Your Storyboard
- formatted_prompt
- image_trigger_word
- video_trigger_word
- speech_scene1
- speech_scene2
- speech_scene3
- speech_scene4
- speech_scene5
- speech_scene6
Storyboard generation has a chicken-and-egg problem: you want an LLM to plan your scenes, but the LLM needs a carefully-constructed instruction prompt to return usable JSON - and writing that instruction prompt by hand, with all the format requirements, is its own chore. BoyoStoryboardPrompt is the node that builds it for you. You feed in your rough story material and it outputs a formatted, model-ready prompt plus the trigger words and per-scene speech fields the rest of the chain expects.
The inputs that matter
movie_director_output- the raw creative brief (from "Movie Director" style LLM output - GPT, Gemini, Claude, etc.). This is your scene breakdown and story structure, and the node wraps it into a system prompt that demands structured JSON back.system_prompt_type- three flavours:- System Prompt 1 (6 Scenes) - standard: 6 image prompts + 6 video prompts.
- System Prompt 2 (Traveling Prompts) - for extended content where each video scene becomes a multi-line sequence (travelling/long-form shots).
- System Prompt 3 (OVI Audio) - the audio-aware variant that expects dialogue per scene, for lip-sync-style output.
image_trigger_word/video_trigger_word- the tokens the image and video models expect at the start of each scene prompt (defaults toNext Scene:). These get passed through as outputs so downstream nodes can use them.traveling_prompt_count- how many lines each travelling scene should hold (1–20, default 3).additional_details- optional free-form extra instructions.
The outputs
Nine of them: formatted_prompt (the whole instruction text to send to your LLM), the two trigger words, and speech_scene1 through speech_scene6 - per-scene dialogue fields that the audio storyboard mode fills in and BoyoStoryboardOutput later re-embeds into the video prompts.
How it fits the chain
BoyoStoryboardPrompt → formatted_prompt → [ollama / any LLM node]
[LLM JSON response] → BoyoStoryboardOutput (or JsonParser) → 12 scene prompts
The pack's README recommends Qwen 30B A3B Coder Abliterated via ollama for the LLM step, and specifically warns against Gemma, Meta coding variants, and thinking models - they tend to mangle the required JSON structure. The node's own docs note the parser is built to be robust across GPT/Gemini/Claude variations, but a model that reliably emits well-formed JSON will save you the retries.
Installing it
Ships with Boyonodes (DragonDiffusionbyBoyo):
cd ComfyUI/custom_nodes
git clone https://github.com/DragonDiffusionbyBoyo/Boyonodes
Restart ComfyUI or install "Boyonodes" via ComfyUI Manager. No extra dependencies - it's string templating. (The LLM itself is on you: ollama or any API node.)
Gotcha
The formatted_prompt output is a system-style instruction, not a user prompt - feed it to your LLM node's prompt/skill input, and keep movie_director_output as your actual story content. Confusing the two is the most common way to get back a wall of meta-text instead of a storyboard.
For anyone automating multi-scene video planning, this is the node that turns "one vague idea" into "six scenes, six shots, JSON guaranteed" - as long as your LLM plays along.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| movie_director_output | STRING | — | |
| image_trigger_word | STRING | Next Scene: | — |
| video_trigger_word | STRING | Next Scene: | — |
| system_prompt_type | COMBO | System Prompt 1 (6 Scenes) | 3 options: System Prompt 1 (6 Scenes), System Prompt 2 (Traveling Prompts), System Prompt 3 (OVI Audio) |
| traveling_prompt_count | INT | 31–20 | — |
| additional_detailsopt | STRING | — |
Outputs (9)
| Name | Type | Description |
|---|---|---|
| formatted_prompt | STRING | — |
| image_trigger_word | STRING | — |
| video_trigger_word | STRING | — |
| speech_scene1 | STRING | — |
| speech_scene2 | STRING | — |
| speech_scene3 | STRING | — |
| speech_scene4 | STRING | — |
| speech_scene5 | STRING | — |
| speech_scene6 | STRING | — |