返回首页
Lanson Flow 文档库

::callout{icon="i-lucide-info"} Current API behavior This page explains the general concept of partial vs. stable text.

In the current realtime API, only final/stable 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. ::

Live transcription is inherently provisional.

When a speaker is still talking, the system does not yet have all of the information required to interpret the utterance.

That means some text should be treated as working text, while other text can become increasingly stable.

Partial text

Partial text represents the system's current interpretation of ongoing speech.

It is optimized for responsiveness.

Partial text may change as:

  • additional audio arrives
  • sentence boundaries become clearer
  • ambiguous words are resolved
  • surrounding context changes the interpretation
  • Applications should assume partial text is mutable.

    Stable text

    Stable text represents content that has reached a stronger level of contextual confidence.

    It is intended to provide a more reliable boundary for applications that need to:

  • display persistent text
  • translate a segment
  • save conversation history
  • trigger downstream processing
  • build conversational context
  • The exact stabilization signals exposed by each API are documented in the corresponding API reference.

    Stability is a lifecycle

    It is useful to think of live text as moving through states rather than suddenly becoming correct:

    speech
      ↓
    working interpretation
      ↓
    context develops
      ↓
    stabilization
      ↓
    stable context
    

    The important distinction is therefore not simply:

    wrong → correct
    

    but:

    mutable → increasingly reliable
    

    This distinction becomes especially important when building user interfaces for live captions and translation.