Models

Text-to-video API with audio: which video models generate sound

On Sume, POST /v1/videos makes sound on models whose catalog sets generate_audio. Which models make audio always, optionally, or never, and what is refused.

5 min readSume
All posts

To get a video with sound from the Sume text-to-video API, send POST /v1/videos to a model whose catalog entry has generate_audio: true. Seedance 2.x, kling-3, and wan-3.0 make audio optionally, the two MiniMax H3 models and Gemini Omni Flash 1.1 always make it, and grok-imagine-video-1.5 makes none.

The request field comes from the Video generation docs; per-model audio behavior comes from the catalog behind GET /v1/videos/models and the checks POST /v1/videos runs, read on 2026-09-26.

Which video models generate audio?

In GET /v1/videos/models, generate_audio says whether a model can generate an audio track, and the description of each model that has audio names the kind: “with optional audio”, “with native stereo audio”, or “with native synced audio”.

Audio per model, from the catalog behind GET /v1/videos/models, the checks on POST /v1/videos, Video generation, and Video Router, read 2026-09-26. Confirm with GET /v1/videos/models before you submit.
Model idAudioWhat to send
seedance-2.5, seedance-2, seedance-2-fast, seedance-2-miniOptionalOmit the field or send true for sound; send false for none.
kling-3OptionalOmit the field or send true for sound; send false for none.
wan-3.0OptionalOmit the field or send true for sound; send false for none.
minimax-h3, minimax-h3-maxAlways, native stereoOmit the field. false is refused.
gemini-omni-flash-1.1Always, native syncedOmit the field. false is refused.
grok-imagine-video-1.5NoneOmit the field. true is refused.

How do I ask for a clip with sound?

generate_audio is an optional boolean on POST /v1/videos that defaults to the model's audio capability. On a model with optional audio you can leave it out; sending true makes the choice explicit. This is the docs' submit example with the field added:

curl -X POST https://api.sume.com/v1/videos \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: t2v-audio-001" \
  -d '{
    "model": "seedance-2",
    "prompt": "A golden retriever playing fetch on a sunny beach with waves crashing in the background",
    "generate_audio": true
  }'

Which generate_audio values are refused?

POST /v1/videos refuses a value the model cannot honor with a 400 and the error code unsupported_capability, instead of ignoring it:

  • true on a model without audio: “grok-imagine-video-1.5 does not support generate_audio.”
  • false on minimax-h3 or minimax-h3-max: “… always produces native stereo audio; omit generate_audio.”
  • false on gemini-omni-flash-1.1: “… always produces native synced audio; omit generate_audio.”

Does audio change the price?

On one model in the catalog. kling-3 lists two per-second rates in pricing_skus, per-video-second and per-video-second-audio, so a clip with sound and a silent clip each have their own per-second rate. Kling's own direct prices are compared in Sume vs Kling. No other model lists a separate audio rate.

Every model is billed at the provider's list price × 1.25, reserved from the workspace USD balance on submit, plus a 5.5% agent fee by default. Read each model's rates in GET /v1/videos/models, or see API pricing.

Can a video model lip-sync to a voice-over?

No. The models overview says video models do not lip-sync to generated TTS or to a later voice-over. For a talking face, the docs list routes that turn a still and an audio track into a talking clip, such as VEED Fabric 1.0 (veed/fabric-1.0); see lip sync from a photo and audio.

Audio can also go in as input: an input_references entry of type audio_url, on the models that accept one, is a reference for the generation. That is covered in Reference-to-video API.

Sources

Related posts

Written by Sume