Nodes/IAMCCS-nodes/IAMCCS_Ltx2HelperModules Finalize
ComfyUI Node

IAMCCS_Ltx2HelperModules Finalize

Turn your frames into a finished video

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
IAMCCS_Ltx2HelperModules Finalize
  • audio
  • parent_contract
  • linx
  • finalize_payload
  • contract
  • linx
  • video_path
  • report
frames_diriamccs_extension_disk/final_extended
frame_rate24.00
filename_prefixIAMCCS/Ltx2HelperModules
crf19
pix_fmtyuv420p
trim_to_audiotrue
use_planner_fpstrue
planner_payload{}

Every multi-segment LTX-2 project ends the same way: a folder full of frames and a decision about how to turn them into a file. Finalize is the end of the au_img2vid helper chain - the output node that combines a frames directory into a video at your chosen FPS, applies the CRF/pixel-format settings, trims to the audio, and muxes the soundtrack in. It's marked as an output node, so it's the thing your graph terminates in.

The nice part is that it doesn't make you re-decide everything at the end: if you've been feeding planner_payload down the chain, Finalize will happily pull the FPS and output naming from the plan instead of you retyping numbers that already drifted from what you actually generated.

How it works

It wraps the pack's IAMCCS_VideoCombineFromDir - read the frames in frames_dir in order, encode at the target frame_rate with the given crf and pix_fmt, and optionally trim + mux the audio. The smarts:

  • use_planner_fps (default true) - if a planner_payload is connected, the FPS comes from the plan, not the frame_rate widget. Your 24.0 in the widget vs 23.976 in the plan never has to be a fight again.
  • trim_to_audio (default true) - trims the rendered video to the audio duration, so a 30.7-second render doesn't ship with 0.7 seconds of silence because the plan over-ran the soundtrack.
  • filename_prefix - output path/naming; use_planner_fps-style, the goal1 preset can override the default prefix so each project type lands in its own folder.
  • crf (default 19) - x264-style quality/size knob. Lower = bigger, cleaner; for web-shareable LTX output the community typically compresses harder - the KB's long-standing guidance is CRF 30–40 for distribution, so 19 is the archival setting, not the upload setting.
  • pix_fmt - yuv420p (default, universal compatibility) or yuv444p (better chroma, larger files, pickier players).

The inputs and outputs that matter

Wire in: frames_dir (point it at your final extended frames folder - typically the extended_dir from DiskExtension or the last Continuity output), audio (optional), and planner_payload (optional but recommended). Set frame_rate, crf, and pix_fmt once. trim_to_audio and use_planner_fps default on, which is what you want.

Outputs: video_path (STRING - where the file landed), finalize_payload, contract, linx, and report.

Installing it

Ships in IAMCCS-nodes under IAMCCS/Ltx2 Helper Modules. Manager → "IAMCCS" → install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git

Restart ComfyUI. It uses ComfyUI's video-combine machinery, so no extra models; keep ComfyUI current.

Common issues

If video_path is empty or the render silently fails, check frames_dir - it must point at sequentially-numbered frame files, and pointing it at an input source directory (like the one your VAE decode wrote) instead of the extended output is the classic wiring slip. Second: trim_to_audio with no audio connected does nothing harmful (nothing to trim to), but trim_to_audio with a stale audio file can cut your video short - make sure the audio you feed is the master, not a segment slice. And if the file comes out the wrong FPS, you connected a planner_payload whose plan differs from the render - that's use_planner_fps working as designed; either update the plan or flip the toggle and set frame_rate directly.

CategoryIAMCCS/Ltx2 Helper Modules

Inputs (11)

NameTypeDefaultDescription
frames_dirSTRINGiamccs_extension_disk/final_extended
frame_rateFLOAT24.001–240
filename_prefixSTRINGIAMCCS/Ltx2HelperModules
crfINT190–51
pix_fmtCOMBOyuv420p2 options: yuv420p, yuv444p
trim_to_audioBOOLEANtrue
use_planner_fpsBOOLEANtrue
audiooptAUDIO
planner_payloadoptSTRING{}
parent_contractoptIAMCCS_SUPERNODE_CONTRACT
linxoptIAMCCS_SUPERNODE_LINX

Outputs (5)

NameTypeDescription
finalize_payloadSTRING
contractIAMCCS_SUPERNODE_CONTRACT
linxIAMCCS_SUPERNODE_LINX
video_pathSTRING
reportSTRING