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

# Audio

> POST /v1/audio/transcriptions and /v1/audio/speech — managed speech-to-text and text-to-speech.

<Note>
  Base URL: `https://api.orbitrage.ai/v1` · Auth: `Authorization: Bearer orb_…`
</Note>

Orbitrage exposes the OpenAI Audio API and routes it to a managed **Deepgram**
model (included with your account — no BYOK required). Speech-to-text is billed
per minute of audio; text-to-speech per 1,000 input characters; both at the
provider rate plus the 2.5% infra markup.

## Transcriptions

```
POST /v1/audio/transcriptions
POST /v1/audio/translations
```

Accepts OpenAI multipart (`file` + `model`), a raw audio body with an audio
`Content-Type`, or a JSON `{"url": "..."}`. `model` defaults to `nova-3`.

```bash theme={null}
curl https://api.orbitrage.ai/v1/audio/transcriptions?model=nova-3 \
  -H "Authorization: Bearer $ORBITRAGE_API_KEY" \
  -H "Content-Type: audio/wav" \
  --data-binary @call.wav
```

Response (OpenAI-compatible; `verbose_json` returns Deepgram's full payload):

```json theme={null}
{ "text": "…transcript…", "duration": 25.93, "model": "nova-3", "provider": "deepgram" }
```

## Speech

```
POST /v1/audio/speech
```

Body: `{ "model": "aura-2-thalia-en", "input": "…", "response_format": "mp3" }`.
`response_format` maps to a Deepgram container/encoding (`mp3` default, `wav`,
`opus`, `flac`, `aac`). The audio streams back for low time-to-first-byte.

```bash theme={null}
curl https://api.orbitrage.ai/v1/audio/speech?model=aura-2-thalia-en \
  -H "Authorization: Bearer $ORBITRAGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":"Hello from Orbitrage."}' \
  --output hello.mp3
```

## Response headers

Every audio call returns the standard Orbitrage observability headers so you can
read cost and routing inline:

| Header                      | Meaning                             |
| --------------------------- | ----------------------------------- |
| `X-ScaleASAP-Tier`          | `audio`                             |
| `X-ScaleASAP-Model`         | resolved model, e.g. `nova-3`       |
| `X-ScaleASAP-Provider`      | `deepgram`                          |
| `X-ScaleASAP-Total-Cost`    | billed cost in USD (markup applied) |
| `X-ScaleASAP-Audio-Seconds` | audio duration (transcription)      |
| `X-ScaleASAP-Step-Id`       | the `routing_steps` row id          |

<Tip>
  See [Audio examples](/examples/audio) for Python/Node SDK snippets and the full
  model list.
</Tip>
