Boyo Storyboard JSON Parser
Turn a Storyboard's JSON Into 12 Ready-to-Wire Prompt Outputs
- image_1
- image_2
- image_3
- image_4
- image_5
- image_6
- video_1
- video_2
- video_3
- video_4
- video_5
- video_6
The storyboard workflow goes: an LLM writes a structured storyboard as JSON, and you need that JSON turned into actual per-scene prompts you can plug into an image model and a video model. Doing that parsing by hand - or with a generic JSON node - is fiddly. BoyoStoryboardJsonParser exists to make it a one-step operation: paste the JSON in, and out come 12 separate STRING outputs: image_1 through image_6 and video_1 through video_6.
One input (json_input, a multiline string), twelve outputs, nothing else. It's about as close to a pure format-converter as a node gets.
How it works
The parser expects a specific structure - a JSON object with a top-level scenes array. It reads each scene, extracts the image prompt and the video prompt, and routes them to the matching outputs. If the JSON doesn't parse or the scenes key is missing, it raises rather than returning garbage - which is arguably a feature, since silently empty outputs are harder to debug than a loud error.
This is the alternative parser in the pack. The primary one is BoyoStoryboardOutput, which has the same 12-output layout but adds optional speech_scene1–6 inputs for audio mode. The docs' advice is straightforward: if BoyoStoryboardOutput struggles with a particular model's JSON formatting, try this one instead.
Where it fits
In the pack's storyboard chain: BoyoStoryboardPrompt builds the instruction prompt for an ollama model → the LLM returns JSON → this node splits it into per-scene prompts → the image prompts feed your image model (Qwen-Image edit, HiDream, etc.) and the video prompts feed your video model (Wan). Each of the 12 outputs can then be routed, switched, or batched independently.
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 json.loads plus dictionary lookups.
Gotchas
- The input must be the parsed JSON text from the model, not a path to a file and not a wrapped markdown blob. If your LLM wraps the JSON in
code fences, strip those first - the strict parser will reject them. - It assumes exactly six scenes. A storyboard with five scenes leaves output six empty; more than six gets truncated.
- Outputs are plain strings. If your scene prompts are huge, that's fine - but keep in mind they'll sit in memory as text nodes until wired out.
When an LLM-driven storyboard is your pipeline, this is the boring adapter that makes the rest of it work. Paste, split, wire.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| json_input | STRING | — |
Outputs (12)
| Name | Type | Description |
|---|---|---|
| image_1 | STRING | — |
| image_2 | STRING | — |
| image_3 | STRING | — |
| image_4 | STRING | — |
| image_5 | STRING | — |
| image_6 | STRING | — |
| video_1 | STRING | — |
| video_2 | STRING | — |
| video_3 | STRING | — |
| video_4 | STRING | — |
| video_5 | STRING | — |
| video_6 | STRING | — |