Boyo Storyboard Output
12 Storyboard Prompt Outputs, Plus Speech Tracks for Audio Mode
- image_scene1
- image_scene2
- image_scene3
- image_scene4
- image_scene5
- image_scene6
- video_scene1
- video_scene2
- video_scene3
- video_scene4
- video_scene5
- video_scene6
This is the primary decoder in the Boyonodes storyboard chain: paste the JSON an LLM produced for your storyboard, and it splits into 12 individual prompt outputs - image_scene1 through image_scene6 and video_scene1 through video_scene6 - ready to wire into image and video generation nodes. Where it goes beyond a dumb JSON splitter is the six optional speech_scene1–6 inputs, which let it re-embed dialogue back into the video prompts for the pack's OVI audio workflow.
How it works
Feed it the raw JSON string in json_input, and it parses the scene structure, mapping each scene's image prompt and video prompt to the matching output. The speech inputs are the interesting part: in OVI (audio) mode, the video model needs the spoken dialogue woven into the prompt - typically wrapped in tags the model recognises. If you provide speech_sceneN alongside the JSON, the node integrates that speech back into the corresponding video_sceneN output so the video generator knows what's being said during that scene. Leave the speech inputs empty and it behaves like a straight 12-way splitter.
The outputs are plain strings, so from here each scene prompt can go to its own sampler, a switch node, or a batch collector - the storyboard becomes a normal graph of prompts instead of one giant blob.
Where it fits
The full pack chain is: BoyoStoryboardPrompt builds the instruction prompt for an ollama model (which supports a "System Prompt 3 (OVI Audio)" mode) → the LLM returns JSON → BoyoStoryboardOutput splits it into per-scene image and video prompts → image prompts feed your image editor (Qwen-Image edit / HiDream / Kontext-class models) and video prompts feed your video model (Wan). With speech filled in, the video prompts carry the dialogue so a subsequent TTS/audio step lines up.
It shares the 12-output structure with BoyoStoryboardJsonParser - the alternative parser for when one of them chokes on a particular model's JSON formatting.
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.
Gotchas
- The JSON must be the model's raw output, not wrapped in markdown code fences - strip those before pasting or the parser rejects it.
- Speech inputs are only meaningful if the system prompt you used generated an OVI-audio storyboard. Feeding speech into a standard 6-scene JSON just appends dialogue text where the video model may not expect it.
- It assumes six scenes; anything else leaves outputs empty or truncated.
If you're building LLM-planned multi-scene videos, this is the seam where unstructured AI output becomes a workable ComfyUI graph - and the speech inputs are the part most generic parsers won't give you.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| json_input | STRING | — | |
| speech_scene1opt | STRING | — | |
| speech_scene2opt | STRING | — | |
| speech_scene3opt | STRING | — | |
| speech_scene4opt | STRING | — | |
| speech_scene5opt | STRING | — | |
| speech_scene6opt | STRING | — |
Outputs (12)
| Name | Type | Description |
|---|---|---|
| image_scene1 | STRING | — |
| image_scene2 | STRING | — |
| image_scene3 | STRING | — |
| image_scene4 | STRING | — |
| image_scene5 | STRING | — |
| image_scene6 | STRING | — |
| video_scene1 | STRING | — |
| video_scene2 | STRING | — |
| video_scene3 | STRING | — |
| video_scene4 | STRING | — |
| video_scene5 | STRING | — |
| video_scene6 | STRING | — |