Nodes/S42 CutFlow/ℹ S42 CutFlow Clip Info
ComfyUI Node

ℹ S42 CutFlow Clip Info

The metadata readout that tells you what your clip actually is

By GeekyGhost·Created 6 months ago·Updated 4 months ago· 3
ℹ S42 CutFlow Clip Info
  • clip
  • frame_count
  • width
  • height
  • duration_seconds
  • aspect_ratio
  • info
fps24.0

Half of debugging a ComfyUI video workflow is answering the same three questions at every stage: how many frames is this, what resolution, and how long would it be at my frame rate? S42CF Clip Info answers all three (plus one) from a single wire, and it lives in the Preview category as a pure diagnostic - it changes nothing, it just tells you the truth about the data.

Feed it clip (any IMAGE batch) and fps (default 24, used for the duration math), and you get six outputs:

  • frame_count (INT) - the number of frames.
  • width / height (INT) - the resolution.
  • duration_seconds (FLOAT) - frame count ÷ fps. The useful one: set fps to your real frame rate and it's your clip's length in seconds.
  • aspect_ratio (FLOAT) - width ÷ height, so you can check at a glance whether that 1.78 is actually 16:9.
  • info (STRING) - a formatted one-line summary for a text display node or the console.

That's the entire node, and it's the right amount of node. It's the ComfyUI equivalent of a tape measure you keep on the desk.

Where it earns its keep is the "insert one at every stage and find where frames disappear" technique. Your final export is the wrong length? Drop a Clip Info after the loader, after each transform, and after the saver, and the frame_count outputs tell you exactly which node added or dropped frames. This is the standard workflow-debugging move, and it's also how you wire up automation: frame_count is a real INT output, so you can feed it into S42CF AudioTrim's target_frames or any other node that wants to know the clip length - that single connection keeps audio and video in sync no matter what you change upstream.

The one thing to remember is that fps is assumed, not measured - a video file's actual frame rate lives in its container, and an IMAGE batch has forgotten it by the time it reaches this node. Set fps to match your project or every duration-derived number downstream is wrong. If your duration_seconds looks off, that's the first place to look.

Installing it

S42-CutFlow install: ComfyUI Manager → search "S42 CutFlow" → Install → restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/GeekyGhost/S42-CutFlow.git
pip install -r S42-CutFlow/requirements.txt

One-line requirements (opencv-python-headless); the node is a few tensor .shape reads. "[S42 CutFlow] Loaded ..." on restart confirms registration.

The takeaway

Thin, boring, and exactly what you need when something upstream is lying about the footage. Wire its frame_count into your audio-trim targets and it doubles as the sync node you didn't know you needed.

CategoryS42 CutFlow/Preview

Inputs (2)

NameTypeDefaultDescription
clipIMAGEVideo clip to analyze.
fpsFLOAT24.01–120Assumed FPS for duration calculation.

Outputs (6)

NameTypeDescription
frame_countINT
widthINT
heightINT
duration_secondsFLOAT
aspect_ratioFLOAT
infoSTRING