Lip sync longer than 15 seconds: split the audio first
MiniMax H3 Max lip sync on Sume takes 5 to 14.8 s of audio. For a longer line, use VEED Fabric up to 300 s, or split the audio into ranges and sync each piece.

On Sume, a lip-sync clip longer than 15 seconds has two routes. POST /v1/veed/fabric-1.0 accepts audio up to 300 seconds in one job, so no split is needed. POST /v1/minimax/h3-max/lip-sync accepts only 5 to 14.8 seconds, so for a longer line you cut the audio into pieces first, sync each piece, and join the results.
The limits are from Sume's OpenAPI reference and the Timeline audio page, read 2026-09-29. The over-5-minute case is a different problem, covered in a separate post linked below.
Why does the short route refuse longer audio?
The schema says the provider rejects shorter audio and silently clips longer audio. Sume would rather refuse than let a clip lose its ending, so a request outside 5 to 14.8 seconds is refused, not clamped.
| Route | Audio length | Longer than 15 s |
|---|---|---|
veed/fabric-1.0 | Up to 300 s per job | One job, no split |
minimax/h3-max/lip-sync | 5 to 14.8 s | Split, then one job per piece |
How do I split the audio into pieces?
Timeline audio has a split operation. It takes a top-level url and ranges[] of 1 to 20 items, each { start, end? }, and returns a durable media.sume.com file per range. The source has to be Sume-hosted, so import it first with POST /v1/media-imports. Idempotency-Key is required, and a split is $0.01 flat per job.
curl -X POST https://api.sume.com/v1/timeline-1.0/audio \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: split-line-001" \
-d '{
"operation": "split",
"url": "https://media.sume.com/artifacts/artf_demo/line.wav",
"ranges": [{ "start": 0, "end": 12 }, { "start": 12, "end": 24 }, { "start": 24 }]
}'How long can each piece be?
At most 14.8 seconds and at least 5, including the last one. With up to 20 ranges per split, one call can cover about 296 seconds. A 32-second line cut at 12 and 24 gives pieces of 12, 12 and 8 seconds, all inside the window. A 26-second line cut at 12 and 24 would leave 2 seconds at the end, which the route would refuse, so cut at 13 instead, giving 13 and 13.
What audio format should I keep?
Keep the default wav. Timeline audio says wav is the default, sample-exact output and warns that mp3 re-adds padding at every edge, which is what you do not want at a cut. Each piece then goes to the lip-sync route with duration_seconds set to its length, and the pieces are joined on the timeline afterwards.
When is a split not worth it?
When your line is under 300 seconds and you do not need the H3 Max resolutions, use Fabric and skip the cutting, since a split adds jobs and join seams. When it is over 300 seconds, read Lip sync for videos over 5 minutes, and for the input rules on either route, read Lip sync API: photo and audio.
Sources
Related posts
More in Developers
- MCP 2026-07-28 spec: which version does Sume's hosted server speak?
The 2026-07-28 MCP revision is out and Claude Code speaks it. Sume's hosted server negotiates 2025-03-26, 2025-06-18 and 2025-11-25, not 2026-07-28.
- MCP server rate limit: per tool call or per request on Sume?
On Sume the MCP endpoint POST is a read, a tool call spends write budget once for the run it creates, and a jobs_status poll over MCP spends no write budget.
- MCP-Method header: route and rate-limit MCP requests at a gateway
The 2026-07-28 MCP spec requires Mcp-Method and Mcp-Name headers on HTTP requests. How Sume counts MCP calls against its rate limits.
- MCP input_required, inputResponses and multi round trip vs dry_run
MCP 2026-07-28 lets a server return input_required and the client retry with inputResponses. Sume's paid confirmation is two calls with dry_run instead.
Written by Sume