Nodes/ComfyUI-RvTools_v2/Pipe In Context Video v2
ComfyUI Node

Pipe In Context Video v2

A two-model video context bus

By r-vageΒ·Created about a year agoΒ·Updated 5 months agoΒ· 23
Pipe In Context Video v2
  • base_ctx
  • model_1
  • model_2
  • clip
  • vae
  • images_input
  • images_ref_start
  • images_ref_end
  • images_output
  • audio_input
  • audio_output
  • mask_1
  • mask_2
  • images_pp_1
  • images_pp_2
  • images_pp_3
  • images_pp_4
  • images_pp_5
  • any_1
  • any_2
  • any_3
  • any_4
  • any_5
  • context
  • model_1
  • model_2
  • clip
  • vae
  • width
  • height
  • frame_rate
  • frame_load_cap
  • skip_first_frames
  • select_every_nth
  • images_input
  • images_ref_start
  • images_ref_end
  • images_output
  • audio_input
  • audio_output
  • mask_1
  • mask_2
  • images_pp_1
  • images_pp_2
  • images_pp_3
  • images_pp_4
  • images_pp_5
  • any_1
  • any_2
  • any_3
  • any_4
  • any_5
  • steps
  • cfg
  • seed
  • path
β—„widthβ€”β–Ί
β—„heightβ€”β–Ί
β—„frame_rateβ€”β–Ί
β—„frame_load_capβ€”β–Ί
β—„skip_first_framesβ€”β–Ί
β—„select_every_nthβ€”β–Ί
β—„stepsβ€”β–Ί
β—„cfgβ€”β–Ί
β—„seedβ€”β–Ί
β—„pathβ€”β–Ί

Pipe In Context Video v2 is a video-generation context bus with a twist that tells you exactly what kind of workflow it was built for: it carries two models. The inputs model_1 and model_2 - plus clip and vae - mean this node is designed for pipelines that run two video models, typically a "first pass, cheap" model and a "second pass, better" model, or two model variants you want to A/B inside one run. If you only need one model, this node is arguably more than you need - the single-model sibling is the one to grab.

Like every node in the context family, it's an rgthree-style dict: optional base_ctx in, every connected field overrides, unconnected fields inherit, and everything comes out both on the context wire and as its own output. The video vocabulary is the familiar Wan/VideoHelperSuite set - frame_rate, width, height, frame_load_cap, skip_first_frames, select_every_nth - plus the image slots that make the two-model pattern work: images_input, images_ref_start, images_ref_end (reference frames to condition the start and end of the clip) and images_output for the finished frames. audio_input / audio_output cover audio-conditioned video, mask_1/mask_2 handle masking, and there are five images_pp_1…images_pp_5 post-processing image slots plus five any_1…any_5 catch-alls so the context can carry odds and ends. steps, cfg, seed and path round out the settings.

Note what's not here: no positive/negative conditioning and no latent. This is a "moving frames and models" bus, not a "prompt and sample" bus - the v3 and v4 versions of this node add the conditioning side if you need it.

Install. ComfyUI Manager β†’ search "RvTools" β†’ install ComfyUI-RvTools_v2 and restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI-RvTools_v2
# restart ComfyUI afterwards

No models or keys. Manual clones: pip install -r requirements.txt (opencv-python, pynvml, piexif, Pillow, pilgram).

The catches. Two-model is a feature, but it's also a commitment: if your workflow only ever loads one checkpoint, model_2 just sits empty and this node's extra slot count is pure canvas clutter - prefer the single-model Pipe In Context Video v3 (or v4 if you also want conditioning). And remember the family caveats: the context output is pipe-typed and unpacks with a matching RvTools/rgthree-style Out node, dict keys are pack-specific, and the pack itself is unmaintained with ComfyUI_Eclipse as the README-designated successor. This one works fine today; just know you're on legacy plumbing when you inherit a workflow built around it.

Category🫦 RvTools II/ Pipe

Inputs (33)

NameTypeDefaultDescription
base_ctxoptpipeβ€”
model_1optMODELβ€”
model_2optMODELβ€”
clipoptCLIPβ€”
vaeoptVAEβ€”
widthoptINTβ€”
heightoptINTβ€”
frame_rateoptFLOATβ€”
frame_load_capoptINTβ€”
skip_first_framesoptINTβ€”
select_every_nthoptINTβ€”
images_inputoptIMAGEβ€”
images_ref_startoptIMAGEβ€”
images_ref_endoptIMAGEβ€”
images_outputoptIMAGEβ€”
audio_inputoptAUDIOβ€”
audio_outputoptAUDIOβ€”
mask_1optMASKβ€”
mask_2optMASKβ€”
images_pp_1optIMAGEβ€”
images_pp_2optIMAGEβ€”
images_pp_3optIMAGEβ€”
images_pp_4optIMAGEβ€”
images_pp_5optIMAGEβ€”
any_1opt*β€”
any_2opt*β€”
any_3opt*β€”
any_4opt*β€”
any_5opt*β€”
stepsoptINTβ€”
cfgoptFLOATβ€”
seedoptINTβ€”
pathoptSTRINGβ€”

Outputs (33)

NameTypeDescription
contextpipeβ€”
model_1MODELβ€”
model_2MODELβ€”
clipCLIPβ€”
vaeVAEβ€”
widthINTβ€”
heightINTβ€”
frame_rateFLOATβ€”
frame_load_capINTβ€”
skip_first_framesINTβ€”
select_every_nthINTβ€”
images_inputIMAGEβ€”
images_ref_startIMAGEβ€”
images_ref_endIMAGEβ€”
images_outputIMAGEβ€”
audio_inputAUDIOβ€”
audio_outputAUDIOβ€”
mask_1MASKβ€”
mask_2MASKβ€”
images_pp_1IMAGEβ€”
images_pp_2IMAGEβ€”
images_pp_3IMAGEβ€”
images_pp_4IMAGEβ€”
images_pp_5IMAGEβ€”
any_1*β€”
any_2*β€”
any_3*β€”
any_4*β€”
any_5*β€”
stepsINTβ€”
cfgFLOATβ€”
seedINTβ€”
pathSTRINGβ€”