AssemblyAISpeech to textAvailable now

universal-2

universal-2 is a speech to text tool from AssemblyAI that runs in the background and returns structured JSON. Pay as you go from $0.000003612 per second, with one API key.

Try itfrom $0.000003612 / second

Pricing

$0.195 per hour of audio. Optional features add, per hour: speaker labels $0.026, key terms $0.065, translation $0.078, speaker identification $0.026, custom formatting $0.039, action items $0.026, summaries $0.026 ($0.091 at medium effort), entity detection $0.104, sentiment $0.026, key phrases $0.013, topic detection $0.195, content moderation $0.195, profanity filter $0.013, PII redaction $0.104, audio redaction $0.065, medical mode $0.195, chapters $0.104, older summarization $0.039. Measured from the input file, for each audio channel with multichannel 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
audio_url requiredURL or file—The URL of the audio or video file to transcribe.
domainone of
medical-v1
—Enable domain-specific transcription models to improve accuracy for specialized terminology.
topicslist—This parameter does not currently have any functionality attached to it.
punctuatetrue or falsetrueEnable [Automatic Punctuation](https://www.assemblyai.com/docs/pre-recorded-audio), can be true or false
redact_piitrue or falsefalseRedact PII from the transcribed text using the Redact PII model, can be true or false.
format_texttrue or falsetrueEnable [Text Formatting](https://www.assemblyai.com/docs/pre-recorded-audio), can be true or false
temperaturenumber
0 to 1
—Control the amount of randomness injected into the model's response. Only takes effect on Universal-3.5 Pro, so Universal-2 ignores it.
audio_end_atnumber (whole)—The point in time, in milliseconds, to stop transcribing in your media file.
disfluenciestrue or falsefalseTranscribe [Filler Words](https://www.assemblyai.com/docs/pre-recorded-audio/include-filler-words), like "umm", in your media file; can be true or false.
multichanneltrue or falsefalseEnable [Multichannel](https://www.assemblyai.com/docs/pre-recorded-audio/transcribe-multiple-audio-channels) transcription, can be true or false.
summary_typeone of
bullets, bullets_verbose, gist, headline, paragraph
—The type of summary.
auto_chapterstrue or false—Enable [Auto Chapters](https://www.assemblyai.com/docs/speech-understanding/auto-chapters), can be true or false.
custom_topicstrue or false—This parameter does not currently have any functionality attached to it.
language_codeJSON—The language of your audio file.
summarizationtrue or false—Enable [Summarization](https://www.assemblyai.com/docs/speech-understanding/summarization), can be true or false.
summary_modelone of
informative, conversational, catchy
—The model to summarize the transcript.
content_safetytrue or falsefalseEnable [Content Moderation](https://www.assemblyai.com/docs/content-moderation), can be true or false
iab_categoriestrue or falsefalseEnable [Topic Detection](https://www.assemblyai.com/docs/speech-understanding/topic-detection), can be true or false
language_codeslist—The language codes of your audio file. Used for [Code switching](/speech-to-text/pre-recorded-audio/code-switching) One of the values specified must be `en`.
redact_pii_subone of
entity_name, hash
—The replacement logic for detected PII, can be `entity_name` or `hash`. See [PII redaction](https://www.assemblyai.com/docs/pii-redaction) for more details.
speaker_labelstrue or falsefalseEnable [Speaker diarization](https://www.assemblyai.com/docs/pre-recorded-audio/label-speakers), can be true or false. Requires `punctuate` to be `true`.
auto_highlightstrue or falsefalseEnable [Key Phrases](https://www.assemblyai.com/docs/speech-understanding/key-phrases), either true or false
custom_spellingJSON—Customize how words are spelled and formatted using to and from values.
keyterms_promptlist—Improve accuracy with up to 200 (for Universal-2) or 1000 (for Universal-3.5 Pro) domain-specific words or phrases (maximum 6 words per phrase).
speaker_optionsJSON—Specify options for [Speaker diarization](https://www.assemblyai.com/docs/pre-recorded-audio/label-speakers#set-a-range-of-possible-speakers).
audio_start_fromnumber (whole)—The point in time, in milliseconds, to begin transcribing in your media file.
entity_detectiontrue or falsefalseEnable [Entity Detection](https://www.assemblyai.com/docs/speech-understanding/entity-detection), can be true or false
filter_profanitytrue or falsefalseFilter profanity from the transcribed text, can be true or false.
redact_pii_audiotrue or falsefalseGenerate a copy of the original media file with spoken PII "beeped" out, can be true or false.
speech_thresholdnumber
0 to 1
—Reject audio files that contain less than this fraction of speech.
speakers_expectednumber (whole)—Tells the speaker label model how many speakers it should attempt to identify.
language_detectiontrue or false—[Automatic language detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection) identifies the spoken language and routes the request to the best model.
sentiment_analysistrue or falsefalseEnable [Sentiment Analysis](https://www.assemblyai.com/docs/speech-understanding/sentiment-analysis), can be true or false. Requires `punctuate` to be `true`.
redact_pii_policieslist—The list of PII Redaction policies to enable. See [PII redaction](https://www.assemblyai.com/docs/pii-redaction) for more details.
speech_understandingJSON—Enable speech understanding tasks like [Translation](https://www.assemblyai.com/docs/speech-understanding/translation), [Speaker Identification](https://www.assemblyai.com/docs/speech-understanding/speaker-identification), and [Custom Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting).
redact_static_entitiesJSON—A map of user-defined terms to redact, where each key is a redaction label and each value is a list of exact terms to match (e.g. `{ "INTERNAL_TOOL": ["Bearclaw", "Cubclaw"] }`).
redact_pii_audio_optionsJSON—Specify options for [PII redacted audio](https://www.assemblyai.com/docs/pii-redaction#request-for-redacted-audio) files.
redact_pii_audio_qualityone of
mp3, wav
—Controls the filetype of the audio created by redact_pii_audio.
content_safety_confidencenumber (whole)
25 to 100
—The confidence threshold for the [Content Moderation](https://www.assemblyai.com/docs/content-moderation) model.
language_detection_optionsJSON—Specify options for [Automatic Language Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection).
redact_pii_return_unredactedtrue or false—When set to `true`, returns the original unredacted transcript alongside the redacted one in the same response.
language_confidence_thresholdnumber
0 to 1
—The confidence threshold for the automatically detected language.

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": "assemblyai",
    "model": "universal-2",
    "input": {
      "audio_url": "<audio_url>"
    }
  }'