MiniMax H3 on Sume: generate_audio false is rejected, audio stays on
The minimax-h3 and minimax-h3-max rows always render native stereo audio. generate_audio false returns 400. How to get a silent clip instead.

If you send generate_audio: false to minimax-h3 or minimax-h3-max on Sume, the request fails with model minimax-h3 always produces native stereo audio; omit generate_audio. Both rows generate sound and picture together and have no switch. To get a silent file, generate normally and mute the audio track afterwards, in your own editor or on a Sume timeline.
This differs from rows that do have an audio option, so a shared client should check the capability first.
What MiniMax says about audio
MiniMax's H3 announcement describes native stereo sound generated jointly with the video. That fits the Sume behavior: the sound is part of the generation, not a layer that can be left off. The practical outcome is that you pay for the clip with sound included, whatever you plan to do with it.
| Question | MiniMax page | Sume row |
|---|---|---|
| Is sound generated with the picture? | yes, native stereo | yes, always produced |
| Can it be turned off? | not described | no: generate_audio: false is refused |
| Is a separate audio-only price listed? | no | no audio SKU on the row |
Ways to a silent result
None of these change what the model generates. They change what you deliver.
- Mute the track in your editor when you import the MP4.
- Build the final cut on a Sume timeline and leave the source audio out of the mix.
- Use a row where the audio flag is optional if the sound really must not be generated.
Guard your batch
Pipelines that set generate_audio on every request will fail only on these rows. Strip the field for them instead of relying on the 400. This helper drops it by model id.
NO_AUDIO_SWITCH = {"minimax-h3", "minimax-h3-max"}
def clean(body: dict) -> dict:
if body.get("model") in NO_AUDIO_SWITCH:
body = {k: v for k, v in body.items() if k != "generate_audio"}
return body
print(clean({"model": "minimax-h3", "prompt": "x", "generate_audio": False}))Sources and next reads
The row limits live on the Video Router page, and the job lifecycle is in Jobs and results. The vendor wording is in MiniMax's H3 announcement.
Sources
Related posts
More in Developers
- MiniMax H3 reference mix: why 9 + 3 + 3 fails the 12 cap
H3 and H3 Max allow 9 images, 3 videos and 3 audios, but only 12 inputs in total. A Python preflight counter and the cost of images past five.
- MongoDB updateOne upsert with $setOnInsert for Sume job_id
Use a unique index on job_id and updateOne with upsert and $setOnInsert so only the first Sume webhook delivery starts work. Node driver sample.
- Music 1.0 is retiring: moving to the Music Router in one line
Sume Music 1.0 routes keep working but resolve through the Music Router. New code should call POST /v1/music-router/generate. What changes and what does not.
- MySQL: INSERT IGNORE or ON DUPLICATE KEY UPDATE for Sume job_id
Dedupe Sume job webhooks in MySQL with a job_id primary key. Why ON DUPLICATE KEY UPDATE with a counter beats INSERT IGNORE, and what affectedRows tells you.
Written by Sume