Nodes/Mickmumpitz-Nodes/Get Storyboard Shot
ComfyUI Node

Get Storyboard Shot

Pull one shot out of the list instead of retyping it

By mickmumpitz·Created 10 months ago·Updated 25 days ago· 55
Get Storyboard Shot
  • storyboard_data
  • title
  • prompt
  • frames
◄shot_index1►

This is the reader end of the storyboard pattern. You've written the shot list once in Make Storyboard Data; Get Storyboard Shot reaches into that list and pulls out a single shot - its title, its prompt, its frame length - so a generation group can consume it. One of these per shot group, each pointed at a different index.

It's also a great example of why the boring nodes matter. Its whole implementation is a five-line lookup, and it's the difference between "my shot plan lives in one node" and "my shot plan is copy-pasted across my graph and half wrong".

What it does

Two inputs, both required and both obvious. storyboard_data is the STORYBOARD_DATA object from Make Storyboard Data - a custom type, so this socket only accepts that pack's data node (or, in principle, anything else that emits the same structure). shot_index is an INT with a default of 1 and a range up to 999.

Three outputs, matching how you'd actually use a shot:

  • title - STRING. The shot's label. Handy as a filename prefix on your save node, or as a text note on the canvas so you can see at a glance which shot this group is.
  • prompt - STRING. This is the one you'll wire up most: convert the text widget on your CLIP Text Encode into an input and connect this to it. The whole point is that the prompt for shot 5 is typed in exactly one place.
  • frames - INT. The per-shot length. Convert the length/duration widget on your video sampling node to an input and wire frames into it, so the shot list also owns timing.

Matching is on a 1-based index: shot_index = 1 is the first shot. The node scans the list for the entry whose index equals what you asked for and returns its three values. Duplicating this node across your graph is normal and expected - three generation groups means three of these, at indexes 1, 2, 3.

The silent fallback, and why it will bite you once

If the index you ask for isn't in the list, the node does not throw. It returns an empty string, an empty string, and 0.

That's a deliberate safety choice - a shot group for index 7 doesn't blow up your whole run when you drop shot_count to 5 for a quick test - but it's also the most confusing thing you can hit here. The symptoms are quiet: your text encoder gets nothing, so the generation drifts off-prompt or comes out generic; the length comes through as 0, so the frame count is nonsense or the sampler clamps it to something small. Nothing in the console says "shot 7 doesn't exist". If a group in your graph suddenly generates garbage while the others are fine, check its shot_index against the shot_count on the data node first. That's the bug nine times out of ten.

The 999 max on shot_index is a red herring in the same direction: the data node caps at 20 shots (MAX_SHOTS = 20 in the source), so any index past 20 is guaranteed to hit the silent fallback. Anything above the range just gives you empty outputs forever.

If you want to step through shots one at a time rather than wiring several groups, convert shot_index to an input and drive it from a primitive integer you bump by hand - one shot per queue, no index-juggling inside the graph.

Install

Same pack as the rest of the storyboard trio - one install gets you all of it.

cd ComfyUI/custom_nodes
git clone https://github.com/mickmumpitz/ComfyUI-Mickmumpitz-Nodes.git

Restart afterwards. Or in Manager: search "Mickmumpitz", Install, restart. The pack is MIT, published as "Mickmumpitz-Nodes" under publisher id mickmumpitz, version 1.5.9 with commits into late 2026, so it's maintained rather than abandoned.

Nothing to download for this node - no models, no checkpoints. The pack's requirements.txt does ask for numpy, Pillow, opencv-python and ultralytics>=8.0.0; the README says ultralytics is only really needed by the Consistent Character Creator's face-detector nodes, but it gets installed with the pack either way. This node uses none of it.

If you loaded one of the author's Patreon workflow JSONs to get here, prepare for Manager to report a pile of missing nodes from other packs. That's normal for shared workflows and not a sign this pack is broken - the community's standard line about ComfyUI installation friction exists for a reason.

CategoryMickmumpitz/Storyboard

Inputs (2)

NameTypeDefaultDescription
storyboard_dataSTORYBOARD_DATA—
shot_indexINT11–999—

Outputs (3)

NameTypeDescription
titleSTRING—
promptSTRING—
framesINT—