IAMCCS Shotboard Video Editor Render V1
Turn the shotboard edit manifest back into an actual video
- video
- frames
- report
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_manifestor override. - override_fps - used when
fps_modeisn'tfrom_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.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| editor_manifest_json | STRING | — | |
| audio_policy | STRING | concat_clip_audio | — |
| fps_mode | STRING | from_manifest | — |
| override_fps | STRING | 24 | — |
| tail_trim_frames_per_clip | INT | 00–12 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| frames | IMAGE | — |
| report | STRING | — |