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

Pipe In Context Video

The Wan workflow organizer

By r-vageΒ·Created about a year agoΒ·Updated 5 months agoΒ· 23
Pipe In Context Video
  • base_ctx
  • model
  • clip
  • vae
  • positive
  • negative
  • latent
  • images
  • images_ref
  • images_pp
  • images_mask
  • mask1
  • mask2
  • sampler
  • scheduler
  • audio
  • context
  • model
  • clip
  • vae
  • positive
  • negative
  • latent
  • images
  • images_ref
  • images_pp
  • images_mask
  • mask1
  • mask2
  • sampler
  • scheduler
  • steps
  • cfg
  • seed
  • width
  • height
  • batch_size
  • audio
  • frame_rate
  • load_cap
  • skip_first_frames
  • select_every_nth
  • text_pos
  • text_neg
  • path
β—„stepsβ€”β–Ί
β—„cfgβ€”β–Ί
β—„seedβ€”β–Ί
β—„widthβ€”β–Ί
β—„heightβ€”β–Ί
β—„batch_sizeβ€”β–Ί
β—„frame_rateβ€”β–Ί
β—„load_capβ€”β–Ί
β—„skip_first_framesβ€”β–Ί
β—„select_every_nthβ€”β–Ί
β—„text_posβ€”β–Ί
β—„text_negβ€”β–Ί
β—„pathβ€”β–Ί

Pipe In Context Video [RvTools] is a context node: nearly thirty optional inputs - model, clip, vae, conditioning, latent, images, masks, sampler, scheduler, steps, cfg, seed, frame settings, audio, text, path - collapsed into one context output, plus every individual value re-exposed as its own output. It's the rgthree Context trick, tuned specifically for Wan video pipelines.

Why you'd reach for it

Video workflows are the worst offenders when it comes to spaghetti. A Wan setup has a model, a separate text encoder, a VAE, a video, reference frames, masks, audio, frame-rate and load-cap settings, plus all your sampling knobs - and without a context node that's a dozen wires crossing the canvas. This node gathers every one of those inputs into a single context pipe. Wire the context output into another Pipe In node downstream, and all the values travel together on one line.

The other half of the design: it's a merge bus. Feed in a base_ctx from upstream and it inherits everything you don't override - so you can set defaults once, then have a later context node override just the seed or just the text. That's the rgthree pattern verbatim (the source even credits "code taken from rgthree context utils").

How it works

Every input is optional. new_context builds a dict from whatever you connected, and for any field you left empty it falls back to the base_ctx value if one exists. The output tuple then returns the context pipe plus every field as its own typed output - so you can either carry the whole bundle forward or tap out a single value (the seed, the frame_rate) where a specific node needs it.

Inputs that matter for a Wan graph: model, clip, vae, positive/negative, images (your input video), images_ref (reference for I2V), images_mask, sampler/scheduler/steps/cfg/seed, width/height/batch_size, audio, frame_rate, load_cap, skip_first_frames, select_every_nth, text_pos/text_neg, path.

Outputs: context (the pipe) plus all the above as individual typed outputs.

Install

Standard RvTools install:

  • ComfyUI Manager β†’ search "RvTools" β†’ install ComfyUI-RvTools_v2 β†’ restart.
  • Or: cd ComfyUI/custom_nodes && git clone https://github.com/r-vage/ComfyUI-RvTools_v2, then restart.

No models or downloads - it moves data, it doesn't load it. Your Wan checkpoints and the sampler come from other nodes.

Gotchas

Context nodes are a footgun if you forget that empty inputs inherit from base_ctx. Connect a base_ctx from one branch and a model from another, and every unconnected field silently takes the old branch's values - great when intended, confusing when it isn't. If your graph does something you didn't ask for, audit which context fields are actually being inherited. Also, the context output is a custom pipe format - it connects to this pack's other context nodes, not to rgthree's own Context output or to stock node inputs. And the Wan fields assume Wan conventions (81-frame defaults, load caps in multiples of 4), so don't expect them to mean anything to an LTX or Hunyuan pipeline.

Pack history once more: RvTools v1 was pulled from GitHub in early 2025, breaking saved workflows, and v2 renamed every node. The pack is deprecated in favor of ComfyUI_Eclipse, which carries this context-node design forward - if you're starting a new video graph, that's the maintained home for it.

Category🫦 RvTools II/ Pipe

Inputs (29)

NameTypeDefaultDescription
base_ctxoptpipeβ€”
modeloptMODELβ€”
clipoptCLIPβ€”
vaeoptVAEβ€”
positiveoptCONDITIONINGβ€”
negativeoptCONDITIONINGβ€”
latentoptLATENTβ€”
imagesoptIMAGEβ€”
images_refoptIMAGEβ€”
images_ppoptIMAGEβ€”
images_maskoptIMAGEβ€”
mask1optMASKβ€”
mask2optMASKβ€”
sampleropt*β€”
scheduleropt*β€”
stepsoptINTβ€”
cfgoptFLOATβ€”
seedoptINTβ€”
widthoptINTβ€”
heightoptINTβ€”
batch_sizeoptINTβ€”
audiooptAUDIOβ€”
frame_rateoptFLOATβ€”
load_capoptINTβ€”
skip_first_framesoptINTβ€”
select_every_nthoptINTβ€”
text_posoptSTRINGβ€”
text_negoptSTRINGβ€”
pathoptSTRINGβ€”

Outputs (29)

NameTypeDescription
contextpipeβ€”
modelMODELβ€”
clipCLIPβ€”
vaeVAEβ€”
positiveCONDITIONINGβ€”
negativeCONDITIONINGβ€”
latentLATENTβ€”
imagesIMAGEβ€”
images_refIMAGEβ€”
images_ppIMAGEβ€”
images_maskIMAGEβ€”
mask1MASKβ€”
mask2MASKβ€”
sampler*β€”
scheduler*β€”
stepsINTβ€”
cfgFLOATβ€”
seedINTβ€”
widthINTβ€”
heightINTβ€”
batch_sizeINTβ€”
audioAUDIOβ€”
frame_rateFLOATβ€”
load_capINTβ€”
skip_first_framesINTβ€”
select_every_nthINTβ€”
text_posSTRINGβ€”
text_negSTRINGβ€”
pathSTRINGβ€”