inference.minimax.h3.chili.txt2vid.v0
The inference.minimax.h3.chili.txt2vid.v0 job generates a 24 fps video
with synchronized stereo audio from a text prompt.
{ "type": "inference.minimax.h3.chili.txt2vid.v0", "config": { "prompt": "a red fox trotting through a snowy pine forest at golden hour", "duration": 6, "aspect_ratio": "16:9" }}Prompting
Section titled “Prompting”The prompt is used exactly as written: nothing rewrites or expands it before it reaches the model, which was trained on descriptive captions. Describe the shot rather than making a request: the subject, setting, time of day, weather, lighting, camera move and motion. For example, “show me what christmas would be like in Tokyo” tends to produce a generic winter scene, while “Shibuya crossing in Tokyo on Christmas Eve at night, light snow falling, crowds with umbrellas, a giant illuminated Christmas tree, neon signs reflecting in the wet street, slow cinematic dolly shot” produces the intended scene. This job type runs a distilled 8-evaluation recipe, so it follows the prompt less closely than full-step generation; vague prompts steer it even less, so a detailed description matters more here.
Structured prompt format
Section titled “Structured prompt format”MiniMax trains H3 on a structured prompt, not on free text. Sending that structure yourself is the most reliable way to control the soundtrack: on a 24-prompt bank rendered on this tier, 10 of 24 free-text prompts came back with an unrequested music bed, and 0 of 24 did when the same prompts were sent in this format (same seeds, same duration). The format adds three things free text usually leaves to the model’s own judgement: an explicit soundscape, an explicit music decision, and an explicit statement of whether anyone speaks.
Rules that apply to every section below:
- A line is spoken only when it is written as dialogue:
she (S1) says softly: <d>[English] Don't tell me you forgot again.</d>.(S1)numbers the speaker,<d>…</d>encloses the spoken words, and the language tag is always[English](the model voices other languages inside the tag as written). Put dialogue last in the shot: prose after a spoken line tends to be voiced too. - When nobody speaks, say so:
She does not speak.,He does not speak.or, for a scene with no single subject,No spoken dialogue.Without this sentence the model may invent speech. overall_soundscape:is one sentence of diegetic sound, i.e. what the scene itself produces. For a person:Soft room tone, her quiet breathing and the faint rustle of fabric as she moves.For a scene:Natural ambient sound matching the scene and its visible actions.non_diegetic_music:isN/Aunless you want a score, in which case describe it in one sentence, e.g.Calm ambient piano plays throughout.- Separate sections with a blank line. The whole prompt, format included, must stay within the 7000-character limit.
- Write the visual description exactly as the Prompting section above recommends; the format wraps it, it does not replace it.
Beyond the soundtrack, the same format carries the rest of what the model was trained to read:
- Write the description as a timeline, not a caption: what is visible and audible first, then the actions, reactions and state changes in the order they happen. Every detail should be something that can be seen or heard; requests like “make it cinematic” steer little.
- Give camera movement as type, amplitude and speed: “the camera pushes in with small amplitude at slow speed”, “trucks right slowly”, “holds a locked-off shot”.
- For more than one shot, keep
[Shot 1]without a timestamp and start each later shot with a strictly increasing cut time inside the duration:[Shot 2] At 00:05.000, the camera cuts to a close-up of steam rising from the sliced bread. - Keep a speaker’s id across shots. For narration that is not spoken on
screen, use the exact phrase “says in an off-screen voiceover” and add
that the on-screen character’s lips remain closed. When a line crosses a
cut, mark both parts with
<scenetrans>and say the audio continues across the cut; when the clip ends mid-sentence, mark the line with<cutoff>. - When you do want a score, describe it as instrumentation, tempo and dynamics (“sparse piano at a slow tempo, joined by low strings that build and fade”) rather than mood words.
- Text that must appear on screen is spelled out verbatim in the prompt.
- An unspecified clip gets natural ambience; write
overall_soundscape: N/Aonly when you want silence.
Text-to-video uses three sections. [Shot 1] marks the single continuous
shot; keep it even for one shot.
integrated_multimodal_description: [Shot 1] A 28-year-old woman in a grey hoodie sits on a windowsill at dusk, hugs her knees and looks into the lens with a slow, warm smile. She does not speak.
overall_soundscape: Soft room tone, her quiet breathing and the faint rustle of fabric as she moves.
non_diegetic_music: N/AThe same shot with a spoken line:
integrated_multimodal_description: [Shot 1] A woman leans on a kitchen counter holding a mug; she (S1) says softly: <d>[English] Don't tell me you forgot again.</d>
overall_soundscape: Soft room tone, her quiet breathing and the faint rustle of fabric as she moves.
non_diegetic_music: N/Aprompt is required and must contain 3–7000 characters. Describe both the
visual scene and the sounds you want to hear.
duration accepts whole seconds from 4 to 15 and defaults to 6. The actual
video may be slightly longer than requested: 4 seconds produces about
4.46 seconds, and 15 seconds produces about 15.08 seconds.
resolution supports only 768P, which is also the default. Exact output
dimensions depend on the aspect ratio. seed accepts an integer from 0 to
2147483647 for reproducible generation; omit it to use a random seed.
aspect_ratio accepts 16:9, 4:3, 1:1, 3:4, 9:16, or 21:9.
The default is 16:9, producing a 1344×768 video.
Schema
Section titled “Schema”{ "type": "object", "required": [ "type", "config" ], "additionalProperties": false, "properties": { "type": { "type": "string", "enum": [ "inference.minimax.h3.base.txt2vid.v0", "inference.minimax.h3.fast.txt2vid.v0", "inference.minimax.h3.base.txt2vid.v1", "inference.minimax.h3.fast.txt2vid.v1", "inference.minimax.h3.turbo.txt2vid.v0", "inference.minimax.h3.hyper.txt2vid.v0", "inference.minimax.h3.chili.txt2vid.v0" ] }, "config": { "type": "object", "required": [ "prompt" ], "additionalProperties": false, "properties": { "prompt": { "type": "string", "minLength": 3, "maxLength": 7000, "default": "a dancing cat under moonlight", "description": "Description of the desired video and audio." }, "duration": { "type": "integer", "minimum": 4, "maximum": 15, "default": 6, "description": "Duration of the video in seconds. Rounded up to the model's frame grid (4 s returns 4.46 s, 15 s returns 15.08 s)." }, "aspect_ratio": { "type": "string", "enum": [ "16:9", "4:3", "1:1", "3:4", "9:16", "21:9" ], "default": "16:9", "description": "Controls the approximate aspect ratio of the resulting video." }, "resolution": { "type": "string", "enum": [ "768P" ], "default": "768P", "description": "Only 768P is supported: the canvas targets a 768px short edge with a 768x1344 pixel area cap and 32px rounding; exact width and height follow the selected aspect ratio." }, "seed": { "type": "integer", "minimum": 0, "maximum": 2147483647, "description": "Seed for reproducible generation. Random when omitted." } } } }}