Nodes/IAMCCS-nodes/IAMCCS Cine Prompt Composer
ComfyUI Node

IAMCCS Cine Prompt Composer

Stop hand-typing 'medium close-up, subtle handheld, low-key' every shot

By IAMCCS·Created 12 months ago·Updated 5 days ago· 117
IAMCCS Cine Prompt Composer
    • shot_prompt
    • report
    ◄framingmedium close-up►
    ◄camera_movementsubtle handheld►
    ◄lens_stylenatural 35mm lens►
    ◄lightinglow-key cinematic lighting►
    ◄subjectMara►
    ◄action_promptshe listens, then speaks softly while holding eye contact►
    ◄emotioncontrolled hurt►
    ◄location_contextinside a small kitchen at night, rain on the window►
    ◄continuity_notekeep coherent eyelines, natural acting, stable identity, cinematic room geography►
    ◄extra_prompt►

    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_prompt straight 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 framing and 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_prompt rather than expecting the camera word to do all the work.
    CategoryIAMCCS/Cine/00 Utilities

    Inputs (10)

    NameTypeDefaultDescription
    framingCOMBOmedium close-up11 options: custom, wide establishing shot, medium shot, medium close-up, close-up, extreme close-up, +5
    camera_movementCOMBOsubtle handheld10 options: custom, locked-off camera, slow push-in, slow pull-back, subtle handheld, gentle pan, +4
    lens_styleCOMBOnatural 35mm lens8 options: custom, natural 35mm lens, intimate 50mm lens, compressed telephoto portrait, wide lens with room geography, shallow depth of field, +2
    lightingCOMBOlow-key cinematic lighting9 options: custom, soft window light, warm practical lamps, noir desk lamp, moonlight through window, rainy night reflections, +3
    subjectSTRINGMara—
    action_promptSTRINGshe listens, then speaks softly while holding eye contact—
    emotionCOMBOcontrolled hurt10 options: custom, controlled hurt, calm suspicion, quiet regret, restrained fear, tender hesitation, +4
    location_contextSTRINGinside a small kitchen at night, rain on the window—
    continuity_noteSTRINGkeep coherent eyelines, natural acting, stable identity, cinematic room geography—
    extra_promptoptSTRING—

    Outputs (2)

    NameTypeDescription
    shot_promptSTRING—
    reportSTRING—