H3 Prompt IDE
The editor that treats them like code
- references
- text
If you've stared at a MiniMax H3 prompt, you know it isn't a sentence - it's a small document with strict sections, exact alignment lines, and case-sensitive tokens like <|cutoff|> that the tokenizer refuses to forgive. Typing that inside ComfyUI's default little text box is how you burn an evening. H3 Prompt IDE is ethanfel's answer: a VS Code-flavored editor node that treats an H3 prompt the way an IDE treats code - sections, completion, diagnostics - then hands the result to the model as a plain string.
The name is not a lie about APIs. This calls nothing, needs no key, and runs entirely in your browser against your local weights. It's a standalone adaptation of the Rich Scene Prompt Editor from ethanfel's older ComfyUI-MiniMaxH3-Contex-Loop pack, slimmed down so it outputs an ordinary STRING instead of doing the Motion Context @tag / @@@@tag compilation that workflow orchestrators like.
How it works. The backend node is gloriously dumb: it takes the prompt text and returns it, plus the optional authoring link. Everything interesting is the frontend (web/*.mjs), which knows H3's modes - T2VA, I2VA, FL2VA, L2VA, and Ref2VA, plus an Edit-instruction mode - and swaps in the right section skeleton for each. The base schema demands integrated_multimodal_description, overall_soundscape, and non_diegetic_music; Ref2VA adds subject_definitions, summary, retention_analysis, and detailed_description. It validates against that, warns you when a section doesn't belong in the mode you're in, checks that I2VA starts with its exact first-line picture alignment, and completes the tokenizer-native tokens (<d>, </d>, <|cutoff|>, the lyrics/caption markers). Old <cutoff> text stays readable, but the editor nudges you to the <|cutoff|> form that MiniMax's tokenizer actually registers as a single token.
The two inputs that matter. prompt is the big multiline box - the text is what comes out the other side, verbatim. references is optional and accepts the references output from H3 Reference Inputs; it feeds the token palette and previews so you can see your <Picture 1> thumbnails while you write, without evaluating any media if you only queue text. The single output, text, is an ordinary STRING - wire it to your H3 prompt input, or straight into TextEncodeH3Edit.prompt from ethanfel's MiniMax H3 Edit pack and the editor will follow the encoder's live task (edit instruction, re-pose, character swap, frozen-scene coverage, cinematic cuts) and show you the right short-instruction template instead of a full H3 document.
Install. ComfyUI Manager (search "H3 Prompt IDE") or:
cd ComfyUI/custom_nodes
git clone https://github.com/ethanfel/ComfyUI-H3-Prompt-IDE.git
Restart ComfyUI and find it under text → H3 Prompt IDE. Zero pip dependencies and no model downloads - the editor ships as UI code, not weights. Two real requirements: a current ComfyUI with the V3 node API and Autogrow support, and for correct single-token encoding of those special tokens, a build with ComfyUI PR #15808 merged (without it, the tokens still work, they just aren't encoded as one token).
Where people get burned. First, remember what it is: the editor returns the text and nothing else - it does not call the H3 model, and the ~42.5 GB weights plus the geofenced MiniMax H3 Community License are separate problems. Second, if your workflow won't load on a stale ComfyUI, that's the V3 API requirement, not the pack. Third, that famous LiteGraph widget-width bug (ComfyUI_frontend #12443) that squashes wide nodes - the editor ships a scoped workaround, so if your other custom nodes render squished but this one doesn't, that's why. Minor: audio references must follow H3's native presentation order (video soundtracks first, then standalone audio), so connect them in that order on the reference node.
It's the difference between wrestling H3's format by hand and writing it with guardrails. For anyone doing real H3 prompt work, it's the one I'd reach for.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | The plain text serialized and returned by this node. | |
| referencesopt | H3_PROMPT_REFERENCES | Optional authoring-only link from H3 Reference Inputs. It supplies the token palette and previews without evaluating reference media when only text is queued. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | The prompt as an ordinary ComfyUI STRING. Connecting this directly to TextEncodeH3Edit.prompt activates the IDE's task-aware Edit instruction category. |