Storyboard Image Gen
This node is just a KSampler. The storyboard panel is why you're here.
- model
- positive
- negative
- latent_image
- LATENT
Let's be straight with you: StoryboardImageGen is a KSampler clone. Same model, seed, steps, cfg, sampler, scheduler, positive, negative, latent, denoise - same math under the hood, just wearing a "Storyboard" category tag and a LATENT out. If someone linked you here expecting a magic storyboard maker, that's not this node. The magic lives in the web panel that ships alongside it; this node is just the sampler the panel points at.
What the pack actually does
comfyui-storyboard is a small extension by a solo dev (u/Hongtao_A) announced on r/comfyui in January 2026. It adds a Storyboard button to the ComfyUI menu that opens a floating panel. You manage a grid of "shots" - each is a card with a prompt and a camera setting - and the panel rewrites your existing workflow's prompt node and queues it for you, shot by shot or all in sequence. Your data persists to a local SQLite file so a browser refresh doesn't nuke an afternoon of framing.
Here's the part that makes it work: the camera tool. Click Camera on a shot and you get a 3D viewer with azimuth, elevation, and zoom. It turns your angle into text - "front-right view, high angle, medium close-up" - and drops it into the prompt. That is not a model feature; it's a prompt-writing tool. It only does anything if your model already understands those words.
The model it's actually built for
The default camera preset is literally named Qwen-Edit-2511, and the README credits jtydhr88's ComfyUI-qwenmultiangle as the parent project. This pack is built for the Qwen-Image-Edit + Multiple-Angles LoRA stack - the one where a LoRA on an edit model re-shoots a subject from new angles with no ControlNet, the first thing that worked on locations rather than just people. The storyboard is a workflow manager for that exact trick: keep one reference image, spawn a row of shots, each a different angle.
Which brings us to the single most useful troubleshooting fact in the pack, straight from the author on launch day. Someone reported: "when I generate a shot it's generating a completely random shot, not based off the image I've generated." Reply: use Qwen-Image-Edit-2511 in conjunction with the Multiple-Angles LoRA (fal/Qwen-Image-Edit-2511-Multiple-Angles-LoRA). If you're pointing this at an SDXL checkpoint and wondering why "high angle" does nothing - that's why.
The inputs that matter
Since the node is a KSampler, you set it like one. The three you'll actually touch:
- seed - fix it to lock a shot's composition. If your edits keep drifting between runs, this is the usual culprit (this node has no
control_after_generateof its own, so whatever sampler you actually run sets the randomize behavior). - denoise - the img2img lever. 1.0 (default) is full resample; drop toward 0.5–0.7 and the edit model keeps more of your reference intact.
- cfg - Qwen-Image-Edit is a DiT; like most 2025-era models it's happy around 4–8, not the 8–12 the old SD reflexes want.
positive/negative are CONDITIONING wires from your text encoders, latent_image comes from a VAE Encode (or Empty Latent for txt2img), and the single LATENT output feeds a VAE Decode. The panel injects prompts into whatever CLIP Text Encode you map as the "prompt node," so this node doesn't even strictly need to be in the graph - the panel will happily drive a plain KSampler too.
Install
ComfyUI Manager, search comfyui storyboard, install. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/colorAi/comfyui-storyboard.git
Then restart ComfyUI and refresh your browser. That's the whole dependency list - no requirements.txt, nothing pip-installs beyond what ComfyUI already ships (aiohttp, sqlite3, torch). No API keys, no model files to download. The heavy lifting - Qwen-Image-Edit-2511 itself and the Multiple-Angles LoRA - you load as normal checkpoints/LoRAs, and 20B at bf16 means you'll want the GGUF/fp8 quantizations.
Where people get burned
- Random shots - covered above: you need the 2511 edit model plus the LoRA, or camera prompts are just decoration.
- "Please select prompt and save nodes first" - the panel won't run until you map a Prompt Node and a Save Image Node in the panel header.
- Silent prompt-injection failure - the panel rewrites the prompt node's widget by name, trying
text, thentext_g/text_l, thenprompt, and so on. If your prompt is wired in from another node instead of typed in a widget, injection fails and every shot comes out identical. It does pop an alert; watch for it. - img2img setup is on you - select a ref node for img2img mode, but the LoadImage node in the graph has to already hold the reference. The panel won't load images for you.
- Chain edits, don't expect miracles - the author warns that stacking edits more than twice causes heavy "splitting." That's structural edit-model drift: each pass re-emits the whole frame and errors compound.
It's MIT, it's bilingual (EN/中文), it's young and rough around the edges. But as a way to frame a whole shot list before you generate anything, it's genuinely nicer than hand-editing prompts in a JSON file.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| seed | INT | 00–18446744073709550000 | — |
| steps | INT | 201–10000 | — |
| cfg | FLOAT | 8.000–100 | — |
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| latent_image | LATENT | — | |
| denoise | FLOAT | 1.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |