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

FieldKindDefaultDescription
url requiredURL or file—Audio file URL to transcribe
extraJSON—Arbitrary key-value pairs that are attached to the API response for usage in downstream processing
redactJSON—Redaction removes sensitive information from your transcripts
searchJSON—Search for terms or phrases in submitted audio
diarizetrue 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`.
keytermlist—Key term prompting improves recognition of specialized terminology and brands.
replaceJSON—Search for terms or phrases in submitted audio and replaces them
encodingone of
linear16, flac, mulaw, amr-nb, amr-wb, opus, speex, g729
—Specify the expected encoding of your submitted audio
keywordsJSON—Keywords can boost or suppress specialized terminology and brands. `keywords` is not supported with Nova-3 models; use `keyterm` instead.
languageone 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
enThe [BCP-47 language tag](https://tools.ietf.org/html/bcp47) that hints at the primary spoken language.
numeralstrue or falsefalseNumerals converts numbers from written format to numerical format
dictationtrue or falsefalseDictation mode for controlling formatting with dictated speech
punctuatetrue or falsefalseAdd punctuation and capitalization to the transcript
utt_splitnumber0.8Seconds to wait before detecting a pause between words in submitted audio
paragraphstrue or falsefalseSplits audio into paragraphs to improve transcript readability
utterancestrue or falsefalseSegments speech into meaningful semantic units
filler_wordstrue or falsefalseFiller Words can help transcribe interruptions in your audio, like "uh" and "um"
measurementstrue or falsefalseSpoken measurements will be converted to their corresponding abbreviations
multichanneltrue or falsefalseTranscribe each audio channel independently
smart_formattrue or falsefalseApply formatting to transcript output. When set to true, additional formatting will be applied to transcripts to improve readability
diarize_modelone of
latest, v1, v2
—Select and enable a specific diarization model version.
language_hintJSON—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_entitiestrue or falsefalseIdentifies and extracts key entities from content in submitted audio
detect_languageJSON—Identifies the dominant language spoken in submitted audio
profanity_filtertrue or falsefalseProfanity 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>"
    }
  }'