Nodes/IAMCCS-nodes/IAMCCS Dialogue Prompt Kit
ComfyUI Node

IAMCCS Dialogue Prompt Kit

Write the scene once — get a global prompt, per-beat prompts, and a script

By IAMCCS·Created 12 months ago·Updated 4 days ago· 117
IAMCCS Dialogue Prompt Kit
    • global_prompt
    • local_prompts
    • segment_lengths
    • dialogue_script
    • shotboard_timeline_json
    • markdown_preview
    • report
    ◄subject_identitythe same main character, stable identity►
    ◄placea grounded cinematic location►
    ◄visual_stylecinematic realism, coherent lighting, physical camera motion►
    ◄camera_languagecontrolled camera movement, readable blocking►
    ◄story_actionthe character performs one clear continuous action►
    ◄emotion_prompt►
    ◄dialogue_a►
    ◄dialogue_b►
    ◄duration_seconds8.0►
    ◄frame_rate24►
    ◄beat_count3►
    ◄local_prompt_1—►
    ◄local_prompt_2—►
    ◄local_prompt_3—►
    ◄local_prompt_4—►

    Most of the IAMCCS Cine nodes assume you're already running a Shotboard and a cine_linx state. IAMCCS Dialogue Prompt Kit is the exception that welcomes the beginner: it's a fully standalone prompt builder. You type a scene description into six plain-language boxes, set a duration and a beat count, and it hands back a structured global_prompt, a set of per-beat local_prompts, segment lengths, a dialogue script, and a timeline JSON you can feed into the rest of the Cine system. No board required.

    This is the friendliest on-ramp in the pack, which is saying something - the Cine tools are a "director's interface" layer for LTX video, and most of them expect you to already have the plumbing set up.

    How it works

    It assembles a global prompt by joining your prose fields - subject_identity, place, visual_style, camera_language, story_action, and optional emotion_prompt - with a dialogue is synchronized when present tag. Then it splits the shot into beat_count segments (1 to 8) and computes even frame lengths for each from duration_seconds × frame_rate, with the last segment absorbing the rounding remainder. The four optional local_prompt_1…4 inputs override per-beat prompts; missing beats fall back to your story_action.

    dialogue_a and dialogue_b become script lines in the A|0.0|text format the Cine audio nodes understand, and everything is also packed into shotboard_timeline_json so you can drop it into a board downstream. The markdown_preview output is a nice touch - paste it into any text viewer to read the whole plan as formatted prose instead of JSON.

    Inputs and outputs that matter

    Fill the six prose boxes honestly and they carry most of the weight; on a first run you can ignore everything else except duration_seconds, frame_rate, and beat_count. The outputs you'll actually wire:

    • global_prompt → your main conditioning prompt.
    • local_prompts + segment_lengths → per-beat prompt/segment text for PromptRelay-style local conditioning.
    • dialogue_script → into TTS or the dialogue planner.
    • shotboard_timeline_json → into Shotboard/FLF nodes when you're ready for the full system.
    • markdown_preview and report → for checking your work.

    Installing it

    It ships in IAMCCS-nodes:

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

    Restart ComfyUI, or grab it via ComfyUI Manager by searching "IAMCCS". Pack baseline: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8. No models to download - this one is pure text assembly.

    The honest take

    It's a prompt composer, not a magic box - if your story_action is vague, every beat inherits that vagueness. LTX also punishes thin prompts, so lean on visual_style and camera_language with real detail. One pleasant surprise: because it emits shotboard_timeline_json, it's a legit way to prototype a scene before committing to the full Shotboard workflow, and you can keep the two in the same graph. Start here, graduate to the board.

    CategoryIAMCCS/Cine/Prompt Helpers

    Inputs (15)

    NameTypeDefaultDescription
    subject_identitySTRINGthe same main character, stable identity—
    placeSTRINGa grounded cinematic location—
    visual_styleSTRINGcinematic realism, coherent lighting, physical camera motion—
    camera_languageSTRINGcontrolled camera movement, readable blocking—
    story_actionSTRINGthe character performs one clear continuous action—
    emotion_promptSTRING—
    dialogue_aSTRING—
    dialogue_bSTRING—
    duration_secondsFLOAT8.00.1–600—
    frame_rateFLOAT241–120—
    beat_countINT31–8—
    local_prompt_1optSTRING—
    local_prompt_2optSTRING—
    local_prompt_3optSTRING—
    local_prompt_4optSTRING—

    Outputs (7)

    NameTypeDescription
    global_promptSTRING—
    local_promptsSTRING—
    segment_lengthsSTRING—
    dialogue_scriptSTRING—
    shotboard_timeline_jsonSTRING—
    markdown_previewSTRING—
    reportSTRING—