Nodes/Mickmumpitz-Nodes/Shot Video Output
ComfyUI Node

Shot Video Output

The little tag node that makes multi-shot video editing sane

By mickmumpitz·Created 8 months ago·Updated 9 days ago· 47
Shot Video Output
  • video
  • video
shot_number1
enabledtrue

Here's the workflow that made Mickmumpitz's long-form video builds click: you split a movie into "SHOT 1", "SHOT 2", "SHOT 3" groups, generate each as its own 81-frame clip, and then want to re-render just shot 3 without re-running shots 1 and 2. That only works if the graph knows which video is which shot. Shot Video Output is the tag that tells it.

It's a passthrough node with a job description you could miss at a glance: video in, same video out. The actual work happens in the shot_number and enabled widgets, which don't touch the pixels at all - they're read by the pack's prompt handler at submit time and used to wire your shots together.

How it works

The node is deliberately dumb - it just passes video through untouched. What matters is that it's marked as an output node, so it previews the shot, and that its shot_number gets collected by the Shot system's prompt handler. On every run, the handler scans the graph for Shot Video Outputs, sorts them by shot_number, and auto-connects each one's output to the matching hidden slot on a Shot Assembler.

The trick that makes single-shot regeneration work: because those hidden dependency slots are filled for every shot on every run - cached outputs included - the assembler always receives the complete set of videos. Re-render shot 3 and shot 4, shots 1 and 2 get pulled from cache, and you still get a full assembled video out the other end.

The inputs that matter

  • video - the VIDEO you want to tag.
  • shot_number - default 1, range 1–99. This is the playback position, so shot 1 plays first regardless of where the node sits on the canvas.
  • enabled - default true. Flip this off and the shot is dropped from the assembly without deleting the group. Handy for A/B-ing a shot or temporarily cutting it.

Output

video - the same video it got, useful mainly for previewing and for the assembler to grab.

Install

It ships in Mickmumpitz-Nodes:

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

then restart - or search "Mickmumpitz" in ComfyUI Manager. No models needed; deps are just numpy/Pillow/opencv-python.

Where people get confused

Keep shot numbers unique - if two shots share a number the handler sorts by (shot_number, node_id), so the tiebreak is essentially arbitrary and your order will surprise you. And don't expect this node to change the video; if nothing visibly happens, that's correct behavior. It's a tag and a preview. And it needs a recent ComfyUI, because the VIDEO type is the newer native video format - no video socket means no tag.

CategoryMickmumpitz/Shot

Inputs (3)

NameTypeDefaultDescription
videoVIDEO
shot_numberINT11–99
enabledoptBOOLEANtrue

Outputs (1)

NameTypeDescription
videoVIDEO