Nodes/ComfyUI-GGUF-Loader/MiniMax H3 Prompt Format ⚡
ComfyUI Node

MiniMax H3 Prompt Format ⚡

H3 won't give you a good clip if your prompt isn't in its exact envelope

By ChrisColeTech·Created about a month ago·Updated 3 days ago· 10
MiniMax H3 Prompt Format ⚡
    • prompt
    integrated_multimodal_description
    overall_soundscape
    non_diegetic_music
    modet2va
    length243 (~10.13s)

    MiniMax H3 doesn't take a plain sentence and run with it. It expects its prompt as a structured envelope - a multimodal description, a soundscape, a music line, plus a keyframe instruction line - and if you hand it a free-form paragraph it underdelivers (or ignores half of it). This node is the formatter that wraps the fields you already wrote into that exact envelope, so you get the structure the model was trained on without memorizing the template yourself.

    The three core fields

    H3's prompt is really three streams, and this node takes them as three multiline boxes:

    • integrated_multimodal_description - the timeline. This is the shot-by-shot description of what happens on screen, and the tooltip notes [Shot 1] is added for you if you omit it. It's the only field that can't be empty - the node raises rather than format a blank timeline.
    • overall_soundscape - the ambient, physical, non-verbal sound of the scene. The tooltip's advice: use N/A only for deliberate silence.
    • non_diegetic_music - the score the characters can't hear. N/A if there's no music.

    The two mode-ish inputs

    • mode - one of t2va (text to video+audio), i2va (from a first frame), fl2va (between a first and last frame), or l2va (landing on a last frame). This shapes the envelope and the keyframe line.
    • length - a frame preset: 124 (~5.17s), 243 (~10.13s), 362 (~15.08s), or 481 (~20.04s). It sets the duration the envelope is written against.

    The source is doing real work here, not just string-joining: it validates the description against the schema for the chosen duration, warns on problems it can find, and builds the prompt with the correct keyframe instruction line and the last-shot index parsed out of your description. So the output is a single prompt STRING that's ready for CLIPTextEncode (or the writer/prompt side of your H3 sampler chain).

    Where this fits

    This is the "you already know what you want" sibling of MiniMax H3 Prompt Writer, which generates the three fields from a raw idea using a local text encoder. If you have an idea but not the fields, use the Writer; if you have the fields - from your own writing, from a captioner, anywhere - run them through Format and you've matched the model's input contract. H3 is picky enough that this is a real quality lever, not paperwork.

    Installing it

    Part of the ComfyUI-GGUF-Loader pack under 🤖 CCTech/MiniMax H3. ComfyUI Manager → search "ComfyUI-GGUF-Loader" → install → restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ChrisColeTech/ComfyUI-GGUF-Loader
    cd ComfyUI-GGUF-Loader
    pip install -r requirements.txt
    

    Common issues

    The easy failure is leaving integrated_multimodal_description empty - you get a ValueError, which is the node refusing to ship a broken prompt, and it's the correct behavior. Beyond that, expect warnings (not errors) when the description doesn't quite fit the chosen duration's schema; read them, because a timeline that implies a shot cut after the "latest valid shot cut" for your length is a sign you should shorten the description or pick a longer preset. Keep mode and length consistent with what the rest of your workflow (and the image inputs, if any) actually does.

    Category🤖 CCTech/MiniMax H3

    Inputs (5)

    NameTypeDefaultDescription
    integrated_multimodal_descriptionSTRINGThe timeline. [Shot 1] is added if you omit it.
    overall_soundscapeSTRINGAmbient, physical, and non-verbal sound. N/A only for deliberate silence.
    non_diegetic_musicSTRINGScore the characters cannot hear. N/A if none.
    modeCOMBOt2va4 options: t2va, i2va, fl2va, l2va
    lengthCOMBO243 (~10.13s)4 options: 124 (~5.17s), 243 (~10.13s), 362 (~15.08s), 481 (~20.04s)

    Outputs (1)

    NameTypeDescription
    promptSTRING