Skip to main content
Modulate offers several models with overlapping capabilities. This guide helps you pick the right one based on the kind of output you need, your latency requirements, language coverage, and audio constraints.

Start here: what kind of output do you need?

Start by deciding what you ultimately want back. Everything else — batch vs. streaming, language, enrichments — follows from this.

Acoustic signals only

A classification of the audio itself — spoken language, synthetic voice, emotion, accent, music vs. speech, or AI-generated music — with no transcript.

Transcription (maybe with signals)

A transcript, optionally enriched with speaker labels, emotion, accent, or PII/PHI handling.

Escalated behaviors

Higher-level conversation understanding — fraud, churn, compliance risks, and other behaviors — not just what was said.

Quick reference

Transcription

Deepfake Detection

PII/PHI Redaction

PII/PHI tagging (Transcription APIs) — wraps sensitive spans in tags within the transcript text; original content is preserved. PII/PHI audio redaction (Redaction APIs) — replaces each detected PII/PHI span with an empty marker tag (e.g. <pii:name></pii:name>, <pii:ssn></pii:ssn>, <phi></phi>) in the transcript text and silences the corresponding audio ranges in the returned MP3.

Language Detection

Language Detection is a pure classification endpoint — it returns no transcript, diarization, or enrichment data.

Emotion Detection

Emotion Detection is a pure classification endpoint — it returns a whole-file label and consecutive fixed-length windows, each with its own label, but no transcript. To get emotion labels alongside a transcript, use the emotion_signal enrichment on Multilingual Transcription instead.

Accent Detection

Accent Detection is a pure classification endpoint — it returns a whole-file label and consecutive fixed-length windows, each with its own label, but no transcript. To get accent labels alongside a transcript, use the accent_signal enrichment on Multilingual Transcription instead.

Music & Speech Detection

AI Music Detection

AI Music Detection answers a different question from Music & Speech Detection: is this music AI-generated? rather than is this music or speech? See AI Music Detection.

Velma Triage

Velma Triage is Modulate’s conversation-understanding model — you describe the behaviors you want to detect and Velma surfaces them from the audio. See What is Velma?.

Decision tree

Acoustic signals

You want a classification of the audio, not a transcript. Pick by the signal you need. For anything real-time, choose the streaming variant; otherwise use batch.
  • Spoken languageLanguage Detection (batch). Returns the detected language as an ISO 639-1 code and display name with a confidence score, from the first 30 seconds of audio. No transcript, diarization, or enrichment data.
  • Synthetic (AI-generated) voiceDeepfake Detection. Use streaming if you need continuous monitoring throughout a live call; otherwise use batch for a submitted file.
  • Music vs. speechMusic & Speech Detection. Classifies audio as music, speech, or neither. Use streaming for continuous updates on a live call or stream; otherwise use batch.
  • AI-generated musicAI Music Detection. Returns a clip-level verdict (ai-vocal-music, ai-instrumental, or not-ai-music). Use streaming for real-time per-window results; otherwise use batch. This is distinct from Music & Speech Detection — it answers is this music AI-generated?
  • Emotion or accentEmotion Detection or Accent Detection (batch). Each returns a whole-file label plus a per-window time series, with no transcript. If you also need a transcript, use the emotion_signal and accent_signal enrichments on Multilingual Transcription (batch or streaming) instead — see Transcription.

Transcription (maybe with signals)

You want a transcript, optionally enriched. Choose based on your single most important requirement:
  • Multilingual supportMultilingual Transcription for enriched output (use streaming if you need results as audio is captured; otherwise use batch), or Multilingual Fast Transcription (batch) when you just need a fast transcript of a complete file with no enrichments. These are the only options with broad language coverage.
  • Lowest latency (e.g. agentic AI)English Fast Transcription (streaming). Emits a rolling partial transcript every ~1.5 seconds and a single final transcript at end-of-stream — no enrichments. If you need low latency across multiple languages, Multilingual Transcription streaming is the fallback, but it is not tuned for the lowest latency.
  • Only redacted results (compliance)PII/PHI Redaction. Use streaming for live audio or batch for complete files. Both return a redacted MP3 with sensitive audio ranges silenced, alongside a transcript where each PII/PHI span is replaced with an entity-type tag. If your team can instead receive results with PII tagged but not redacted — and remove or avoid persisting the sensitive content on your side — then Multilingual Transcription with pii_phi_tagging=true becomes an option as well.
  • Just accuracy, cost, reliability, and scale → choose by language:
    • English onlyEnglish Fast Transcription. Use streaming for real-time results; otherwise use batch. Fastest option for English audio, but no speaker diarization, emotion, accent, PII/PHI tagging, or utterance-level data — it returns a single text string and duration_ms, with a 60-second processing timeout per batch request.
    • Multilingual, fast batch turnaroundMultilingual Fast Transcription (batch). Like English Fast, it returns a single text string and duration_ms with no enrichments, but works across supported languages. Declare the spoken language with the optional language parameter for the fastest, most direct path; omit it and the language is detected automatically.
    • Multilingual, full feature setMultilingual Transcription. Use streaming for real-time results; otherwise use batch.

Do you need deepfake detection alongside transcription?

The Multilingual Transcription batch API supports a deepfake_signal parameter that adds a per-utterance deepfake_score to transcription output. This is convenient when you already need transcription and want a deepfake signal without a second API call. Use the dedicated Deepfake Detection APIs instead when:
  • Transcription is not needed — you only want to know if audio is synthetic.
  • You need frame-level results across the full audio (not just utterance-level scores).
  • You need explicit no-content verdicts for silent regions.
  • You need streaming deepfake verdicts in real time.

Escalated behaviors

You want higher-level conversation understanding — fraud, churn, compliance risks, and other behaviors — not just what was said. Velma Triage. You describe the behaviors you want to detect and Velma surfaces them from the audio, alongside a conversation summary, topics, sentiment, speaker roles, and a diarized transcript. Use streaming to monitor a live or in-progress conversation; otherwise use batch for a completed recording. See What is Velma? and the detection packages for ready-made configurations.

Common scenarios

Call center QA on recorded English calls, high volume → English Fast Transcription (batch). Use parallel requests with a semaphore to respect concurrent limits. Fast transcription of recorded calls in non-English or mixed languages → Multilingual Fast Transcription (batch). Pass language when you know the spoken language to skip auto-detection; omit it to detect automatically. Meeting transcription with speaker attribution and emotion → Multilingual Transcription (batch) with speaker_diarization=true and emotion_signal=true. Live interview transcription with real-time captions, multilingual or with speaker labels → Multilingual Transcription streaming. Stream audio over WebSocket and display utterances as they arrive. Live English captions or voice assistant input with minimal latency → English Fast Transcription streaming. Partial transcripts update every ~1.5 seconds — replace your displayed text with each new partial, then finalize on the utterance message. Detect AI-generated voice in a submitted audio clip → Deepfake Detection batch endpoint. Real-time anti-spoofing check during a voice authentication flow → Deepfake Detection streaming endpoint. Stream audio and act on frame verdicts as they arrive. Transcript of a support call with PII/PHI spans tagged for downstream review → Multilingual Transcription (batch) with pii_phi_tagging=true. Language is auto-detected per utterance. The transcript content is preserved; sensitive spans are wrapped in tags. Compliance recording that must be shareable with PII/PHI silenced → PII/PHI Redaction Batch API. Returns a redacted MP3 with sensitive audio ranges silenced and a transcript where each PII/PHI span is replaced with an entity-type tag. Route audio to the right transcription pipeline based on spoken language → Language Detection batch endpoint. Send the clip, read predicted_language_code from the response, and route accordingly. Use the confidence field to catch low-certainty results and handle them separately. Gate a stream so you only process speech, not music or silence → Music & Speech Detection streaming. Classify frames in real time and route only speech segments downstream. Screen uploaded tracks for AI-generated music → AI Music Detection batch. Read the clip-level primary_verdict; rely on it rather than per-window results when judging a whole song. Flag fraud or compliance risks on recorded support calls → Velma Triage (batch) with a detection package. Configure the behaviors you care about and read per-behavior verdicts, with the clips that triggered each detection. Monitor a live call for escalation or churn signals → Velma Triage (streaming). Act on behavior-detection events as they arrive during the conversation.