Nodes/IAMCCS-nodes/IAMCCS Cine Motion Sketch
ComfyUI Node

IAMCCS Cine Motion Sketch

Storyboard your camera move as strokes before you ever generate a frame

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
IAMCCS Cine Motion Sketch
  • cine_linx
  • cine_linx
  • motion_sketch_json
  • report
motion_sketch_data{ "schema": "iamccs.shotboard_v4.motion_sketch", "schema_version": 1, "frame_rate": 24.0, "control_family": "auto", "render_mode": "motion_track_control", "resize_method": "crop", "strokes": [], "view": { "selected_segment_id": "", "show_camera_path": true, "show_subject_path": true, "show_background_lock": true, "snap_to_shotboard": true } }
frame_rate24.00
control_familyauto
sync_policyshotboard_realtime

Every AI filmmaker has had the same moment: you describe "the camera pushes in as the subject turns" and the model gives you a static shot with a twitch. Motion is the thing text prompts are worst at. IAMCCS Cine Motion Sketch is this pack's attempt to make motion a drawing problem instead of a prose problem - you sketch the camera path, subject path, and background lock as strokes in a UI, and the node stores them as structured motion data synced to your shotboard's segments.

It's a Shotboard V4 planning node, so the honest framing first: this one is deeply tied to the author's motion-control pipeline (the code mentions IC-LoRA control planning and a companion "Motion Guide Bridge" that turns the sketch into IC-LoRA-style motion guide data). If you're not running that stack, this node mostly produces JSON you're not sure what to do with.

How it works

The motion_sketch_data input is the star - a JSON blob "edited by the IAMCCS CineMotionSketch UI" (per the tooltip) that stores camera, subject, object, and background-lock strokes in normalized image coordinates. You also set:

  • frame_rate (24) - the timeline's fps.
  • control_family - auto, motion_track, union_control, depth, edge, pose, hybrid. This picks the control modality the sketch is meant to drive.
  • sync_policy - shotboard_realtime (default) keeps the sketch synced to the shotboard's segment ids/start/length; metadata_only just stores it.

When it runs, it takes the optional cine_linx, normalizes the strokes against the actual shotboard segments and duration, and writes the whole thing back into the plan bus (cine_motion_sketch + cine_motion_sketch_json). Outputs: the updated cine_linx, motion_sketch_json (the normalized data), and report. It's an output node - it's meant to sit at the end of a planning branch, recording the sketch as metadata.

The inputs that matter

  • motion_sketch_data - where the strokes live; normally edited by the custom UI, but you can hand-write JSON.
  • control_family - the honest selector for what kind of control the downstream bridge should build.
  • cine_linx - connect it if you want the sketch actually synced to a shotboard plan.

Install

In IAMCCS-nodes:

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

or Manager → search IAMCCS. README floor: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8. It's part of the Shotboard V4 release (pack 1.5.0), so update if you have an older clone.

Where people get burned

  • Strokes without a consumer. The node stores motion data; unless something downstream (the Motion Guide Bridge, or an IC-LoRA path) reads motion_sketch_json, your sketch does nothing. Plan the full chain before drawing pretty paths.
  • Normalized coordinates. Strokes are stored in 0–1 normalized space, so a sketch drawn on one aspect ratio behaves differently if you change resolution. Keep aspect ratio consistent across your sketch and render.
  • It's metadata, not magic. No frame is generated here and no model is conditioned directly. If you expect the sketch alone to change output, you'll be disappointed - it's the input to a control-generation step.
  • Shotboard-only sync. shotboard_realtime needs a real cine_linx with segments. Standalone (no plan), the sketch just floats as JSON.
  • Zero search impressions, one-author tooling, and this is one of the most pipeline-specific nodes in the pack - it exists to serve the author's Shotboard V4 motion workflow, which is still maturing.
CategoryIAMCCS/Cine/Shotboard V4

Inputs (5)

NameTypeDefaultDescription
motion_sketch_dataSTRING{ "schema": "iamccs.shotboard_v4.motion_sketch", "schema_version": 1, "frame_rate": 24.0, "control_family": "auto", "render_mode": "motion_track_control", "resize_method": "crop", "strokes": [], "view": { "selected_segment_id": "", "show_camera_path": true, "show_subject_path": true, "show_background_lock": true, "snap_to_shotboard": true } }Edited by IAMCCS CineMotionSketch UI. Stores camera/subject/object/background-lock strokes in normalized image coordinates.
frame_rateFLOAT24.001–120
control_familyCOMBOauto7 options: auto, motion_track, union_control, depth, edge, pose, +1
sync_policyCOMBOshotboard_realtime2 options: shotboard_realtime, metadata_only
cine_linxoptIAMCCS_SUPERNODE_LINX

Outputs (3)

NameTypeDescription
cine_linxIAMCCS_SUPERNODE_LINX
motion_sketch_jsonSTRING
reportSTRING