
Speech-to-text transcription using the Nova-3 model with multi-language support and advanced customizable settings for production workloads.
Speech-to-text transcription using the Nova-3 model with multi-language support and advanced customizable settings for production workloads.
deepgram-nova-3POST /v1/audio/transcriptionsLive pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.
Deepgram Nova 3 runs through POST /v1/audio/transcriptions. The request returns a job_id right away; poll GET /v1/jobs/{job_id} until the job completes and read the output URLs from the result. Get an API key from the EmpirioLabs dashboard.
curl https://api.empiriolabs.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepgram-nova-3",
"audio_url": "https://example.com/meeting-recording.mp3"
}'curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY"import requests
response = requests.post(
"https://api.empiriolabs.ai/v1/audio/transcriptions",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
json={
"model": "deepgram-nova-3",
"audio_url": "https://example.com/meeting-recording.mp3",
},
)
job = response.json()
# Generation runs as an async job. Poll until it completes.
import time
while True:
status = requests.get(
f"https://api.empiriolabs.ai/v1/jobs/{job['job_id']}",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
).json()
if status.get("status") in ("completed", "failed"):
print(status)
break
time.sleep(5)Request parameters supported by the Deepgram Nova 3 API on EmpirioLabs. Defaults apply when a field is omitted.
| Parameter | Type | Default | Range / values | Description |
|---|---|---|---|---|
| file | string | - | - | Audio file (mp3, wav, m4a, ogg, etc.) uploaded as multipart/form-data. |
| file_url | string | - | - | URL of the audio to transcribe. Mutually exclusive with file. |
| smart_format | boolean | true | - | Apply smart formatting (capitalize, punctuate, format numbers/dates). |
| profanity_filter | boolean | false | - | Mask profane words in the transcript with ****. |
| numerals | boolean | false | - | Convert spoken numbers to digits (e.g. "five" → "5"). |
| measurements | boolean | false | - | Convert measurement words to abbreviations (e.g. "kilograms" → "kg"). |
| language | enum | auto | auto, en, es, fr, de, it, pt, ja, zh, hi, ru, nl | ISO 639-1 language code. Auto-detect if omitted. |
| redact_pii | boolean | false | - | Mask personally-identifiable information in the transcript. |
| redact_pci | boolean | false | - | Mask payment card numbers in the transcript. |
| keyterm | string | - | - | Comma-separated key terms to boost recognition accuracy for (jargon, names). |
| diarize | boolean | false | - | Identify different speakers and tag each utterance with a speaker label. |
| paragraphs | boolean | true | - | Group output into paragraphs based on pauses and speaker turns. |
| dictation | boolean | false | - | Interpret commands like "period", "comma", "new line" as punctuation/formatting. |
| punctuate | boolean | true | - | Add punctuation to the transcript. |
English, Spanish, French, German, Italian, Portuguese, Japanese, Chinese, Hindi, Russian, Dutch.
On EmpirioLabs, Deepgram Nova 3 is billed pay as you go: Transcription $0.014 per minute of audio. The live rate card on this page always matches what the API charges.
Deepgram Nova 3 is served through POST /v1/audio/transcriptions on api.empiriolabs.ai with standard bearer-token authentication.
Yes. The EmpirioLabs playground runs Deepgram Nova 3 in the browser with the same parameters the API exposes, so you can test prompts before writing code.
Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.
Explore our models, or contact us about business inquiries, custom deployments, or anything else.