Nodes/IAMCCS-nodes/IAMCCS Shotboard Video Editor Render V1
ComfyUI Node

IAMCCS Shotboard Video Editor Render V1

Turn the shotboard edit manifest back into an actual video

By IAMCCS·Created 11 months ago·Updated 7 days ago· 113
IAMCCS Shotboard Video Editor Render V1
    • video
    • frames
    • report
    editor_manifest_json
    audio_policyconcat_clip_audio
    fps_modefrom_manifest
    override_fps24
    tail_trim_frames_per_clip0

    IAMCCS_ShotboardVideoEditorV1 builds the edit manifest; IAMCCS_ShotboardVideoEditorRenderV1 is what actually assembles the final video from it. You feed it the editor_manifest_json produced by the editor, tell it how to handle audio and fps, and it outputs a ready VIDEO plus the raw frames batch. If the Shotboard multigen pipeline is the production line, this is the finishing station.

    It's an output node, so it runs last and shows you the assembled result in the UI - the endpoint of the whole "plan → generate takes → collect → render" flow.

    How it works

    The manifest describes the ordered clips and their audio. The renderer walks it, concatenates the video clips, and applies the audio policy you choose: concat_clip_audio (concatenate each clip's own audio), use_master_audio (drop clip audio, use a single master track), first_video_audio (take audio from the first clip), or silent. fps_mode defaults to from_manifest (trust the fps recorded in the manifest) but you can force an override_fps instead. tail_trim_frames_per_clip trims a few frames off the end of each clip - useful for cutting the little smears and transition junk that video models leave at clip boundaries.

    One detail worth knowing: the audio/fps widgets are kept as strings internally for backward compatibility with older workflow files, and the node normalizes them at runtime. So a legacy manifest with an odd audio_policy value won't crash validation - it just gets migrated to the closest valid policy (which the report will tell you about).

    Inputs and outputs

    • editor_manifest_json (required) - from ShotboardVideoEditorV1, or hand-written if you know the shape.
    • audio_policy - how to treat audio (above).
    • fps_mode - from_manifest or override.
    • override_fps - used when fps_mode isn't from_manifest (default 24).
    • tail_trim_frames_per_clip - trim off clip tails (0–12, default 0).
    • Outputs: video (VIDEO), frames (IMAGE), report.

    Installing

    ComfyUI Manager → search "IAMCCS", or

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

    Restart. This is where the pack's dependency matrix actually bites: the render path leans on ComfyUI's video-combine infrastructure, and the SuperNode requirements doc calls out VideoHelperSuite (VHS) for final video/audio combine - install it if the renderer reports missing nodes. The pack also shims an ffmpeg binary via imageio-ffmpeg on import, so if your system ffmpeg is missing, that usually covers it.

    Gotchas

    If your audio is drifting out of sync, check whether you're in concat_clip_audio with a mismatched manifest fps - the common failure is clips encoded at one fps while the manifest says another, and the renderer has to guess. Trim tail_trim_frames_per_clip to 2–4 rather than 0 when you see transition smears between takes. And if you hand-write a manifest, get the clip list exactly right: the node is a renderer, not a validator, and a malformed entry surfaces as a confusing mid-render failure rather than a friendly error.

    CategoryIAMCCS/Cine/Multigeneration

    Inputs (5)

    NameTypeDefaultDescription
    editor_manifest_jsonSTRING
    audio_policySTRINGconcat_clip_audio
    fps_modeSTRINGfrom_manifest
    override_fpsSTRING24
    tail_trim_frames_per_clipINT00–12

    Outputs (3)

    NameTypeDescription
    videoVIDEO
    framesIMAGE
    reportSTRING