Nodes/ComfyUI-RvTools_v2/Pipe In Context vGEN
ComfyUI Node

Pipe In Context vGEN

The video-gen context bus, first cut

By r-vageΒ·Created about a year agoΒ·Updated 5 months agoΒ· 23
Pipe In Context vGEN
  • base_ctx
  • model
  • clip
  • vae
  • positive
  • negative
  • latent
  • images
  • image_ref
  • mask1
  • mask2
  • audio
  • sampler
  • scheduler
  • context
  • model
  • clip
  • vae
  • positive
  • negative
  • latent
  • images
  • image_ref
  • mask1
  • mask2
  • audio
  • sampler
  • scheduler
  • steps
  • cfg
  • seed
  • frame_rate
  • width
  • height
  • load_cap
  • batch_size
  • skip_first_frames
  • select_every_nth
  • img_in_prev
  • imgs_in_filter_prev
  • prev_crop_pos
  • prev_crop_interpol
  • scale_by
  • images_per_batch
  • path
β—„stepsβ€”β–Ί
β—„cfgβ€”β–Ί
β—„seedβ€”β–Ί
β—„frame_rateβ€”β–Ί
β—„widthβ€”β–Ί
β—„heightβ€”β–Ί
β—„load_capβ€”β–Ί
β—„batch_sizeβ€”β–Ί
β—„skip_first_framesβ€”β–Ί
β—„select_every_nthβ€”β–Ί
β—„img_in_prevβ€”β–Ί
β—„img_in_filter_prevβ€”β–Ί
β—„prev_crop_posβ–Ύβ–Ί
β—„prev_crop_interpolβ–Ύβ–Ί
β—„scale_byβ€”β–Ί
β—„images_per_batchβ€”β–Ί
β—„pathβ€”β–Ί

Pipe In Context vGEN is the original video-generation member of the RvTools context bus: a single node that bundles a video workflow's model, clip, vae, positive/negative, latent, input and reference images, masks, audio, sampler, scheduler, and the whole video settings block into one context wire - while also outputting every one of those values individually. "vGEN" is the author's shorthand for video generation, and this is the node his video templates build around.

Mechanically it's the same rgthree-style context dict as the rest of the family (the code credits rgthree's context utils): feed it an optional base_ctx, connect whatever you want to override, and unconnected fields inherit from the base. The context output plus every individual output come out together, so you can either keep everything on the fat pipe or grab one field directly.

What makes it video-specific is the settings block, which is pure Wan/video-loader vocabulary: frame_rate, width, height, load_cap (load at most N frames), skip_first_frames, select_every_nth (frame thinning), and images_per_batch for batching frames. Then there's the previous-frame conditioning group: img_in_prev (how many previous frames to feed in for temporal conditioning), img_in_filter_prev (how many of those to filter), and prev_crop_pos / prev_crop_interpol - enums for where to crop the previous frame (center/top/bottom/left/right) and which resampling to use (lanczos, nearest, bilinear, bicubic, area, nearest-exact). If you've built image-to-video with a reference frame, you'll recognize the shape: the "prev" machinery is how a video model keeps coherence with what came before. scale_by scales the input, path points at the folder, and audio rides along for audio-conditioned video.

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. vGEN is the first cut of this idea - there's a v2 that fixes real gaps (see below), so for new work prefer Pipe In Context vGEN v2, which adds ControlNet image slots and text prompts. This v1 is functional, not wrong; it's just the thinner version. The pack is also unmaintained with ComfyUI_Eclipse as the README's successor. And the usual context caveat: the context output is typed pipe and is meant to be unpacked by a matching RvTools (or rgthree-style) Context-Out node - if your downstream expects different dict keys, fields quietly don't transfer. If the node's frame-loading params look familiar, they should: they mirror the VideoHelperSuite-style loading knobs used across the pack's video workflows.

Category🫦 RvTools II/ Pipe

Inputs (31)

NameTypeDefaultDescription
base_ctxoptpipeβ€”
modeloptMODELβ€”
clipoptCLIPβ€”
vaeoptVAEβ€”
positiveoptCONDITIONINGβ€”
negativeoptCONDITIONINGβ€”
latentoptLATENTβ€”
imagesoptIMAGEβ€”
image_refoptIMAGEβ€”
mask1optMASKβ€”
mask2optMASKβ€”
audiooptAUDIOβ€”
sampleropt*β€”
scheduleropt*β€”
stepsoptINTβ€”
cfgoptFLOATβ€”
seedoptINTβ€”
frame_rateoptFLOATβ€”
widthoptINTβ€”
heightoptINTβ€”
load_capoptINTβ€”
batch_sizeoptINTβ€”
skip_first_framesoptINTβ€”
select_every_nthoptINTβ€”
img_in_prevoptINTβ€”
img_in_filter_prevoptINTβ€”
prev_crop_posoptCOMBO5 options: center, top, bottom, left, right
prev_crop_interpoloptCOMBO6 options: lanczos, nearest, bilinear, bicubic, area, nearest-exact
scale_byoptFLOATβ€”
images_per_batchoptINTβ€”
pathoptSTRINGβ€”

Outputs (31)

NameTypeDescription
contextpipeβ€”
modelMODELβ€”
clipCLIPβ€”
vaeVAEβ€”
positiveCONDITIONINGβ€”
negativeCONDITIONINGβ€”
latentLATENTβ€”
imagesIMAGEβ€”
image_refIMAGEβ€”
mask1MASKβ€”
mask2MASKβ€”
audioAUDIOβ€”
sampler*β€”
scheduler*β€”
stepsINTβ€”
cfgFLOATβ€”
seedINTβ€”
frame_rateFLOATβ€”
widthINTβ€”
heightINTβ€”
load_capINTβ€”
batch_sizeINTβ€”
skip_first_framesINTβ€”
select_every_nthINTβ€”
img_in_prevINTβ€”
imgs_in_filter_prevINTβ€”
prev_crop_poscenter,top,bottom,left,rightβ€”
prev_crop_interpollanczos,nearest,bilinear,bicubic,area,nearest-exactβ€”
scale_byFLOATβ€”
images_per_batchINTβ€”
pathSTRINGβ€”