DeepgramSpeech to textAvailable now
nova-3
nova-3 is a speech to text tool from Deepgram that runs in the background and returns structured JSON. Pay as you go from $0.000028168 per second, with one API key.
Try itfrom $0.000028168 / second
Pricing
$0.00559 per minute. redact on adds $0.0026 per minute. keyterm adds $0.00169 per minute. detect_entities adds $0.00221 per minute. Measured from the input file, rounded up. Each audio channel counts when multichannel is on. The final charge comes from usage.
Limits
- Runs
- In the background
- Returns
- json
- Longest queue wait
- 3600s
- Run deadline
- 1800s
- Largest inline input
- 1024 KB
- Largest input file
- 500 MB
- Largest output
- 4768 MB
- Outputs per run
- 16
Input
| Field | Kind | Default | Description |
|---|---|---|---|
url required | URL or file | — | Audio file URL to transcribe |
extra | JSON | — | Arbitrary key-value pairs that are attached to the API response for usage in downstream processing |
redact | JSON | — | Redaction removes sensitive information from your transcripts |
search | JSON | — | Search for terms or phrases in submitted audio |
diarize | true or false | — | Deprecated: use `diarize_model` instead. Recognize speaker changes. Each word in the transcript will be assigned a speaker number starting at 0. Cannot be sent together with `diarize_model`. |
keyterm | list | — | Key term prompting improves recognition of specialized terminology and brands. |
replace | JSON | — | Search for terms or phrases in submitted audio and replaces them |
encoding | one of linear16, flac, mulaw, amr-nb, amr-wb, opus, speex, g729 | — | Specify the expected encoding of your submitted audio |
keywords | JSON | — | Keywords can boost or suppress specialized terminology and brands. `keywords` is not supported with Nova-3 models; use `keyterm` instead. |
language | one of af, af-ZA, ar, ar-AE, ar-DZ, ar-EG, ar-IQ, ar-IR, ar-JO, ar-KW, ar-LB, ar-MA, ar-PS, ar-QA, ar-SA, ar-SD, ar-SY, ar-TD, ar-TN, as, as-IN, be, be-BY, bg, bg-BG, bn, bn-IN, bs, bs-BA, ca, cs, cs-CZ, cy, da, da-DK, de, de-AT, de-CH, de-DE, el, en, en-AU, en-CA, en-GB, en-IN, en-NZ, en-US, es, es-419, es-AR, es-ES, es-MX, es-US, et, et-EE, eu, fa, fi, fr, fr-BE, fr-CA, fr-CH, fr-FR, gl, gu, gu-IN, he, hi, hr, hr-HR, hu, hu-HU, hy, hy-AM, id, id-ID, is, it, it-IT, ja, ja-JP, ka, ka-GE, kk, kk-KZ, kn, kn-IN, ko, ko-KR, lg, lt, lt-LT, lv, lv-LV, mk, mk-MK, ml, mn, mr, mr-IN, ms, nb, ne, nl, nl-BE, nl-NL, no, no-NO, pa, pa-IN, pl, pl-PL, ps, ps-AF, pt, pt-BR, pt-PT, ro, ru, ru-Latn, ru-RU, si, sk, sk-SK, sl, sl-SI, sl-SL, sr, sr-RS, sv, sv-SE, sw, ta, ta-IN, te, te-IN, th, th-TH, tl, tr, tr-TR, uk, ur, ur-PK, uz, vi, vi-VN, xh, zh, zh-CN, zh-HK, zh-Hans, zh-Hant, zh-TW, zu | en | The [BCP-47 language tag](https://tools.ietf.org/html/bcp47) that hints at the primary spoken language. |
numerals | true or false | false | Numerals converts numbers from written format to numerical format |
dictation | true or false | false | Dictation mode for controlling formatting with dictated speech |
punctuate | true or false | false | Add punctuation and capitalization to the transcript |
utt_split | number | 0.8 | Seconds to wait before detecting a pause between words in submitted audio |
paragraphs | true or false | false | Splits audio into paragraphs to improve transcript readability |
utterances | true or false | false | Segments speech into meaningful semantic units |
filler_words | true or false | false | Filler Words can help transcribe interruptions in your audio, like "uh" and "um" |
measurements | true or false | false | Spoken measurements will be converted to their corresponding abbreviations |
multichannel | true or false | false | Transcribe each audio channel independently |
smart_format | true or false | false | Apply formatting to transcript output. When set to true, additional formatting will be applied to transcripts to improve readability |
diarize_model | one of latest, v1, v2 | — | Select and enable a specific diarization model version. |
language_hint | JSON | — | Biases language detection toward one or more languages on Nova-3 multilingual (`language` = `multi`); ignored with any other `language`. Pass a list for several codes. A code that is not in the Nova-3 multilingual language list fails the request. |
detect_entities | true or false | false | Identifies and extracts key entities from content in submitted audio |
detect_language | JSON | — | Identifies the dominant language spoken in submitted audio |
profanity_filter | true or false | false | Profanity Filter looks for recognized profanity and converts it to the nearest recognized non-profane word or removes it from the transcript completely |
Same request in code
curl https://api.spiral.ai/v1/runs \
-H "Authorization: Bearer $SPIRAL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"provider": "deepgram",
"model": "nova-3",
"input": {
"url": "<url>"
}
}'