From 643d6391c5e9c39f004ee48071d211156211f1c2 Mon Sep 17 00:00:00 2001 From: liujiahua123123 Date: Sun, 25 Oct 2026 11:19:16 +0000 Subject: [PATCH] docs(realtime-stt): drop the client-set draft interval The server now decides the draft cadence: results.draft_interval_ms is accepted and ignored, and session_started no longer echoes it. Remove the config row, the schema properties (config and configure), the session_started example field, and "at most every draft_interval_ms" from the draft descriptions. The limits row (at most every 250 ms) stays true. Co-Authored-By: Claude Opus 5.5 --- api-reference/asyncapi-asr-realtime.yml | 17 +++-------------- .../endpoint/websocket/asr-realtime.mdx | 3 +-- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/api-reference/asyncapi-asr-realtime.yml b/api-reference/asyncapi-asr-realtime.yml index 236207a..0e21a0a 100644 --- a/api-reference/asyncapi-asr-realtime.yml +++ b/api-reference/asyncapi-asr-realtime.yml @@ -499,7 +499,6 @@ components: silence_timeout_ms: 5000 results: drafts: true - draft_interval_ms: 250 ignore_timestamps: true diarize: true vad_events: false @@ -627,10 +626,9 @@ components: audio_committed_ms: type: integer description: | - Live draft of the open turn, with `results.drafts: true`. Best effort, - at most every `draft_interval_ms`. For live captions, show - `settled_text` as stable and the rest of `text` as tentative; take - the final text from `committed`. + Live draft of the open turn, with `results.drafts: true`. Best effort. + For live captions, show `settled_text` as stable and the rest of + `text` as tentative; take the final text from `committed`. examples: - payload: type: draft @@ -1161,11 +1159,6 @@ components: type: boolean default: false description: Send live `draft` messages. - draft_interval_ms: - type: integer - minimum: 0 - default: 250 - description: Minimum time between drafts. Smaller values count as 250. ignore_timestamps: type: boolean default: true @@ -1222,10 +1215,6 @@ components: drafts: type: boolean description: Send live `draft` messages. - draft_interval_ms: - type: integer - minimum: 0 - description: Minimum time between drafts. Smaller values count as 250. ignore_timestamps: type: boolean description: "`false` adds `words` with timings to `committed`." diff --git a/api-reference/endpoint/websocket/asr-realtime.mdx b/api-reference/endpoint/websocket/asr-realtime.mdx index 76ebf76..6f3d5fe 100644 --- a/api-reference/endpoint/websocket/asr-realtime.mdx +++ b/api-reference/endpoint/websocket/asr-realtime.mdx @@ -112,7 +112,6 @@ Audio sent before `session_started` is not lost: once the session has started, t | `turn_detection.eager` | No | `false` | `true` sends [`eager_end_of_turn`](#eager_end_of_turn) in `auto` mode. | | `turn_detection.silence_timeout_ms` | No | Depends on mode | See [`silence_timeout_ms`](#silence_timeout_ms). | | `results.drafts` | No | `false` | `true` sends live [`draft`](#draft) messages. | -| `results.draft_interval_ms` | No | `250` | Minimum time between drafts. Smaller values count as 250. | | `results.ignore_timestamps` | No | `true` | `false` adds word timings (`words`) to `committed`. | | `results.diarize` | No | `true` | `true`, `false` or `"auto"` (same as `true`); the strings `"true"` and `"false"` are accepted too. `false` removes speaker tags from the text. See [Speakers](#speakers). | | `results.vad_events` | No | `false` | `true` sends [`vad`](#vad) messages. | @@ -296,7 +295,7 @@ A turn opened: voice activity began. It is sent shortly after voice activity beg | `language_code` | string | Optional. ISO 639-1 code. See [Language](#language). | | `audio_ms` | integer | The audio position the draft covers up to. | -Each draft **replaces** the previous one for the turn. Drafts are best effort, sent at most every `draft_interval_ms`, and only with `results.drafts: true`. Turn them on for live captions; an agent that acts on `eager_end_of_turn` and `committed` does not need them. Drafts may pause during long background sounds and resume when `user_turn_taken` comes. +Each draft **replaces** the previous one for the turn. Drafts are best effort and only sent with `results.drafts: true`. Turn them on for live captions; an agent that acts on `eager_end_of_turn` and `committed` does not need them. Drafts may pause during long background sounds and resume when `user_turn_taken` comes. #### Settled text