Nodes/ComfyUI-Easy-Media/MultiTrack Project Video Combine
ComfyUI Node

MultiTrack Project Video Combine

Turn a pile of project segments into one watchable video

By yolain·Created 4 months ago·Updated a day ago· 186
MultiTrack Project Video Combine
  • project_data
  • VIDEO
  • FILENAME_PREFIX
project_name

easy multitrackProjectVideoCombine is the bookend to easy multitrackProject. The project node generates and saves each segment as its own file under output/easy_media/projects/<name>/; this node reads those saved segments, lets you preview them on a timeline, pick which version of each you want, and concatenates the lot into a single VIDEO you can hand to a save node. If the project pipeline is the engine, this is the dashboard.

Preview, select, compare, then combine

The node reads the project directory rather than decoding anything from your current graph, so you can preview saved segments without first creating a merged file - that alone saves a lot of wasted runs when a mid-timeline segment looks wrong.

  • Auto combine (default on): after a project run finishes, the node reads the current segments, concatenates them in timeline order, and outputs the merged VIDEO plus a FILENAME_PREFIX. You connect VIDEO straight into a save node and you're done.
  • Manual combine: turn auto combine off and the project still generates and saves each segment, but this node only refreshes the preview and returns no merged video. Review your clips, pick versions, wait for the queue to empty, then hit Combine in the node's UI. Only this node and its downstream run - upstream encoding and sampling are not repeated. This is the "fix one segment, don't re-render the whole thing" workflow.

The segment-selection UI also shows each clip's Shot / Context mode, which is genuinely useful when you're inspecting joins. After a project_save = new run you'll have multiple versions of a segment; you can select two for a synchronized side-by-side comparison (different seed, prompt, or sampling settings) before committing. A small gotcha: assembly always uses the primary version - the first in your selection list - not the comparison layout and not both clips.

Inputs and outputs

Only two inputs: project_name (the same string the project node output) and project_data, a PROJECT_DATA payload that comes from the React project widget in the node's frontend - you don't hand-type this; the widget manages it. Outputs are VIDEO (a VIDEO type, ready for easy saveVideo or similar) and FILENAME_PREFIX, a naming prefix for your save node.

One structural warning from the README: this node is for video projects only. Audio-only projects (editor dimensions set to 32 × 32) can't be combined here - there's no video to stitch.

Installation

Same pack as everything else in ComfyUI-Easy-Media: install FFmpeg first, then clone, then restart.

cd ComfyUI/custom_nodes
git clone https://github.com/yolain/ComfyUI-Easy-Media

ComfyUI Manager also works - search "ComfyUI-Easy-Media". No extra model downloads for this node; it's pure assembly logic over files the project node already wrote.

Troubleshooting

  • Nothing comes out and the node says nothing - auto combine is off and you haven't clicked Combine yet. That's the manual mode working as designed; it returns an ExecutionBlocker so the graph stops at this node until you commit.
  • "Connect a downstream video save output before combining manually" - you clicked Combine with no save node after this one. The node produces a temporary merged file; the save node controls the final path and filename. Use FILENAME_PREFIX if you want.
  • Picking an older version didn't fix the join - version selection changes the assembled clip, but it does not repair context that later segments already inherited from the older generation. If the new version ends with different motion or audio, regenerate the affected downstream Context segments.
  • Deleted something by accident - deleting a segment version or a whole project deletes its files and its context latents. If a later segment still depends on that context, it will fail on the next run. Make sure nothing downstream needs them before you hit delete.

It's a small node, but it's the difference between "13 loose MP4s on my disk" and "one finished video." The FILENAME_PREFIX output is the bit people miss - wire it to your save node so your combined export gets a sane name instead of a timestamp hash.

CategoryEasyUse/MultiTrackEditor

Inputs (2)

NameTypeDefaultDescription
project_nameSTRING
project_dataPROJECT_DATA

Outputs (2)

NameTypeDescription
VIDEOVIDEO
FILENAME_PREFIXSTRING