Deepgram: Aura-2
Deepgram Aura-2 generates speech in English, Spanish, German, French, Dutch, Italian and Japanese. Its voice catalogue, text-sensitive pacing and language-specific pronunciation controls support spoken prompts, narration and multilingual applications.
About the model
This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.
Aura-2 is Deepgram’s text-to-speech family with voices across seven languages: English, Spanish, German, French, Dutch, Italian and Japanese. It converts the supplied text into speech for customer-service replies, telephone menus, explanations and narration. The manufacturer describes pacing, expressiveness and conversational fillers as responses to the wording and context of the supplied text.
Match the voice to the language and task
Each voice is identified by its family, speaker and language. The catalogue distinguishes accents and delivery characteristics rather than treating every speaker as interchangeable. Thalia is an energetic American English option; Draco is a British voice associated with storytelling; Celeste is a Colombian Spanish voice associated with conversational and announcement uses. Choose the voice with the actual script and listener in mind.
Selected Spanish voices support English–Spanish code switching: Aquila, Carina, Diana, Javier and Selena. That capability belongs to those named speakers, not every voice in the family. For a mixed-language passage, preserve the intended language of product names and quoted phrases, and listen to the transition with a speaker whose documented profile supports the task.
Prepare text for speech
Aura-2’s formatting guide recommends sentence-ending punctuation, question marks for questions, commas for natural pauses and short standalone phrases. Give the final spoken text, not an instruction asking the synthesizer to write the message. A useful orientation script is: “Welcome. Choose a language, then select the topic you need. You can repeat the instructions at any time.” The punctuation separates the listener’s actions and gives the model a clearer rhythm.
Spell an identifier as separate letters when it must be read character by character. Define acronyms and avoid a long run-on sentence when several conditions must be explained. The maker also recommends quoting command words and checking a passage aloud before synthesis. For educational or product narration, retain the important terms while turning written headings and dense lists into complete spoken phrases.
Pace and pronunciation
The manufacturer documents speed and IPA pronunciation controls for English and Spanish. Aura-2’s speech-rate range is 0.7 to 1.5; for Spanish, it recommends 0.9 to 1.5 because slower settings may introduce disfluencies. Pronunciation and speed can be combined in this family. IPA overrides can target a specialist name or term, and the Aura-2 convention places the stress marker directly before the vowel.
The pronunciation-control specification allows up to five hundred overrides, with each IPA string no longer than 128 characters, and documents a 2,000-character input-text limit for that workflow. Aura-2 does not support the explicit pause-control feature documented for Flux TTS. Use sentence structure and punctuation to prepare the rhythm, and divide longer material into coherent passages when the chosen workflow requires it.
Audio delivery and use
The manufacturer provides complete-request synthesis and streaming text-to-audio workflows. Its media guide distinguishes raw streaming PCM, mu-law and A-law from file-oriented output options such as WAV, MP3, Opus, FLAC and AAC. The documented PCM/WAV default for the Aura request workflow is 24 kHz. File containers, sample rates and encodings form valid combinations; a telephone connection and a downloadable narration file can require different choices.
Aura-2 remains a separate family from first-generation Aura and from Flux TTS. Flux’s cross-turn state, interrupt feedback and batch-only pause controls are not features to infer from an Aura-2 voice name. The useful output is a spoken version of the actual script in a suitable language, accent and audio representation. Review names, language switches, punctuation-led pacing and important instructions with the intended listener before reusing the recording.
Ailoot Ultra · Text to speech POST /v1/audio/speech deepgram/aura-2
deepgram/aura-2Overview
Deepgram Aura-2 generates speech in English, Spanish, German, French, Dutch, Italian and Japanese. Its voice catalogue, text-sensitive pacing and language-specific pronunciation controls support spoken prompts, narration and multilingual applications.
- Accepted inputs
- Text
- Results
- Audio
Available in Ailoot · inputs & methods
Ailoot Ultra · Text to speech POST /v1/audio/speech
- Input types
text- Output types
audio- Output format
- mp3
| Field | Type | Requirement | Values & limits | Default |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits deepgram/aura-2 | Default— |
Fieldinput | Typestring | RequirementRequired | Values & limits Minimum length: 1 Unit: Unicode characters | Default— |
Fieldvoice | Typestring | RequirementRequired | Values & limits 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 | Default— |
Fieldresponse_format | Typestring | RequirementRequired | Values & limits mp3 | Default— |
Input material combinations
text_to_speech · Required: input
Method parameters and lifecycle
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, input, voice, response_format |
Parametervoice_ids | Contractaura-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 |
Parameterresponse_format | Contractmp3 |
Parametermax_input_characters | Contractnull |
Parameterother_options | Contractfalse |
Parameterinput | Contractexact UTF-8 text; Unicode character count without normalization |
Parametermaterial_types | Contracttext |
Lifecycle: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · actual returned task_id or media library record
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Select exact voice from this model profile.
Input characters and audio seconds are different meters.
Pricing
Tariff references do not add request options. Supported parameters are listed for the selected method.
- Fast mode
- Not specified When fast mode is selected
- Flex mode
- Not specified When flex mode is selected
- Maximum reasoning effort
- Not specified When maximum reasoning effort uses the default adjustment
Ailoot rates
Prices by configuration
Match each charge to the conditions shown. Use one rate for each set of alternative configurations.
| Configuration | Rate schedule | Billing unit | Charge |
|---|---|---|---|
| ConfigurationBase token rates | Rate scheduleBase rate | Billing unit— | Charge Input · Input tokens — / 1K tokens Output · Output tokens — / 1K tokens Input · Cache read — / 1K tokens Input · Cache write — / 1K tokens Input · Cache write, 1 hour — / 1K tokens |
| Configurationinput character | Rate schedule— | Billing unitper input character | Charge Input · input character $0.00006 per input character |
Reference tariff details
Model-level reference schedules do not change method selection, quotes or charges. Active charges use the selected Ailoot method rates.
Deepgram: Aura-2
Prices by configuration
| Configuration | Billing conditions | Charge |
|---|---|---|
| ConfigurationDeepgram: Aura-2 · Default configuration | Billing conditionsDefault configuration | Charge Input · Input characters $0.00006 per input character |
Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →
Example requests
Ailoot Ultra · Text to speech
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}"
export AILOOT_VOICE_ID
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "deepgram/aura-2", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["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"]')
if voice not in allowed: raise SystemExit("Choose an accepted voice ID from this exact model profile")
p["voice"]=voice
p["response_format"]="mp3"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o speech.mp3
Receive and save results
Ailoot Ultra · Text to speech
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Other content reads
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-assets.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_MEDIA_TASK_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_MEDIA_TASK_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/tasks/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-task.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-task.json").read_text())))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_ASSET_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_ASSET_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/assets/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-asset.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-asset.json").read_text())))
PY_RESULT
Keep all completed results
Keep every complete returned response, file and content part.
Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.
If the original response needs checking
Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route.
Response fields
| Field | Type |
|---|---|
Fieldbinary audio | Typebytes |
Fieldresponse headers | Typeheaders |
Errors and next steps
| Response | Condition | Next step |
|---|---|---|
Response400 · invalid_request_error | ConditionInvalid required fields, material representation or parameter value | Next stepCorrect the indicated fields before a new creation request. |
Responseserver_error | ConditionThe returned response says the operation or result requires a check | Next stepKeep the original returned operation/task ID, request headers and response; continue supported reads of that original operation. Do not resubmit the creation request. |
Aliases
Model aliases
Ailoot Ultra deepgram/aura-2
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · Deepgram: Aura-2
- What inputs and results are available?
POST /v1/audio/speech·deepgram/aura-2:text→audio- Which fields does the request use?
POST /v1/audio/speech·deepgram/aura-2:model,input,voice,response_format