Back to Blog
Provider Integrations

Flux TTS vs Sonic 3.6: Interruptions

Compare Flux TTS and Sonic 3.6 using a dated English preference benchmark, current pricing and an original worksheet for interrupted speech and stale audio.

Meeran Malik
Article date:
9 min read

A receptionist starts reading an appointment request. The caller interrupts to change the day. The useful Flux TTS vs Sonic 3.6 comparison includes both the voice people prefer and what the application does with speech that should no longer play.

Those are different measurements. A model can sound appealing while an application still plays an obsolete confirmation from its queue. This guide puts a common published preference benchmark beside the providers' interruption contracts, then works through an original evaluation plan.

Download the free interruption worksheet. It separates local playback, provider control, conversation history and observed listener output. The trace is designed, not measured; no paid synthesis calls or phone tests were performed for this article.

Pin the models before comparing them

Flux TTS became generally available in Deepgram's cloud on August 12, 2026, using the /v2/speak API. This is speech generation, separate from Flux speech recognition. The current family name does not identify an immutable backend revision. Cloud release.

Cartesia's current stable alias is sonic-3.6, with the dated snapshot sonic-3.6-2026-08-27. Its documentation lists 44 languages. Do not substitute the beta sonic-preview alias when you intend a stable comparison. Current Cartesia model reference.

Deepgram announced 41 additional languages on October 23, with nine supporting normalization and 32 in Early Access without normalization. Its announcement excludes the Australia endpoint from that expansion. This is a language-readiness distinction, not a score against Cartesia. Language rollout.

Record the exact model, voice, endpoint and output format used in any later evaluation. A provider family appearing in a leaderboard does not establish that every later alias or language was evaluated under the same conditions.

Read the shared benchmark within its scope

The saved Artificial Analysis Provider Voice table, accessed October 26 at 14:00:30 UTC, contains these rows. They are independent published observations, not Burki measurements. Provider Voice leaderboard.

Listed modelPreference Elo95% intervalListed samplesStock voices
Sonic 3.612911277–13052,8948
Flux TTS10561043–10692,2518

The method uses model-blind paired clips of matching text, gender and accent category, with randomized order and standardized audio. Provider Voice uses each provider's own stock voices, targeting US/UK male/female categories. Native US/UK English listeners choose one clip; there is no tie. Four prompt categories cover customer service, entertainment, knowledge sharing and assistants. Bradley-Terry fitting produces Elo ratings and confidence intervals. Eligible historical votes are equally weighted; ratings are recomputed multiple times daily. Benchmark method.

The table supports a stronger English stock-voice preference result for Sonic 3.6 in that snapshot. It does not isolate model quality from voice selection, measure multilingual accuracy or establish which interrupted phrase reached a caller. Exact execution dates and resolved backend revisions for these rows were not pinned here.

Do not call the Elo gap a latency gap. AA's throughput method measures full-clip generation and receipt, with a three-day median. It is not time to first audible output or how quickly playback stops after an interruption. Timing method.

Understand what the interruption control can prove

Flux's Interrupt accepts a session-wide playback_offset in time_ms; the position must advance beyond the previous interrupt. With that position, SpeechInterrupted includes text_spoken and text_remaining. Without it, the text split is absent. Stop local playback immediately and discard stale in-flight audio. Missing-audio, concurrent-interrupt and stale-offset warnings need separate handling. Flux interruption contract.

That split depends on the application's reported playback position. It is not an independent recording of what someone heard at the far end of a telephone call. A generated-audio total is also not a substitute for a local playback measurement.

Cartesia's context guide says a cancellation request uses context_id and cancel: true. It stops requests that have not begun generating; a request already generating continues sending responses. Context cancellation guide.

The general websocket reference describes cancellation more broadly. Use the narrower guide behavior when designing stale-audio handling until your own authorized evaluation establishes the actual selected endpoint behavior. This guide does not resolve that documentation difference through a runtime test. Websocket reference.

Neither control removes the application's responsibility for its output queue. Keep the next assistant sentence from inheriting the assumption that a full confirmation finished playing merely because it was submitted for synthesis.

An interruption stops the application's old playback path before provider reconciliation and preparation of the corrected reply.

Work through a corrected appointment request

The fictional Westbridge reception desk is reading a proposed callback: “I have noted Tuesday afternoon. The team will confirm availability.” Before the last sentence finishes, the caller says, “Actually, Wednesday morning.” This is a request for staff review, not a booked appointment.

Create a local generation label, such as reply-17, for the old reply. Associate queued audio and the proposed dialog text with that label. The label belongs to the application; it is not a new provider API field.

At interruption, record four separate things:

  1. Playback stopped locally: the application marks reply-17 ineligible for further output and records its own playback position.
  2. Provider control requested: the provider-specific interruption or cancellation is sent, with the evidence that particular interface expects.
  3. Old output reconciled: later chunks carrying the old application label are dropped, even if generation continues remotely.
  4. New request prepared: the conversation stores the caller's correction and produces a fresh reply-18 asking staff to review Wednesday morning.

Do not append all of reply-17 to the language model's conversation as though it was delivered. Keep proposed text and observed playback evidence separately. Where the provider supplies a text split, retain it with the application's position measurement. Where delivery is uncertain, let the next response clarify rather than assume.

For example, a cautious next line is: “I have changed the request to Wednesday morning. The team will confirm availability.” That statement should depend on an actual saved request in the business workflow. A speech-provider acknowledgment alone cannot establish that the request was saved or that a calendar accepted it.

Prepare an evaluation that can fail usefully

Before any audio generation, choose authorized credentials, an appropriate paid allowance and voices permitted for the intended use. Pin the output codec and playback device. Use an administrative script with fictional names and no customer data. The worksheet can be completed as an application design review without connecting either provider.

For a later authorized test, use the same request script and interruption cue across both candidates. Record the cue from the listener or playback application, the last old audio actually observed at that point, and any obsolete audio heard afterward. Keep provider-event timing separate from speaker-output timing.

Run separate cases for interruption near the start, within a date, and after a sentence boundary. Repeat with the corrected day and a corrected callback number. Those cases ask different questions: stale content, ambiguous sentence completion and identifiers that staff must preserve.

Do not force a single pass score to hide the failures. Record:

Evaluation questionEvidence to collect
Did old speech continue locally?Playback trace and observed output, not only provider events
Was a queued old chunk replayed later?Application generation label at enqueue and playback
Did history imply an unheard promise?Proposed text, retained delivery evidence and next prompt
Was the correction actually saved?Separate business-system result or explicit unresolved status
Did the voice remain understandable?Reviewer notes for the chosen script, language and voice

A failed “saved request” check is an application workflow issue even if the voice sounds excellent. A failed stale-audio check remains important even if the provider's cancellation response is fast. Keep each repair attached to the layer that can fix it.

Compare the billing arrangement, not just a normalized price

Deepgram currently lists Flux TTS PAYG at USD 0.045 per 1,000 characters, with a distinct Growth rate. Cartesia lists Pro at USD 5/month with 100,000 credits and a commercial-use license. Its billing guide describes TTS as approximately one credit per character, with preprocessing differences. Deepgram pricing, Cartesia plans, Cartesia credit units.

At an illustrative 100,000 eligible input characters, the Deepgram rate gives USD 4.50. The Cartesia plan has a USD 5 monthly commitment and a credit allowance, rather than a directly equivalent unlimited PAYG rate. Confirm exact text charging, plan terms, other usage and unused allowance before deciding what that difference means.

AA normalizes subscription prices using an eligible plan and assumed utilization. Its displayed dollar figure is not a replacement for either provider's actual account bill. Price methodology.

These examples exclude recognition, conversation models, telephone transport and application costs. Interrupted generation should be recorded as actual usage, not assumed to be free because the caller did not hear all of it.

Apply the decision carefully in Burki

Current Burki source includes a Cartesia provider and Sonic-3 catalog entries. That does not establish Sonic 3.6 selection or acceptance by the deployed voice worker. Deepgram speech recognition support likewise does not establish Flux TTS support; Deepgram is not in the inspected native TTS admission set.

Use the Cartesia model-migration guide to review existing configured choices, and treat the exact models compared here as a direct-provider evaluation until support is verified. For an AI receptionist, the practical decision is whether the chosen supported workflow stops obsolete speech, preserves the caller's correction and gives staff a reliable request. Check Burki pricing for that operating arrangement rather than applying the component rates above to the whole service.

Ready to try Burki?

Create an assistant and check your available browser practice allowance.

Create your assistant

Trial eligibility and available practice are shown in your workspace.

Related Articles