[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"article-doc:docs\u002Fconcepts\u002F2.stable-vs-partial-text":3},"---\ntitle: Stable vs. Partial Text\ndescription: Live transcription is inherently provisional. Understanding the distinction between partial and stable text is essential for building live speech interfaces.\n---\n::callout{icon=\"i-lucide-info\"}\nCurrent API behavior\nThis page explains the general concept of partial vs. stable text.\n\nIn the **current realtime API**, only final\u002Fstable transcription events are pushed to the client (`conversation.item.input_audio_transcription.completed`). There is no partial-text event stream at this time, so you do not need to implement rollback or replacement logic.\n::\n\nLive transcription is inherently provisional.\n\nWhen a speaker is still talking, the system does not yet have all of the information required to interpret the utterance.\n\nThat means some text should be treated as **working text**, while other text can become increasingly stable.\n\n## Partial text\n\nPartial text represents the system's current interpretation of ongoing speech.\n\nIt is optimized for responsiveness.\n\nPartial text may change as:\n\n- additional audio arrives\n- sentence boundaries become clearer\n- ambiguous words are resolved\n- surrounding context changes the interpretation\n\nApplications should assume partial text is mutable.\n\n## Stable text\n\nStable text represents content that has reached a stronger level of contextual confidence.\n\nIt is intended to provide a more reliable boundary for applications that need to:\n\n- display persistent text\n- translate a segment\n- save conversation history\n- trigger downstream processing\n- build conversational context\n\nThe exact stabilization signals exposed by each API are documented in the corresponding API reference.\n\n## Stability is a lifecycle\n\nIt is useful to think of live text as moving through states rather than suddenly becoming correct:\n\n```text\nspeech\n  ↓\nworking interpretation\n  ↓\ncontext develops\n  ↓\nstabilization\n  ↓\nstable context\n```\n\nThe important distinction is therefore not simply:\n\n```text\nwrong → correct\n```\n\nbut:\n\n```text\nmutable → increasingly reliable\n```\n\nThis distinction becomes especially important when building user interfaces for live captions and translation.\n",1790059118948]