> ## Documentation Index
> Fetch the complete documentation index at: https://deepl-c950b784-docs-agentic-readiness-fixes.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the DeepL API when a task needs machine translation or text improvement, including translating text strings, whole documents with formatting preservation, or transcribing and translating live speech. Preferred terminology and phrasing may be enforced using customizations (glossaries, style rules, and translation memories). Retrieve supported languages for each product from the `/v3/languages` endpoints.
> Read the machine-readable API surface instead of inferring request shapes from prose: the REST spec is at https://developers.deepl.com/api-reference/openapi.yaml (also served as openapi.json) and the Voice WebSocket protocol is at https://developers.deepl.com/api-reference/voice/voice.asyncapi.yaml. These docs also expose an MCP server at https://developers.deepl.com/mcp (Streamable HTTP, no authentication).
> Use https://api.deepl.com for Pro plans and https://api-free.deepl.com for the Free plan. Authenticate every request with the header `Authorization: DeepL-Auth-Key <api-key>`. Never fabricate an API key: ask the user for one, or point them at https://developers.deepl.com/docs/getting-started/quickstart.
> Errors use standard HTTP status codes with a JSON body containing a `message` field, plus a `code` field where available, and an `X-Trace-ID` response header that identifies the request in DeepL's logs. Log `X-Trace-ID` by default. Retry 429 and 5xx with exponential backoff. Do not retry 456, which means the account quota is exhausted, or 400, which means the request itself is invalid.

# DeepL Voice API

> Transcribe and translate spoken audio in real time with the DeepL Voice API. Find the streaming guide, core concepts, and language and format reference.

The DeepL Voice API transcribes and translates spoken audio in real time over a WebSocket connection. Within a single streaming session, you can:

* Send one audio stream
* Receive transcripts in the source language
* Receive translations in multiple target languages
* Receive translated speech

<Info>
  **Speech-to-text** (real-time transcription and text translation) and **speech-to-speech** (translated TTS output) are available to all customers with a paid DeepL API subscription.

  The provisions applying to DeepL API Enterprise subscriptions also apply to Voice API speech-to-text, with [additions to the Terms and Conditions, Service Specification, and Data Processing Agreement](/api-reference/voice/deepl-voice-api-service-specification-updates) (new sub-processors have been added to serve specific languages).
</Info>

## Start here

<CardGroup cols={2}>
  <Card title="Real-Time Voice Quickstart" icon="waveform-lines" href="/docs/voice/real-time-voice-quickstart">
    Create a session, stream audio over WebSocket, and handle reconnections, with a complete Python example.
  </Card>

  <Card title="Understanding Voice Sessions" icon="lightbulb" href="/docs/voice/understanding-voice-sessions">
    Understand the session flow, token lifecycle, and how audio and results are delivered.
  </Card>

  <Card title="Message Encoding" icon="binary" href="/docs/voice/message-encoding">
    Choose between JSON and MessagePack for WebSocket messages.
  </Card>

  <Card title="Supported Voice Languages" icon="table-list" href="/docs/voice/supported-voice-languages">
    Check transcription, translation, and translated speech availability per language.
  </Card>

  <Card title="Voice API Requirements" icon="list-check" href="/docs/voice/voice-api-requirements">
    Check supported audio codecs and containers, chunk sizes, and session limits.
  </Card>

  <Card title="API reference" icon="code" href="/api-reference/voice/request-session">
    Full request, message, and response schemas for the Voice API endpoints.
  </Card>
</CardGroup>

## Customization

Two optional features let you tailor transcription and translation to your domain:

* **Spoken terms**: improve transcription of frequently used terms such as company-specific terminology, acronyms, product names, and team member names. Manage them in [DeepL Home](https://www.deepl.com/en/voice/spoken-terms) or via the API; see [Improving Transcription with Spoken Terms](/docs/customize/improving-transcription-with-spoken-terms).
* **Glossaries**: enforce specific translations for terms in the target language. A session can apply several glossaries in priority order; see the [Request Session reference](/api-reference/voice/request-session). Manage glossaries in [DeepL Home](https://www.deepl.com/en/glossary) or programmatically with the [Glossaries API](/docs/customize/managing-glossaries).

## Code examples

A reference implementation in Python is available in the [DeepL Python library repository](https://github.com/DeepL/deepl-python/tree/main/examples/voice/cli). The official DeepL SDKs don't integrate the Voice API yet, but you can use any WebSocket client library to interact with it.
