IAMCCS Cine Prompt Composer
Stop hand-typing 'medium close-up, subtle handheld, low-key' every shot
- shot_prompt
- report
IAMCCS_CinePromptComposer is a shot-prompt builder for the Cine/LTX pipeline: instead of typing "medium close-up, subtle handheld camera, natural 35mm lens, low-key cinematic lighting, controlled hurt, she listens then speaks softly" by hand for every shot, you pick each element from a dropdown and the node assembles a coherent shot_prompt string. Same text you'd have written, but structured so the filmmaking vocabulary stays consistent shot after shot - which is exactly what LTX-2 wants, because the model rewards long, specific prompts and punishes vague ones.
This is the "director of one" workflow distilled to a form: framing, camera movement, lens, lighting, subject, action, emotion, location, and a continuity note. It's a text-composition utility - no sampling, no models - that sits at the front of a Cine graph feeding your text encoder and then the sampler.
How it works
It's a dropdown-driven composer (it extends the pack's LTX-2 cinematic prompt composer, so this is the shared shot-vocabulary engine for the Cine family). You select framing (11 options from "wide establishing shot" to "insert detail"), camera_movement (10 options), lens_style (8 options), lighting (9 options), and emotion (10 options). The free-text fields - subject (e.g. "Mara"), action_prompt, location_context, and continuity_note - carry the per-shot specifics. Every dropdown also includes custom, so the vocabulary never boxes you out; pick custom and type what you need into the adjacent free-text field.
It then composes all of it into one ordered shot_prompt string, tuned for the Cine/LTX-2 text encoder. The continuity_note default ("keep coherent eyelines, natural acting, stable identity, cinematic room geography") is the sort of thing that measurably helps LTX-2 keep a scene feeling like one scene instead of a montage.
Inputs and outputs
Inputs: framing, camera_movement, lens_style, lighting, subject, action_prompt, emotion, location_context, continuity_note, plus optional extra_prompt for anything the dropdowns can't express. Outputs: shot_prompt (the assembled string - wire this into a text encoder) and report.
Installing it
Part of the IAMCCS-nodes pack. ComfyUI Manager → search IAMCCS, or:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Restart ComfyUI; it's under IAMCCS/Cine/00 Utilities. No pip requirements, no model files - pure text assembly. README floor: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8.
Where people get burned
- It outputs a string, not conditioning. New users wire
shot_promptstraight into a KSampler and get a type error - it has to go through a CLIP text encoder first (or the Cine stage that encodes it for you). - It doesn't set the shot. The composer writes the prompt; the reference board and FLF engine set the frames. If you change
framingand see zero change in output, check that the conditioning you're editing is actually the one reaching the sampler - a stale wire upstream is the usual culprit. - The dropdowns are opinionated film vocabulary, not magic. "Tracking forward" in the prompt still depends on the model actually delivering motion; for LTX-2, pair it with a decent
action_promptrather than expecting the camera word to do all the work.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| framing | COMBO | medium close-up | 11 options: custom, wide establishing shot, medium shot, medium close-up, close-up, extreme close-up, +5 |
| camera_movement | COMBO | subtle handheld | 10 options: custom, locked-off camera, slow push-in, slow pull-back, subtle handheld, gentle pan, +4 |
| lens_style | COMBO | natural 35mm lens | 8 options: custom, natural 35mm lens, intimate 50mm lens, compressed telephoto portrait, wide lens with room geography, shallow depth of field, +2 |
| lighting | COMBO | low-key cinematic lighting | 9 options: custom, soft window light, warm practical lamps, noir desk lamp, moonlight through window, rainy night reflections, +3 |
| subject | STRING | Mara | — |
| action_prompt | STRING | she listens, then speaks softly while holding eye contact | — |
| emotion | COMBO | controlled hurt | 10 options: custom, controlled hurt, calm suspicion, quiet regret, restrained fear, tender hesitation, +4 |
| location_context | STRING | inside a small kitchen at night, rain on the window | — |
| continuity_note | STRING | keep coherent eyelines, natural acting, stable identity, cinematic room geography | — |
| extra_promptopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| shot_prompt | STRING | — |
| report | STRING | — |