IAMCCS Cine Audio Prompt Director
Fold scene, action, dialogue and voice into one prompt the audio model actually obeys
- audio
- prompt
- dialogue_clause
- audio_seconds
- audio_frames
- report
Audio-guided video models are picky about prompt structure - jam scene, camera, dialogue and voice direction into one soup and the model plays favorites with whichever part you emphasized. IAMCCS_CineAudioPromptDirector (a Cine-branded subclass of the pack's LTX-2 AudioPromptDirector) is a small assembly line that takes the four parts of an audio scene separately and builds one clean prompt, plus a ready-to-use dialogue_clause.
Inputs, and they're self-explanatory: scene_prompt, action_prompt, dialogue_text, voice_direction, and speaker_label ("the character" by default). Then three knobs shape the output:
audio_role-off,dialogue_only,dialogue_plus_action(default), orambience_only. This controls whether the dialogue gets quoted into the prompt at all and whether the audio is treated as speech or as ambience/timing texture.prompt_style-cinematic(reads like a director's note),literal_ltx(explicitScene:/Action:/Audio:sections, which some LTX-2 chains follow more obediently), orcompact(just the parts, no framing).fps- used to compute frame counts from the optionalaudioinput.
Outputs: prompt (the assembled string for your text encoder), dialogue_clause (just the "Speaker says '…' with voice direction" fragment, in case you want it separately), audio_seconds / audio_frames (measured from the optional AUDIO input, 0 if none), and report.
The mechanism is the interesting part: it builds the clause like {speaker} says "{dialogue}" with {voice}, then assembles the full prompt per style, always appending a line that tells the model the voice follows the audio while the blocking/camera/cuts follow the written direction. That split - "voice from audio, motion from text" - is the core idea, and it's the right way to prompt an audio-guided model. You can also feed an AUDIO clip in and it'll report its duration, which is a nice "is my clip the length I think" freebie.
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.
The trap: audio_role: off still works and just produces a scene/action prompt - but if you do have dialogue and you leave it off, you'll wonder why the model isn't saying the words. And the difference between cinematic and literal_ltx is not cosmetic for finicky chains: if your sampler runs a stock LTX-2 workflow, literal_ltx tends to track better; if you've got a Cine/FLF setup, cinematic reads more naturally. Try both - the node exists to make that a two-click experiment instead of a rewrite.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| scene_prompt | STRING | — | |
| action_prompt | STRING | — | |
| dialogue_text | STRING | — | |
| voice_direction | STRING | — | |
| speaker_label | STRING | the character | — |
| audio_role | COMBO | dialogue_plus_action | 4 options: off, dialogue_only, dialogue_plus_action, ambience_only |
| prompt_style | COMBO | cinematic | 3 options: cinematic, literal_ltx, compact |
| fps | FLOAT | 24.000.001–240 | — |
| audioopt | AUDIO | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| dialogue_clause | STRING | — |
| audio_seconds | FLOAT | — |
| audio_frames | INT | — |
| report | STRING | — |