Prompt craft

Writing sound into an H3 prompt, and the three fields that decide what you hear

Picture and 32 kHz stereo come out of the same pass, so the audio is written in the prompt. Three fields decide what you hear, and dialogue has its own syntax.

Aug 14, 20266 min readEditorial deskEditorial desk
Writing sound into an H3 prompt, and the three fields that decide what you hear

Most video models treat sound as a second job. H3 does not: picture and audio come out of the same forward pass, at 32 kHz stereo, wrapped in one MP4. There is no separate audio prompt and no toggle to turn it off.

The practical consequence is that if you did not write the sound, you did not choose it. The model will produce something regardless, and what it produces in the absence of instruction is a plausible average of the scene.

The structured prompt has three sound-bearing fields

The prompt format H3 consumes is a structured document, not a paragraph. For text, image and keyframe jobs it is three fields, always in this order:

integrated_multimodal_description
overall_soundscape
non_diegetic_music

They are not interchangeable, and the split is the useful part:

  • integrated_multimodal_description carries the shots — composition, subject, environment, action, camera, and anything heard at a specific moment, timestamped: At 00:04.500, the door latch clicks.
  • overall_soundscape is the world's ambience and foley. Room tone, rain, distant traffic, the fridge. Things that are true for the whole clip.
  • non_diegetic_music is score — outside the scene, unheard by anyone in it. Style, instrumentation, tempo, and how the mood moves.

The last one is where the most common mistake lives. Describing a soundtrack inside the soundscape field asks the model for music that exists in the room, and you get something that sounds like it is playing on a speaker just off frame. If you want score, say so in the score field.

Writing non_diegetic_music: none is a legitimate and underused instruction. Documentary-flavoured material almost always wants it.

Dialogue has a syntax

This is the part that is hard to discover and immediately changes results. Lines are tagged with a speaker identifier, a language, and a delivery note:

(S1) speaks softly, [English] Follow the wind, live free.

Three things are doing work there:

  • (S1) is a stable speaker ID. Reuse it and the voice stays the same across lines; introduce (S2) and you get a second, distinct voice. This is how two-hander dialogue holds together.
  • [English] sets the spoken language. Eleven are reliably supported: Arabic, Chinese, English, French, German, Italian, Japanese, Korean, Portuguese, Russian and Spanish.
  • The delivery note before the bracket — speaks softly, level broadcast delivery, shouting over traffic — moves performance more than any amount of adjective in the visual description does.

One rule that trips people writing in another language: the official guidance is to write the rewritten prompt in English, but to leave dialogue, lyrics and any text visible in frame in their original language. A German line stays German inside the brackets; the description around it is English.

A worked example

Here is a newsroom shot written the long way. It is not complicated — it is just complete.

integrated_multimodal_description:
[Shot 1] Locked-off medium shot, chest up. A presenter sits at a dark
news desk, studio key light from camera left, out-of-focus screens
behind her. She looks straight down the lens and delivers one line.
At 00:00.800 she begins speaking. At 00:03.200 she pauses, then
completes the sentence.
(S1) level broadcast delivery, [English] The vote came in just after
midnight.

overall_soundscape:
Room tone only. Faint air handling. No audience, no paper, no
keyboard.

non_diegetic_music:
None.

The two constraints that matter most are the last line of each of the final two fields. "Room tone only" and "None" are what stop the model from scoring the shot and adding a newsroom bustle you did not ask for.

The rules the official guidance actually enforces

Five, and they are worth checking your prompt against:

  1. Write the rewrite in English; keep dialogue, lyrics and on-screen text in their own language.
  2. Describe each shot in the order composition → subject → environment → action → camera → sound → the exact moment any referenced material appears.
  3. No plot summaries, no unresolved reference tags, no timings that do not add up to the requested duration.
  4. Every detail must correspond to something visible or audible. "She feels uncertain" is not a detail. "She glances off-frame and does not finish the sentence" is.
  5. Keep the field order fixed.

Rule 4 is the one that quietly improves everything. A prompt written entirely in things a microphone or a lens could register is a prompt the model can execute.

Two things worth knowing about the budget

Camera movement is three parts, not one. The official lexicon is movement type + magnitude + speed — "slow push-in, small magnitude" rather than "cinematic camera move". Vague motion language is where a lot of the mush in generated video comes from.

You have far more room than you think. The create endpoint takes prompts up to 7,000 characters. For comparison, Veo's text input caps at 1,024 tokens. Three fields written properly will not come close to the ceiling, so there is no reason to compress the sound description down to a clause.

Editorial desk

Written by

Editorial desk

minimax-h3ai.video

All articles