Pipe In Context Video v2
A two-model video context bus
- 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
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.
Inputs (33)
| Name | Type | Default | Description |
|---|---|---|---|
| base_ctxopt | pipe | β | |
| model_1opt | MODEL | β | |
| model_2opt | MODEL | β | |
| clipopt | CLIP | β | |
| vaeopt | VAE | β | |
| widthopt | INT | β | |
| heightopt | INT | β | |
| frame_rateopt | FLOAT | β | |
| frame_load_capopt | INT | β | |
| skip_first_framesopt | INT | β | |
| select_every_nthopt | INT | β | |
| images_inputopt | IMAGE | β | |
| images_ref_startopt | IMAGE | β | |
| images_ref_endopt | IMAGE | β | |
| images_outputopt | IMAGE | β | |
| audio_inputopt | AUDIO | β | |
| audio_outputopt | AUDIO | β | |
| mask_1opt | MASK | β | |
| mask_2opt | MASK | β | |
| images_pp_1opt | IMAGE | β | |
| images_pp_2opt | IMAGE | β | |
| images_pp_3opt | IMAGE | β | |
| images_pp_4opt | IMAGE | β | |
| images_pp_5opt | IMAGE | β | |
| any_1opt | * | β | |
| any_2opt | * | β | |
| any_3opt | * | β | |
| any_4opt | * | β | |
| any_5opt | * | β | |
| stepsopt | INT | β | |
| cfgopt | FLOAT | β | |
| seedopt | INT | β | |
| pathopt | STRING | β |
Outputs (33)
| Name | Type | Description |
|---|---|---|
| context | pipe | β |
| model_1 | MODEL | β |
| model_2 | MODEL | β |
| clip | CLIP | β |
| vae | VAE | β |
| width | INT | β |
| height | INT | β |
| frame_rate | FLOAT | β |
| frame_load_cap | INT | β |
| skip_first_frames | INT | β |
| select_every_nth | INT | β |
| images_input | IMAGE | β |
| images_ref_start | IMAGE | β |
| images_ref_end | IMAGE | β |
| images_output | IMAGE | β |
| audio_input | AUDIO | β |
| audio_output | AUDIO | β |
| mask_1 | MASK | β |
| mask_2 | MASK | β |
| images_pp_1 | IMAGE | β |
| images_pp_2 | IMAGE | β |
| images_pp_3 | IMAGE | β |
| images_pp_4 | IMAGE | β |
| images_pp_5 | IMAGE | β |
| any_1 | * | β |
| any_2 | * | β |
| any_3 | * | β |
| any_4 | * | β |
| any_5 | * | β |
| steps | INT | β |
| cfg | FLOAT | β |
| seed | INT | β |
| path | STRING | β |