🥁 LoraGeek Complex Prompt Generator - the Beatbox
Write your scene as a list of beats. One button builds the whole long, layered prompt and writes it straight into your video node, where you can read it and edit it.
Some of the best talking-video clips come from long, layered prompts: a scene line, numbered shots, a camera block, every action in order, every spoken line, the sound design. Writing that by hand each time is slow, and one mistake makes the model mumble.
The Beatbox
Each shot has one Beatbox. Write what happens in order, one beat per line. Actions and speech go in the same box, so the order is exactly what you wrote.
Speech is in "quotes", or written Mary says: ..., or Mary: ...
Everything else is an action
She sips her coffee.
She: "Ow, that's hot."
He: "Maybe blow on it."
She blows on it.
He: "Yeah, that's better."
The node writes it as First / Then / Then steps, and after every spoken line it adds "then she is quiet, lips closed" so the model knows the talking is over.
The Beatbox Camera - a field of buttons
A second panel ships with it and sits beside the generator. Click camera choices and the generator writes them into the prompt.
Look (cinematic, phone footage, documentary...), shot size, angle, placement
Camera moves (push in, pull out, pan, tilt, truck, arc, tracking, POV...) with size and speed
Focal length, aperture, depth of field, lighting
Over-the-shoulder on each speaker - every spoken line cuts behind the listener's shoulder
Click the i next to a section for a plain-English explanation of each button
Buttons marked with a star are in the official H3 prompt guide. The rest are plain descriptive English.
The right format
The prompt is written the way MiniMax H3's own guide describes: one block, [Shot N] markers, cut times like "At 00:03.500, the camera cuts to...", and speech in <d> tags with speaker IDs. Without the timestamps, later shots do not cut.
You can SEE the prompt
Press GENERATE PROMPT and the full prompt appears in your video node's own prompt box. Nothing is hidden and nothing is locked. Change one word ("left" to "right") and run.
The clip length is set for you
Talking-video models fill silence with mumbling. So the node counts the spoken words and the actions in your beats and sets the duration box on the video node to fit.
AUTO - fits the beats. MANUAL - you pick the seconds
Rough guide: 3.5 spoken words per second, half a second per action
A status line tells you what it set
What you fill in
Scene setup - where and when, written into every shot
Subjects - who is in it, one per line
Camera style - shows what the camera panel added (or type your own words)
4 Beatboxes - one per shot
Filler line - a tiny line for shots with no speech
Soundscape - real, specific sounds (feet on tile, a fan humming)
Why the filler line and the soundscape matter
A shot where nobody speaks is where H3 tends to babble. Give every shot something to say, even "Mm-hm", and give it real room sounds. Both help a lot.
Install
Download the zip and unzip it
Put the ComfyUI-ComplexPromptGenerator folder into ComfyUI/custom_nodes/
Restart ComfyUI, then hard-refresh the browser page (Ctrl+Shift+R)
No extra Python packages needed
The full step-by-step guide (GUIDE.md) is in the zip
How to use it
Double-click the canvas, type Complex Prompt Generator
The camera panel appears beside it on its own. Nothing to wire
Fill in the boxes, write your beats, click any camera buttons
Press GENERATE PROMPT
Check the prompt box on your video node, edit if you like, and run
It looks for the video node's prompt box and duration box. It works with the Image to Video (MiniMax H3) template. On another workflow it writes to the first prompt box it finds.
Good to know
It is a template, not an AI. It costs no VRAM and adds no extra model.
The detail in your beats is what makes the prompt good.
Written for MiniMax H3, but the prompt is plain text.
MIT licence. Made by LoraGeek.
Description
v1.1 - Trigger word box + whisper fix
New: a Trigger word box.
Type your LoRA's trigger word once. It goes at the very start of the prompt as plain text.
It is never read as speech. Before, a trigger typed like
TRIGGER: she...was read as a speaker, and H3 said the word out loud.It replaces the Filler line box.
Whisper fix.
Mary whispers: "come here"now writes Mary whispers: instead of Mary says:. The same works for shouts, yells, mutters and murmurs.Speech LoRAs (like whisper LoRAs) work again.
Updating
Replace the ComfyUI-ComplexPromptGenerator folder in custom_nodes, restart ComfyUI, then press Ctrl+Shift+R in the browser.
FAQ
Comments (5)
I use your 1.0 and it was good enough what is the difference?
Before if you added a trigger word it put it in the wrong spot so the characters might actually say the trigger word. This version puts it in the exact spot. Matter of fact you can use as many trigger words as you want It places them in the right location. HTH!
@LORAGEEK ohh because I do not use trigger word type loras yet, I do not even know that! Ok thx. And it was so easy to use for beginner like me so I can not say what to improve at this point haha, Great work really!!
@yaya36 Thank you!
Now I get free time after so long, I can suggest things or maybe get your insight if I miss anything but you do not have to give answer by the way, after being in this site about 1 month I saw people really agressive to creators which is idiotic to me unless you paid for it. But thx anyway!
Even I write more then 3 or 4 beats, generator tend to make it into 2 chunks and if I try to make longer chunks generation getting well "ridiculous" I do have 24gbvram and time is not a issue really, did I do something wrong?
Second issue for me how to make detailed prompt without ai try to manage everything! Is detailed describe beat better even when words getting wrong at result or should I make details as another beat?
e.g:
"-Martial artist do a high kick to target but it was so solid he felt the pain when he touch the floor with same leg" Or should I make 1 beat for each situation here?
And time to time last beat just gone... at my example let say if I add another beat: "and he grab that leg with painfull expression" and generator add it to second chunk that part just gone not in video at all?

