LC AV Pipe (in/edit) π¬
Pack or patch the AV pipe that carries your whole video job
- pipe
- av_pipe
- video
- audio
- av_pipe
Every AV workflow in this pack funnels through one thing: the LC_AV_PIPE, a single wire that carries your video frames, audio, fps, duration, resolution, and generation metadata together. LC AV Pipe (in/edit) is where that pipe gets born and where it gets patched - it's both the pack's "in" node and its editor, the one node with slots for everything the pipe can hold.
It works the way the best pipe nodes do: as a many-input, one-output packer. Wire up whatever you have - frames into video, a track into audio, numbers into frame_rate, width, height - and out comes a single av_pipe you can drag across the graph as one tidy wire. Leave a socket empty and its value simply isn't set; nothing forces you to fill every slot. That's the whole philosophy of the context/pipe pattern the plumbing-layer docs describe: bundle a dozen values into one wire to keep the graph readable, at the cost of hiding what's inside.
How it works
Read the sockets top to bottom and it's a story: first an optional pipe socket that accepts an image-pack LC_PIPE (it copies prompts, seed, steps and size only - and never writes back to it), then an optional av_pipe socket for editing an existing AV pipe inline, then the individual video/audio slots.
The edit semantics matter and they're simple: wired values override; empty slots pass through. If you feed an existing av_pipe in and only connect a new audio, you get the same pipe back with just the audio swapped. Leave av_pipe unwired entirely and the node acts as a pure packer ("in") from the individual sockets. Downstream, the values live on the pipe until an LC AV Pipe Out unpacks them or an LC Create Video / LC Save Video reads them directly.
The inputs that matter
pipe- optionalLC_PIPEfrom the image pack, for carrying prompts/seed/steps/size across packs.av_pipe- an existing pipe to edit inline.video,audio,frame_rate,duration,sample_rate,width,height,frame_count- the AV content slots. Wire what you have.positive_prompt,negative_prompt,seed,total_steps,sampler_name,models- metadata slots that ride along for save/watermark purposes.
One output: the assembled av_pipe.
How to install it
Ships in lonecatone23/ComfyUI_LC_AV_nodes (LC Audio_Video toolkit, MIT, by lonecatone23; sibling to the image-side ComfyUI_LC123_nodes - separate repos, do not merge):
- ComfyUI Manager: search "LC Audio_Video" or
ComfyUI_LC_AV_nodes. - Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/lonecatone23/ComfyUI_LC_AV_nodes, restart ComfyUI (console:[LC AV] total 16 nodes).
No downloads or extra packages.
Where it bites
The pipe's hidden-contents failure mode is real (the plumbing docs call it "stale context"): because one wire carries everything, it's easy to unpack a value that was set before a node upstream changed it. When something looks wrong downstream, trace where each slot was last written rather than assuming the pipe is current. And remember the rule of the family: video belongs on the AV pipe, not an LC_PIPE - if you're tempted to jam frames into the image pack's pipe, that's the misunderstanding this whole dual-pipe design exists to prevent.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| pipeopt | LC_PIPE | LC123 LC_PIPE. Copies prompts/seed/steps/size only. Never written back. | |
| av_pipeopt | LC_AV_PIPE | Existing LC_AV_PIPE to edit inline. Unwired = pack from sockets (in). | |
| videoopt | IMAGE | Video | |
| audioopt | AUDIO | Audio | |
| frame_rateopt | FLOAT | 0.000β100000 | frame_rate |
| durationopt | FLOAT | 0.000β100000 | duration |
| sample_rateopt | INT | 0-1β18446744073709550000 | sample_rate |
| widthopt | INT | 0-1β18446744073709550000 | Width |
| heightopt | INT | 0-1β18446744073709550000 | Height |
| frame_countopt | INT | 0-1β18446744073709550000 | frame_count |
| positive_promptopt | STRING | Positive prompt | |
| negative_promptopt | STRING | Negative prompt | |
| seedopt | INT | 0-1β18446744073709550000 | Seed |
| total_stepsopt | INT | 0-1β18446744073709550000 | total_steps |
| sampler_nameopt | STRING | sampler_name | |
| modelsopt | STRING | Models |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| av_pipe | LC_AV_PIPE | β |