Nox Prompt Action Director
Storyboard beats, not just verbs
- action_prompt
- action_summary
- director_notes
- preset_status
Prompting action is harder than it looks. "Explosion, running, cool pose" gives you a still, and a still is not an action beat. Nox Prompt Action Director is the pack's answer: a node that turns one primary action into a choreographed prompt fragment with tempo, secondary action, props, camera language, and sound design - then also hands you a plain-language summary and director's notes so you can review what it actually wrote before it ever hits the sampler.
It's aimed at the same job as the rest of the pack: assemble a prompt in structured blocks rather than a token soup, which is what sentence-based (LLM-encoded) models like Wan 2.2 actually respond to. You pick primary_action (Heroic Sprint by default), optionally layer secondary_action, tempo, and interaction_mode, and the node handles the rest.
How it works
Standard Nox Prompter machinery. primary_action, secondary_action, tempo, and interaction_mode resolve against curated dictionaries in constants.py (ACTION_PRIMARY_OPTIONS, ACTION_TEMPO_OPTIONS, …), each entry carrying prompt text plus a summary. Everything else is free-text: props, environment_beat, intensity_descriptor, camera_language, sound_design, dialogue_hook, emotional_anchor, risk_notes, beat_emphasis. Each of the four dropdowns also has a Custom Input option that unlocks a matching *_custom field and a *_notes field.
The three outputs are the selling point. action_prompt is the text you actually encode. action_summary is a readable description of what the action beat is - wire it into a text viewer or use it to sanity-check before rendering. director_notes collects the technical and risk guidance, which is handy if you're producing for someone who wants to know why the beat reads the way it does.
Inputs and outputs that matter
The only required input is primary_action. For a beginner, set primary_action, then tempo and secondary_action if the scene has a second beat, and leave the rest alone - the defaults are fine and the free-text fields are there when a preset combo doesn't fit. Outputs are action_prompt, action_summary, director_notes, and the usual preset_status.
Installing it
Same as every node in the pack - one install covers all sixteen. ComfyUI Manager: search "Nox Prompter", install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/jamesk9526/NoxPrompter-ComfyUI-CustomNode
Restart and find the NoxPrompter category. No dependencies beyond Python's stdlib, no model downloads.
Gotchas
The README's old ComfyNoxPrompter clone URL is stale - use the one above. And a tip rather than a gotcha: this node pairs with Nox Prompt Builder or Pipeline Combiner, which both accept an action prompt string and will slot it into the assembled master prompt. Standalone it's a string generator, which is fine, but it earns its keep wired into the pipeline. One honest caveat: tempo and intensity_descriptor are vocabulary-driven, so on models that ignore sentence emphasis they read as flavor text - if your checkpoint doesn't do kinetics, keep the action prompt lean and let the motion come from a motion LoRA or the sampler settings.
Inputs (23)
| Name | Type | Default | Description |
|---|---|---|---|
| primary_action | COMBO | Heroic Sprint | 44 options: None, Heroic Sprint, Focused Jog, Casual Walk, Power Stride, Parade March, +38 |
| secondary_actionopt | COMBO | None | 21 options: None, Evasive Sidestep, Counter Strike, Guard Break, Precision Aim, Scan Sweep, +15 |
| tempoopt | COMBO | Rising Momentum | 14 options: None, Slow And Steady, Erotic Pulse, Erotic Flow, Slow Burn, Rising Momentum, +8 |
| interaction_modeopt | COMBO | Solo Focus | 13 options: None, Flirty Bounce, Solo Focus, Duo Synchrony, Squad Coordination, Crowd Navigation, +7 |
| propsopt | STRING | — | |
| environment_beatopt | STRING | — | |
| intensity_descriptoropt | STRING | — | |
| camera_languageopt | STRING | — | |
| sound_designopt | STRING | — | |
| dialogue_hookopt | STRING | — | |
| emotional_anchoropt | STRING | — | |
| risk_notesopt | STRING | — | |
| beat_emphasisopt | STRING | — | |
| primary_action_customopt | STRING | — | |
| secondary_action_customopt | STRING | — | |
| tempo_customopt | STRING | — | |
| interaction_mode_customopt | STRING | — | |
| primary_notesopt | STRING | — | |
| secondary_notesopt | STRING | — | |
| tempo_notesopt | STRING | — | |
| interaction_notesopt | STRING | — | |
| preset_actionopt | COMBO | none | 4 options: none, save, load, list |
| preset_nameopt | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| action_prompt | STRING | — |
| action_summary | STRING | — |
| director_notes | STRING | — |
| preset_status | STRING | — |