# OpenRouter APIs — Deepgram: Aura-2 (deepgram/aura-2)

Guide for calling every confirmed OpenRouter API that serves `deepgram/aura-2`.

Model page: https://openrouter.ai/deepgram/aura-2
Create an API key: https://openrouter.ai/settings/keys

## Authentication

Send this header with every request:

- Authorization: Bearer $OPENROUTER_API_KEY

## Text-to-Speech API

Synthesize audio with `deepgram/aura-2` through OpenRouter's Text-to-Speech API.

Docs: https://openrouter.ai/docs/api/api-reference/tts/create-speech

### Endpoint

POST https://openrouter.ai/api/v1/audio/speech

Headers:
- Content-Type: application/json

### Request fields (deepgram/aura-2)

- model: string (required) — `"deepgram/aura-2"`
- input: string (required) — text to synthesize
- voice: "aura-2-thalia-en" | "aura-2-agathe-fr" | "aura-2-agustina-es" | "aura-2-alvaro-es" | "aura-2-ama-ja" | "aura-2-amalthea-en" | "aura-2-andromeda-en" | "aura-2-antonia-es" | "aura-2-apollo-en" | "aura-2-aquila-es" | "aura-2-arcas-en" | "aura-2-aries-en" | "aura-2-asteria-en" | "aura-2-athena-en" | "aura-2-atlas-en" | "aura-2-aurelia-de" | "aura-2-aurora-en" | "aura-2-beatrix-nl" | "aura-2-callista-en" | "aura-2-carina-es" | "aura-2-celeste-es" | "aura-2-cesare-it" | "aura-2-cinzia-it" | "aura-2-cora-en" | "aura-2-cordelia-en" | "aura-2-cornelia-nl" | "aura-2-daphne-nl" | "aura-2-delia-en" | "aura-2-demetra-it" | "aura-2-diana-es" | "aura-2-dionisio-it" | "aura-2-draco-en" | "aura-2-ebisu-ja" | "aura-2-elara-de" | "aura-2-electra-en" | "aura-2-elio-it" | "aura-2-estrella-es" | "aura-2-fabian-de" | "aura-2-flavio-it" | "aura-2-fujin-ja" | "aura-2-gloria-es" | "aura-2-harmonia-en" | "aura-2-hector-fr" | "aura-2-helena-en" | "aura-2-hera-en" | "aura-2-hermes-en" | "aura-2-hestia-nl" | "aura-2-hyperion-en" | "aura-2-iris-en" | "aura-2-izanami-ja" | "aura-2-janus-en" | "aura-2-javier-es" | "aura-2-julius-de" | "aura-2-juno-en" | "aura-2-jupiter-en" | "aura-2-kara-de" | "aura-2-lara-de" | "aura-2-lars-nl" | "aura-2-leda-nl" | "aura-2-livia-it" | "aura-2-luciano-es" | "aura-2-luna-en" | "aura-2-maia-it" | "aura-2-mars-en" | "aura-2-melia-it" | "aura-2-minerva-en" | "aura-2-neptune-en" | "aura-2-nestor-es" | "aura-2-odysseus-en" | "aura-2-olivia-es" | "aura-2-ophelia-en" | "aura-2-orion-en" | "aura-2-orpheus-en" | "aura-2-pandora-en" | "aura-2-phoebe-en" | "aura-2-pluto-en" | "aura-2-rhea-nl" | "aura-2-roman-nl" | "aura-2-sander-nl" | "aura-2-saturn-en" | "aura-2-selena-es" | "aura-2-selene-en" | "aura-2-silvia-es" | "aura-2-sirio-es" | "aura-2-theia-en" | "aura-2-uzume-ja" | "aura-2-valerio-es" | "aura-2-vesta-en" | "aura-2-viktoria-de" | "aura-2-zeus-en" (optional) — provider-specific voice identifier
- response_format: "mp3" | "pcm" (optional) — output audio encoding; defaults to pcm

### Response

Success returns raw audio bytes, not JSON.

- `Content-Type` identifies the audio encoding, such as `audio/mpeg` or `audio/pcm`.
- `X-Generation-Id` identifies the billed generation.
- Write the response body directly to an audio file; do not call `response.json()`.

### Examples

#### Text to Speech

```bash
curl https://openrouter.ai/api/v1/audio/speech \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  --output output.mp3 \
  -d '{
  "model": "deepgram/aura-2",
  "input": "The warm light flows across the OpenRouter office as the evening settles in and the routing never stops. One interface, hundreds of models. Ready when you are.",
  "voice": "aura-2-callista-en",
  "response_format": "mp3"
}'
```

### Error differences

- 400 — malformed audio input or an audio option the routed provider does not support
- 502 — the upstream audio operation failed

## Errors

Failures return `{"error": {"code": <number>, "message": <string>}}` with the HTTP status:

- 400 — malformed request or an unsupported parameter
- 401 — missing or invalid API key
- 402 — insufficient credits
- 403 — spend limit reached, key disabled, or access blocked
- 404 — unknown model or no provider can serve the request
- 429 — rate limited; retry with backoff
- 502 — the operation failed upstream; failed generations are not billed

---

Canonical version of this document: https://openrouter.ai/deepgram/aura-2/llms.txt
