Flux TTS CONTROL_COMBINATION_INVALID and the 1.15 pause speed cap
Deepgram Flux TTS rejects some control combinations and caps speed at 1.15 with a pause. The error codes, the rules, and Sume's 0.6 to 1.5 speed range.

Deepgram Flux TTS rejects combinations of inline controls that would degrade audio: batch requests return CONTROL_COMBINATION_INVALID or PAUSE_SPEED_CAP_EXCEEDED, and speed is capped at 1.15 when a pause is present. Sume's TTS request exposes generation_config.speed as a multiplier in [0.6, 1.5] with no pause-marker interplay described in the cited schema.
Sources: the Deepgram September 30, 2026 changelog entry and Sume's API reference, read 2026-10-01.
Which combinations does Flux TTS reject?
The point of the guardrail, per the changelog, is a clear error instead of bad audio.
| Combination | Result |
|---|---|
| Pronunciation with pause | Rejected |
Pronunciation with speed other than 1.0 | Rejected |
Pause with speed above 1.15 | Rejected |
| Batch error codes | CONTROL_COMBINATION_INVALID, PAUSE_SPEED_CAP_EXCEEDED |
| Streaming error codes | ConfigureFailure, DATA-0002 |
What should my code do with these errors?
Treat them as validation failures, not retryable faults: the same request will fail the same way. Check the combination before sending, for example by clamping speed to 1.15 whenever the text contains a pause marker, and log the error code so a script author sees which control to drop.
What are Sume's speed and emotion limits?
The Sume schema describes speed as a multiplier in [0.6, 1.5], set in generation_config.speed, next to a volume multiplier and an optional emotion guide. The text field transcript allows up to 20000 characters. Nothing in the cited schema ties these controls to a combination error, so validate your own request against the schema rather than assuming Flux's rules carry over.
Does the Flux cap matter if I only change speed?
No. The 1.15 cap applies when a pause is present; the plain range on the vendor side is covered in Flux speed versus Sume speed.
Sources
Related posts
More in Developers
- Deepgram Flux TTS inline IPA vs Sume's pronunciation dictionary id
Deepgram Flux TTS now takes inline IPA overrides in Early Access. Sume TTS takes a pronunciation_dict_id instead. How the two approaches differ in practice.
- Flux TTS pause markers: 8 per request, 500-3000 ms, and Sume scripts
Flux TTS allows up to 8 pause markers of 500 to 3000 ms per request, batch only. Plan a script around that limit and see what Sume gives you for pacing.
- Deepgram self-hosted 261001 drops Whisper: what Sume STT callers do
Deepgram Self-Hosted release 261001 removes Whisper support and asks you to move to Nova-3 first. What it means for Sume STT, which has no model to migrate.
- Deno fetch stops retrying fresh-connection POSTs: Sume keys
Deno now retries fetch transport errors only on reused connections. That cuts duplicate POSTs, but a paid Sume submit still needs an Idempotency-Key.
Written by Sume