IAMCCS Shotboard V4 Retake Source + Mask R2
The bridge that makes Shotboard retakes work with official LTX 2.3 inpaint
- cine_linx
- spatial_mask
- source_frames
- retake_mask
- source_audio
- frame_rate
- duration_frames
- guide_data
- retake_strength
- report
Here's a subtle incompatibility that will cost you an afternoon if you don't know it exists. The Shotboard V4 backend thinks about retakes in latent space - it produces a latent noise mask telling the sampler which pixels to regenerate. But the official LTX 2.3 in/outpainting workflow wants to work in pixel space: it needs the actual source pixels plus a pixel-space video mask fed into LTXVInpaintPreprocess. Two correct designs, no shared language. IAMCCS_CineShotboardV4RetakeSourceR2 is the translator between them - it materializes the V4 retake range as exactly what the LTX inpaint graph expects, without touching the V4 planner or backend.
You connect one thing - cine_linx - plus an optional spatial_mask (a MASK if you want to restrict the retake region spatially) and you get the full retake kit on the other side:
source_frames- the actual pixels of the retake range, ready forLTXVInpaintPreprocess.retake_mask- the pixel-space video mask that tells inpaint what to regenerate, which is the whole reason this node exists.source_audio- the audio for the range, so a retake can stay in sync.frame_rate,duration_frames- the timing contract the LTX graph needs.guide_data,retake_strength- continuity and strength knobs for the downstream pass.report- a STRING summarizing what the node decided, and your first stop when a retake behaves oddly.
The node is opinionated about when it runs, and it tells you in the error messages. It requires a V4 timeline in cine_linx ("cine_linx has no V4 timeline data") and an active retake ("choose Edit = Retake in Shotboard V4 before queueing"). That second one is the design working as intended: this node materializes the range the planner marked for retake, so if you haven't marked one, there's nothing to materialize. You select a retake range in the Shotboard V4 editor first, then this node turns that selection into source + mask.
Pair it with its sibling IAMCCS_CineShotboardV4RetakePromptEncodeR2 for the conditioning side, and you have the complete R2 retake path: one node materializes pixels and mask, the other encodes the retake prompt, and both feed the official LTX 2.3 inpaint graph. The "Experimental R2" category label is honest - treat this pair as the active development front of the V4 retake story rather than a frozen API.
Installation is pack-standard: search IAMCCS in ComfyUI Manager, or clone https://github.com/IAMCCS/IAMCCS-nodes.git into custom_nodes and restart. No extra models ship with it; the heavy lifting downstream (LTXVInpaintPreprocess, the LTX 2.3 model itself) is your ComfyUI + LTX setup's job. The pack's SuperNodes requirements doc is the checklist for that side: recent ComfyUI with native LTX audio-video nodes, LTX model + text encoder + video VAE + audio VAE.
The trap to expect: connecting an optional spatial_mask at a resolution that doesn't match the source frames, and getting a retake mask that's misaligned with the pixels. Keep the mask at source resolution. The other classic is queueing it cold and getting the "no V4 timeline data" error - that means your cine_linx never came from a V4 planner, so check upstream before blaming the node.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — | |
| spatial_maskopt | MASK | — |
Outputs (8)
| Name | Type | Description |
|---|---|---|
| source_frames | IMAGE | — |
| retake_mask | MASK | — |
| source_audio | AUDIO | — |
| frame_rate | FLOAT | — |
| duration_frames | INT | — |
| guide_data | GUIDE_DATA | — |
| retake_strength | FLOAT | — |
| report | STRING | — |