Skip to main content
Core.Today
|
Billing note Credits are reserved in 5-minute (300s) blocks as the session runs and settled on the seconds Meta actually reports processing - not on connection time. If the gateway is redeployed mid-session, your connection is closed and any partial block is settled and refunded, not lost.
MetaFastHigh

Muse Voice Transcribe 1.0 (Realtime)

Meta's Muse Voice Transcribe over a WebSocket - stream 16-bit PCM (24 kHz or 16 kHz mono) and receive partial and final transcripts while you speak, with endpointing and diarization. Billed per second of audio Meta processed (0.11625 credits/s, 35 credits per 5-minute block), sessions up to 20 minutes.

35 credits
per 5-minute block (0.11625 credits/s)
Streaming partial and final transcripts while the caller is still speaking
25 languages with code-switching, Korean included
Speaker diarization and endpointing in DIARIZATION/ENDPOINTING modes
Keyword and language biasing, same as the file transcription endpoint
Sessions up to 20 minutes; settlement follows Meta's measured audio, not wall-clock time

Run it right now

Test this model instantly in the Console Playground โ€” no code required

Sign in to try

Use with AI Assistant

Copy usage instructions for Claude, ChatGPT, or other AI

Quick Start

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "meta/muse-voice-transcribe-1.0/realtime",
  "input": {
    "model": "meta/muse-voice-transcribe-1.0/realtime",
    "audioEncoding": "PCM_24KHZ",
    "mode": "ENDPOINTING",
    "partialMode": "CUMULATIVE",
    "emitAudioProgress": false,
    "keywords": [
      "Core.Today"
    ],
    "languageBias": [
      "Korean"
    ],
    "customerId": "member-123"
  }
}'

Parameters

ParameterTypeRequiredDefaultDescription
audioEncodingstringNoPCM_24KHZRaw PCM 16-bit mono sample rate of the binary frames you send.
PCM_24KHZPCM_16KHZ
modestringNoPUSH_TO_TALKPUSH_TO_TALK returns one running transcript; ENDPOINTING splits into turns at speech boundaries; DIARIZATION additionally labels speakers.
PUSH_TO_TALKENDPOINTINGDIARIZATION
partialModestringNoCUMULATIVECUMULATIVE partials replace the previous one; DELTA sends only new text.
CUMULATIVEDELTA
emitAudioProgressbooleanNofalseForward Meta's ~80ms audioProgress events (audioProcessedMs) to your client.
keywordsarrayNo-Names, acronyms or product terms to bias recognition toward.
language_biasarrayNo-Language hint (steers recognition, does not force it). Omit for automatic detection across all 25 languages.
ArabicBengaliDutchEnglishFrenchGermanHebrewHindiIndonesianItalianJapaneseKannadaKoreanMalayMandarin ChineseMarathiPolishPortugueseSpanishTagalogTamilTeluguThaiTurkishVietnamese

Common Parameters

Common parameters used when calling POST /v1/predictions.

ParameterTypeRequiredDefaultDescription
modelstringYes-Model identifier
inputobjectYes-Object containing the model-specific parameters from the table above
output_folderstringNo-Folder path for output files (max 256 chars, '..' not allowed)
webhook_urlstringNo-Webhook URL to call on completion
is_publicbooleanNofalseIf true, output files are also available via permanent public URLs

Examples

Handshake frame

The first text frame you send after the WebSocket connects, in ENDPOINTING mode with a Korean language hint. Never put a real API key in client-side/browser code - use a server-side connection instead.

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "meta/muse-voice-transcribe-1.0/realtime",
  "input": {
    "model": "meta/muse-voice-transcribe-1.0/realtime",
    "audioEncoding": "PCM_24KHZ",
    "mode": "ENDPOINTING",
    "partialMode": "CUMULATIVE",
    "emitAudioProgress": false,
    "keywords": [
      "Core.Today"
    ],
    "languageBias": [
      "Korean"
    ],
    "customerId": "member-123"
  }
}'

Tips & Best Practices

1Send audio at real-time pace and pad silence when there's nothing to send - Meta closes the session after 10 seconds without audio ingress
2Keep sessions under the 20-minute cap and reconnect for longer calls rather than expecting one session to run indefinitely
3Use ENDPOINTING (or DIARIZATION for multi-speaker) for live captioning; PUSH_TO_TALK is meant for a single running transcript
4Never embed your API key in browser/client-side code - connect from your own server and relay audio from there

Use Cases

Live captioning or subtitles for a call or presentation
Voice-driven interfaces that need transcripts while the user is talking
Real-time meeting transcription with speaker turns as they happen