> ## Documentation Index
> Fetch the complete documentation index at: https://developer.suki.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Audio Dictation

> Learn about the capabilities, common use cases, and how to choose Partner APIs, Web SDK, or Dictation SDK for Audio Dictation

<div className="quick-summary-wrapper">
  <div className="quick-summary-header">
    <span className="quick-summary-icon" aria-hidden="true" />

    <span className="quick-summary-title">Quick summary</span>
  </div>

  <div className="quick-summary-content">
    Audio Dictation converts spoken conversations into text in real time. Use Partner APIs for full control, the Web SDK for browser apps with Suki dictation components, or the Dictation SDK for a hosted iframe experience with in-field and scratchpad modes.
  </div>

  <div className="quick-summary-footer">
    <span className="quick-summary-footer-icon" aria-hidden="true" />

    <span className="quick-summary-footer-text">Last updated:</span>
    <span className="quick-summary-footer-date">June 2026</span>
  </div>
</div>

<Info>
  **Audio Dictation is supported by:** Ambient Partner APIs, Web SDK, Dictation SDK
</Info>

<Note>
  * For **standalone** transcription with your own UI and server logic, use the REST-based [Dictation APIs](/api-reference/audio-transcription/create-session) and follow [Basic usage](/documentation/dictation-basic-usage).
  * For **browser** apps with Suki Web SDK packages, use the [Web SDK for audio dictation](/web-sdk/dictation-overview).
  * To embed dictation through a **Suki-hosted iframe**, use the [Dictation SDK](/dictation-sdk/introduction) <Badge color="yellow" size="sm" icon="sparkles">Beta</Badge>.
</Note>

Audio Dictation lets providers speak naturally and receive transcribed text in real time. You can use it to capture clinical conversations, dictate notes, or populate fields in your application without manual transcription.

The Audio Dictation workflow focuses only on speech-to-text transcription. Unlike ambient documentation workflows, it does not generate structured clinical notes or summaries. This makes it a good fit when you need fast, lightweight transcription that integrates directly into your own workflows and user experience.

You can use Audio Dictation in both in-person and virtual care scenarios. Stream audio through the SDKs or APIs, receive intermediate and final transcripts, and manage dictation sessions in your application. The APIs and SDKs give you control over audio capture, session lifecycle, transcript handling, and downstream processing.

## Common use cases

<CardGroup cols={2}>
  <Card title="Support in-person clinical dictation" icon="user">
    Capture provider dictation during in-person clinical encounters and retrieve transcribed text for downstream documentation workflows.
  </Card>

  <Card title="Support telehealth dictation workflows" icon="video">
    Capture provider dictation during virtual visits and return transcribed text for use in telehealth or remote care workflows.
  </Card>

  <Card title="Populate fields in your application" icon="input-text">
    Stream dictation into note fields, forms, or scratchpad areas in a web application using Web SDK or Dictation SDK patterns.
  </Card>

  <Card title="Build custom transcription pipelines" icon="code">
    Own session lifecycle, audio capture, and transcript handling end to end with Partner REST and WebSocket APIs.
  </Card>
</CardGroup>

## Key features

<CardGroup cols={2}>
  <Card title="Real-time Transcription" icon="microphone">
    See text appear as people speak, no waiting for the conversation to end.
  </Card>

  <Card title="Multiple Sessions" icon="layer-group">
    Run multiple dictation sessions under one parent session for complex workflows.
  </Card>

  <Card title="WebSocket Streaming" icon="wifi">
    Low-latency audio streaming for fast, responsive dictation.
  </Card>

  <Card title="Clean Transcripts" icon="file-lines">
    Automatically formatted with proper punctuation, capitalization, and filler words removed.
  </Card>

  <Card title="Intermediate and Final Texts" icon="align-left">
    Receive both intermediate (partial) transcripts as speech is processed and final transcripts when segments are complete.
  </Card>
</CardGroup>

## How it works

If you use the **REST-based Partner APIs**, the dictation workflow has three steps:

1. **Create a session** -
   Create a dictation session and receive a transcription\_session\_id.

2. **Stream audio** -
   Open a WebSocket connection and stream audio data to the session.

3. **Receive transcripts** -
   Receive transcribed text in real time as audio is processed.

**Handling multiple audio streams**

You can connect multiple WebSocket streams to the same dictation session by using the same transcription\_session\_id.

This allows you to:

* Stream audio from multiple sources
* Reconnect dropped WebSocket connections
* Support complex audio workflows

<Note>
  Transcripts from all streams are combined into a single dictation session.
</Note>

### Workflow for Partner APIs

```mermaid actions={false} theme={"theme":{"light":"github-dark","dark":"material-theme-darker"}}
flowchart TD
    A[Create session] --> B[Get parent session ID]
    B --> C[Stream audio]
    C --> D[Get transcripts]
    D --> E{More audio?}
    E -->|Yes| C
    E -->|No| F[End session]
    
    style A fill:#FFF394,stroke:#333,color:#000
    style B fill:#FFF394,stroke:#333,color:#000
    style C fill:#FFF394,stroke:#333,color:#000
    style D fill:#FFF394,stroke:#333,color:#000
    style E fill:#FFF394,stroke:#333,color:#000
    style F fill:#FFF394,stroke:#333,color:#000
```

## Available integrations

<Tabs>
  <Tab title="Partner APIs" icon="code">
    Use Partner APIs to build custom dictation workflows with direct control over audio streaming, session management, and transcript handling.

    Partner APIs are best for server-side integrations or applications that manage their own UI and workflow orchestration.

    With Partner APIs, you can:

    * [Create Audio Dictation sessions](/api-reference/audio-transcription/create-session)
    * [Stream audio through WebSocket connections](/api-reference/audio-transcription/stream-transcription)
    * [End Audio Dictation sessions](/api-reference/audio-transcription/end-session)

    <Note>
      For WebSocket handshake and wire format details, refer to the [Dictation streaming](/documentation/dictation-streaming) guide.
    </Note>
  </Tab>

  <Tab title="Web SDK" icon="js">
    Use the Web SDK to add dictation to browser-based JavaScript or React applications.

    The Web SDK provides prebuilt dictation components and shared authentication through `@suki-sdk/core`. You can launch dictation with `dictationClient.show({ ... })` or render the React `Dictation` component.

    To get started, refer to the [Web SDK for Audio Dictation](/web-sdk/dictation-overview) guide, then follow the [JavaScript](/web-sdk/guides/dictation-javascript) or [React](/web-sdk/guides/dictation-react) integration guides.
  </Tab>

  <Tab title="Dictation SDK" icon="window">
    Use the Dictation SDK to add hosted real-time speech-to-text experiences to browser applications.

    The Dictation SDK supports in-field dictation and scratchpad workflows without requiring you to manage REST APIs or WebSocket connections directly.

    The SDK manages authentication, iframe lifecycle, and transcript callbacks for you.

    To learn more, refer to the following guides:

    * [Dictation SDK overview](/dictation-sdk/introduction)
    * [Quickstart](/dictation-sdk/quickstart)
    * [In-field mode](/dictation-sdk/guides/in-field-mode)
    * [Scratchpad mode](/dictation-sdk/guides/scratchpad-mode)

    <Note>
      The Dictation SDK is separate from the Headless Web SDK and direct Audio Dictation API integrations.
    </Note>
  </Tab>
</Tabs>

## Usage scenarios

If you're not sure which integration fits your use case, use the following table to map your scenario to the recommended integration. Best fit indicates the integration we recommend for that scenario.

| Scenario                                                                                 | Partner APIs | Web SDK  | Dictation SDK |
| :--------------------------------------------------------------------------------------- | :----------- | :------- | :------------ |
| You create sessions, stream on `/ws/transcribe`, and handle transcripts in your own code | Best fit     |          |               |
| Your backend or non-browser client owns audio capture and storage                        | Best fit     |          |               |
| You need multiple WebSocket streams on one `transcription_session_id`                    | Best fit     |          |               |
| Browser app in JavaScript or React with your own page layout and fields                  |              | Best fit |               |
| Dictation into a specific input (in-field mode) with a Suki-hosted iframe                |              |          | Best fit      |
| Dictation in a scratchpad panel, not tied to one field                                   |              |          | Best fit      |

## Next steps

<Icon icon="file-lines" iconType="solid" /> Refer to the [Basic usage](/documentation/dictation-basic-usage) guide to get started with dictation using our Partner APIs.
