H3 T2V Enhancer
Turn 'magic cat' into a proper MiniMax H3 prompt
- improved_prompt
Type a one-liner into H3's text-to-video model and you get a video that half-ignores you. H3 wants prompts written as a structured timeline - integrated_multimodal_description with shot numbers and cut times, an overall_soundscape paragraph, a non_diegetic_music line - and remembering that format every time is exhausting. H3 T2V Enhancer is a node from Connor Pietrasik's tiny prompt-rewriter pack that hands your rough idea to a local LLM and gets back a fully formatted H3 T2V prompt. No API key, no models to download, no copy-paste between windows.
This is the text-only half of the pack. Its sibling, H3 Ref2V Enhancer, does the same job for reference-image workflows; this one is purely text in, text out. If you're new to H3 prompting, this node is basically a cheat sheet you can talk to.
How it works
It's one HTTP call, dressed up as a node. The node builds a system prompt - "You are an expert AI video prompting assistant" followed by the full official H3 text-to-video (T2VA) writing guide: how to structure shots, the camera-motion vocabulary (Push In with small amplitude at slow speed), speaker IDs like (S1) with <d>[English] ...</d> dialogue blocks, and the rule that you never say "the left" when you can say "screen left." Your initial_prompt goes in as the user message, the response is read off the choices[0].message.content field, and that's your improved_prompt.
Because it's plain OpenAI-style chat-completions, the LLM behind it can be any model with a /v1/chat/completions endpoint. The README recommends llama-server on its default port 8080, which is exactly what the llm_url input points at. Ollama works too if you change the URL. No vision required here - this node never sees an image.
Inputs and output that matter
initial_prompt(required) - your rough idea. The default(3 second video) A magic cat shooting lightning at skeletonsis a working example, and honestly a fun way to test that your LLM is up before you write something real. Note the duration in the prompt; the guide needs it to time the cuts.llm_url- the chat-completions endpoint. Defaulthttp://localhost:8080/v1/chat/completions. Change it if your server lives elsewhere.extra_start_note/extra_end_note- one-liners injected into the system prompt so you can add rules per workflow without editing anything: "keep all dialogue in the original language," "no non-diegetic music," whatever. The node tidies trailing punctuation for you.
Everything exits as a single improved_prompt string - wire that into whatever node runs H3 in your graph.
Installing it
Straightforward, and the pack's README is refreshingly short about it. In ComfyUI-Manager, search "ComfyUI-Prompt-Rewriters" (the pack's display name in the registry is "Cpzombie's Prompt Rewriter - for MiniMax H3"), or clone it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/ConnorPietrasik/ComfyUI-Prompt-Rewriters
Then restart ComfyUI. There's no requirements.txt - it relies on urllib3, torch, and PIL, all already in ComfyUI - so nothing heavy downloads. The one thing it can't install for you is the LLM server. Get llama-server (or Ollama) running first; this node is just the client.
Where people get burned
- The LLM server isn't there. The default URL points at llama-server on port 8080. Nothing running, wrong port, Ollama on 11434 with the default still set - that's the classic "node does nothing" moment. It'll sit there for up to 600 seconds before failing, so check the URL first.
- Quality rides on your model. The embedded guide is enormous, and a small model that struggles with instruction-following will return chatty prose instead of a structured prompt. The right tool is a small, obedient model, not a big reasoning one - a reasoner leaks its thinking into your prompt, which is the last thing you want feeding an encoder.
- Output is text, not video.
improved_prompthas to reach your H3 node. It's easy to run the enhancer, admire the output, and forget it's meant to be wired downstream. - License footnote, not a node problem. H3's open weights are territory-restricted (no US, EU, UK, or South Korea) under the MiniMax H3 Community License. This node only rewrites prompts, so it's neutral - but know what you're signing up for before you run local H3 weights.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| initial_prompt | STRING | (3 second video) A magic cat shooting lightning at skeletons | — |
| llm_urlopt | STRING | http://localhost:8080/v1/chat/completions | — |
| extra_start_noteopt | STRING | — | |
| extra_end_noteopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| improved_prompt | STRING | — |