IAMCCS_BoardMaker
Plan a cinematic shot beat-by-beat, then hand the plan to a generator
- board_json
- timeline_data
- row_count
- duration_seconds
- report
Before you generate a cinematic shot, someone has to decide the beats - where the camera starts, what each moment of the shot is doing, how one beat flows into the next. IAMCCS_BoardMaker is that planning step, made editable. Per the source it's a "planner assistant that exports Shotboard-importable board JSON without images": you describe the shot as a list of timed beats, and it turns that into structured JSON that the IAMCCS Shotboard system (and the Cine nodes) can consume.
The working data is board_data, a JSON blob the node's UI edits for you. Each row is a beat with: label, duration, local_prompt (what this beat shows), bridge (how the camera/cut carries into the next beat), camera, transition, force (the strength of the beat's visual push), and use_guide / use_prompt toggles. The default value ships with a three-beat example - opening, middle, final - so you can see the shape immediately.
Around that JSON sit the settings:
global_prompt- the overall shot description that anchors every beat (identity, camera philosophy, continuity).duration_seconds,frame_rate,image_width,image_height- the timeline and canvas contract. Default 9s at 24fps, 768x432 (a 16:9-ish workable starting canvas).default_force(0.28) - the fallbackforcefor rows that don't set their own.guide_policy- which rows contribute guide frames:every_checked_row,first_last,all, ornone.board_name- labels the board so multiple boards stay distinguishable.
Outputs: board_json (the full board for the Shotboard importer), timeline_data (the timed view of the same thing), row_count, duration_seconds, and report. Wire board_json into a Shotboard or Cine planning node and you've gone from "vague idea" to "executable shot plan" without touching a paint tool.
Why you'd reach for it: if you're the kind of person who storyboards in text - beats, camera moves, transitions - this is the cleanest path into IAMCCS's video pipeline. It's deliberately image-free (the source calls that out), which is the point: the board is a plan, and the generation side makes the pictures. If you want pictures in the board, the DialogueFoley variant and the Shotboard editor are the next steps up.
Installing: part of IAMCCS/IAMCCS-nodes. ComfyUI Manager → search "IAMCCS", or cd ComfyUI/custom_nodes && git clone https://github.com/IAMCCS/IAMCCS-nodes.git, restart. No models, no extra deps - it's a structured editor over JSON.
The trap: this node produces a plan, not frames. New users connect board_json to a sampler and wonder why no video appears. Find the Shotboard/Cine node that ingests board_json and build the chain from the author's reference workflows; standalone, the board is just a well-formatted document. Also keep row durations roughly equal - a 0.5s beat next to a 4s beat makes the generation scheduling awkward downstream, even though the node will happily accept it.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| global_prompt | STRING | One continuous cinematic shot with coherent camera movement, stable identity, physical parallax and connected visual progression. | — |
| duration_seconds | FLOAT | 9.00.1–600 | — |
| frame_rate | FLOAT | 241–120 | — |
| image_width | INT | 76864–8192 | — |
| image_height | INT | 43264–8192 | — |
| default_force | FLOAT | 0.280–1 | — |
| guide_policy | COMBO | every_checked_row | 4 options: every_checked_row, first_last, all, none |
| board_name | STRING | iamccs_boardmaker_board | — |
| board_data | STRING | { "rows": [ { "label": "box_1", "duration": 3.0, "local_prompt": "opening beat, establish the subject and camera direction", "bridge": "camera continues into the next beat through one connected movement", "camera": "slow push-in", "transition": "continuous_motion", "force": 0.28, "use_guide": true, "use_prompt": true }, { "label": "box_2", "duration": 3.0, "local_prompt": "second beat, deepen the action and maintain visual continuity", "bridge": "movement carries the viewer toward the final beat", "camera": "continuous dolly-in", "transition": "continuous_motion", "force": 0.24, "use_guide": true, "use_prompt": true }, { "label": "box_3", "duration": 3.0, "local_prompt": "final beat, arrive at the strongest visual target", "bridge": "", "camera": "macro push-in", "transition": "continuous_motion", "force": 0.32, "use_guide": true, "use_prompt": true } ] } | Edited by the IAMCCS_BoardMaker UI. JSON with rows: duration, local_prompt, bridge, camera, transition, force. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| board_json | STRING | — |
| timeline_data | STRING | — |
| row_count | INT | — |
| duration_seconds | FLOAT | — |
| report | STRING | — |