Nodes/ComfyUI-H3-Multishot/H3 Reference Video (trim for ref2va)
ComfyUI Node

H3 Reference Video (trim for ref2va)

Scene conditioning, not motion control

By jlucasmcrell·Created 21 days ago·Updated 2 days ago· 31
H3 Reference Video (trim for ref2va)
  • frames
  • audio
  • ref_frames
  • ref_audio
  • info
start_seconds0.0
seconds3.0
source_fps24

H3 Reference Video trims an existing clip down to a sane window and hands it to the H3 sampler as a video reference - the "V2V reference" lane of this pack's workflows. It's how you tell H3 "this scene, this room, this lighting, these people" by showing it an earlier moment of the same continuous take instead of describing it in prose.

Read the display name's quiet warning before you get excited: this is scene and appearance conditioning, not motion control. H3 has no pose, depth, or optical-flow path, so your subject will not copy the movement in the clip. It borrows the place and the look, not the action. The pack's README says it plainly, and the node's own info string repeats it, because people keep assuming "video reference" means "the model redoes this choreography." It doesn't.

How it works

The mechanism is one of cost control. Reference frames are subsampled to 2 fps and then ride through every sampling step - a 25-second clip is roughly 50 reference frames of permanent per-step cost. This node exists to make you pay for what you actually need. It:

  • Takes frames (the clip's frames), start_seconds, seconds, and source_fps, and slices out the window.
  • Trims the optional audio to the same window and forces it stereo (leaving it empty pairs the video with silence, which is fine when you only want the look).
  • Prints what it kept and what it will cost, and warns you if the estimate climbs past ~12 reference frames - "that is a lot of reference frames to carry on every step."

The tooltip's advice is the rule of thumb: 2-4 seconds of a representative moment carries the room and the look; more mostly buys token cost.

The inputs that matter

  • seconds (default 3) - the window length. Keep it small; this is the node's whole reason for existing.
  • start_seconds - where the window starts (0 = the clip's beginning).
  • source_fps (default 24) - used only to convert seconds to frames for the trim.

Outputs are ref_frames (wire to the sampler's reference_video), ref_audio (wire to reference_video_audio or leave it), and info - the human-readable cost report.

Installing it

Part of the ComfyUI-H3-Multishot pack:

cd ComfyUI/custom_nodes
git clone https://github.com/jlucasmcrell/ComfyUI-H3-Multishot

Or search H3 Multishot in ComfyUI Manager. Requires ComfyUI v0.30.0+. Video references require the ref2va checkpoint - fl2va has no reference rows and ignores video references entirely.

Gotchas

The big one is the expectation mismatch: if you feed H3 a clip expecting motion transfer, it will hold the room and the look while doing its own thing, and the result will feel like a miss. Second, watch the cost. The node prints its estimate precisely so you can decide; if it says you're about to carry 30+ reference frames on every step, shrink the window - the sampler doesn't amortize that cost, it pays it every single step of every shot. Keep the reference short, and remember the same rule that governs this pack's other references: identity and voice persist because the reference rows exist, so this is a ref2va feature by construction.

Categoryvideo/minimax

Inputs (5)

NameTypeDefaultDescription
framesIMAGEFrames of the clip to reference.
start_secondsFLOAT0.00–600Where the reference window starts.
secondsFLOAT3.00.5–20How much of the clip to keep. 2-4s of a representative moment carries the room and the look; more mostly buys token cost.
source_fpsFLOAT241–120Frame rate of the incoming clip, used to convert seconds to frames. Only affects the trim.
audiooptAUDIOThe clip's soundtrack. Trimmed to the same window. Leave empty and the sampler pairs the video with silence, which is fine when you only want the look.

Outputs (3)

NameTypeDescription
ref_framesIMAGEWire to the sampler's reference_video.
ref_audioAUDIOWire to reference_video_audio (or leave it).
infoSTRINGWhat was kept and what it will cost.