ComfyUI Node

IO_ShotCreate

Build one shot of a storyboard — scale, camera move, transition, image

By cardenluo·Created 2 years ago·Updated 22 days ago· 309
IO_ShotCreate
  • shot
  • shot
shot_duration5
shot_title待输入……
shot_scaleNone
camera_movementNone
transition_effectNone
scene_description
image

Most ComfyUI workflows think in single images or single clips. IO_ShotCreate thinks in shots - the film-editing unit - and it's built for people planning a multi-shot AI video sequence rather than a one-off generation. Each instance of this node defines one shot: how long it runs, what kind of framing it is, how the camera moves, how it transitions to the next one, a description, and a reference image.

How it works

The dropdowns read like an actual shot list, because that's what they're modeling: shot_scale covers standard cinematography framing sizes (medium, close-up, full, long, extreme close-up, and more - ten options including "none"), camera_movement covers real camera-move vocabulary (fixed, push/dolly in, pull/dolly out, pan, track, follow, crane, rotate, aerial, and combinations - seventeen options), and transition_effect covers how this shot hands off to the next (hard cut, fade, dissolve, zoom in/out, wipe, blinds, and over a dozen more stylized transitions). shot_duration (1–600, default 5) is presumably in seconds. scene_description is a free-text field for whatever you want to record about the shot, and image is a reference picture pulled from ComfyUI's input directory.

The part that makes this a storyboard tool rather than just a metadata form: the optional shot input takes another SHOTINFO object, so you chain multiple IO_ShotCreate nodes together - each one wraps the previous shot plus its own - and the final chain feeds into this pack's IO_LoadShotBatch, which displays the whole sequence as a scrollable storyboard you can step through by index.

Inputs and outputs

  • shot_duration, shot_title, scene_description - the basics.
  • shot_scale, camera_movement, transition_effect - the cinematography dropdowns.
  • image - the reference image for this shot.
  • shot (optional) - chain in a previous shot to build up the sequence.

One output: shot (SHOTINFO) - a custom type specific to this pack, meaningless to anything outside it. It only connects to other Apt_Preset nodes that understand SHOTINFO, chiefly IO_LoadShotBatch (or the next IO_ShotCreate in the chain).

How to install it

ComfyUI Manager → search ComfyUI-Apt_Preset, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git

then run install.bat for dependencies (Windows-only - on Linux/macOS run its pip install lines by hand) and restart ComfyUI.

Common issues & troubleshooting

One IO_ShotCreate node is one shot - it does nothing on its own. The output type (SHOTINFO) doesn't connect to anything except this pack's own shot-handling nodes. If your goal is a storyboard, you need a chain of these feeding IO_LoadShotBatch, not a single instance sitting in isolation.

The dropdown options are in Chinese. The README is bilingual but several of the enums in this node - shot scale, camera movement, transition effect - ship with Chinese-language labels. If you don't read Chinese, it's worth cross-checking a couple of entries against the README's screenshots or asking in the pack's issue tracker for an English mapping, since the concepts themselves (dolly in, pan, hard cut, dissolve) are standard film terms once translated.

IMPORT FAILED on startup. This pack has at least one reported import failure in the wild on a stock install, generally traced to skipping install.bat's dependency step, which has to be run by hand off Windows. Check the console for the specific missing package before reinstalling.

CategoryApt_Preset/IO_Port

Inputs (8)

NameTypeDefaultDescription
shot_durationINT51–600
shot_titleSTRING待输入……
shot_scaleCOMBONone10 options: None, 中景, 近景, 全景, 远景, 特写, +4
camera_movementCOMBONone17 options: None, 固定, 推镜头, 拉镜头, 摇镜头, 移镜头, +11
transition_effectCOMBONone26 options: None, 硬切, 淡入淡出, 叠化, zoom in, zoom out, +20
scene_descriptionSTRING
imageCOMBO1 options: example.png
shotoptSHOTINFO

Outputs (1)

NameTypeDescription
shotSHOTINFO