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

Pipe In Context Video v3

Single model, full conditioning

By r-vageΒ·Created about a year agoΒ·Updated 5 months agoΒ· 23
Pipe In Context Video v3
  • base_ctx
  • model
  • clip
  • vae
  • positive
  • negative
  • latent
  • 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
  • clip
  • vae
  • positive
  • negative
  • latent
  • 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 v3 is the single-model, fully-conditioned video context bus. Where the v2 version of this node carries two models but no prompt, v3 flips the trade: one model, and it adds positive, negative and latent so the whole text-to-video or image-to-video pipeline can live on one context wire. If your video workflow is "one checkpoint, one prompt, sample it," this is the node in the family that fits you.

The context machinery is the same rgthree-style dict used everywhere in this pack - base_ctx in, per-field overrides, unconnected fields inherit, and every value comes out both on the context pipe and as its own named output. The video loader vocabulary is also the familiar set: frame_rate, width, height, frame_load_cap, skip_first_frames, select_every_nth. The image/audio slots carry the whole clip lifecycle on the bus: images_input, images_ref_start, images_ref_end, images_output, audio_input, audio_output, mask_1, mask_2, five images_pp_* post-processing slots and five any_* catch-alls. steps, cfg, seed, path finish it off.

The addition of latent is worth calling out: with positive, negative and latent on the same context, you can carry a pre-made empty latent or a partially-denoised latent (for img2vid or inpainting-style passes) down the same wire as the conditioning, which is exactly what a multi-stage video workflow wants. And the images_ref_start / images_ref_end pair is the reference-frame mechanism - condition the clip's opening and closing frames for that locked-in loop or interpolation feel.

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. The choice between v2, v3 and v4 is genuinely a workflow question: need a second model? v2. Need prompts but only one model? v3. Need both? v4. Don't pick by "newest" - v4 is the fullest but also the busiest. v3 is the comfortable middle for standard single-model text-to-video. As ever with this pack: it's unmaintained, the README names ComfyUI_Eclipse as the successor, the context output is pipe-typed and needs a matching RvTools/rgthree-style Out node to unpack, and those dict keys don't transfer across arbitrary packs. Works fine; plan a migration if it becomes load-bearing.

Category🫦 RvTools II/ Pipe

Inputs (35)

NameTypeDefaultDescription
base_ctxoptpipeβ€”
modeloptMODELβ€”
clipoptCLIPβ€”
vaeoptVAEβ€”
positiveoptCONDITIONINGβ€”
negativeoptCONDITIONINGβ€”
latentoptLATENTβ€”
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 (35)

NameTypeDescription
contextpipeβ€”
modelMODELβ€”
clipCLIPβ€”
vaeVAEβ€”
positiveCONDITIONINGβ€”
negativeCONDITIONINGβ€”
latentLATENTβ€”
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β€”