Muse MuseConcept
Dashboard

Independent concept built on Meta's Model API. Not an official Meta product.

Transcribe a recording

View on dev.meta.ai (opens in a new tab)

Transcribe one complete audio recording in a single request.

Send multipart/form-data with two parts: request, the transcription settings as JSON, and audio, the clip. The Accept header selects between a buffered JSON body, a server-sent event stream, and plain text.

POST /asr/transcribe

Transcribe a complete audio recording.

Parameters

Query parameters

FieldTypeRequiredDescription
sessionIdstringNoCorrelation id used in server-side logs and echoed in the response. When omitted, the server generates one.

Request body

Content Type: multipart/form-data

object

Response

HTTP 200: The transcript, in the shape selected by Accept. application/json, */*, or an absent header returns the buffered body. text/event-stream returns the realtime event stream, which ends after the last event and appends no summary. text/plain returns one turn per line in ENDPOINTING, or lines of the form A:Hello in DIARIZATION (a turn the model never attributed renders as unknown:<transcript>).

Content Type: application/json

TranscribeResponse

Content Type: text/event-stream

ServerMessage

Response

HTTP 400: The audio is not a supported WAV file, the audio exceeds 10 minutes, or the body is not multipart/form-data.

Response

HTTP 406: The Accept header requested a media type this endpoint does not produce.

Response

HTTP 413: The request body exceeds the maximum of 32 MB.

Response

HTTP 429: The caller reached its concurrency or hourly session limit. Retry with exponential backoff.

Response

HTTP 500: Transcription failed, or processing exceeded the server budget. Once an event stream has started there is no status left to set, so the failure arrives as a terminal error event on the open stream under HTTP 200.

shell
curl -X POST "https://api.meta.ai/v1/asr/transcribe" \
  -H "Authorization: Bearer $MODEL_API_KEY" \
  -H "Accept: application/json" \
  -F 'request={"model":"muse-voice-transcribe-1.0","audioEncoding":"WAV","mode":"PUSH_TO_TALK"};type=application/json' \
  -F "audio=@recording.wav;type=audio/wav"

Errors carry an HTTP status and a client-safe message with a type, plus code and param when the failure has them. On text/event-stream the failure arrives instead as a terminal error event carrying the same taxonomy. Retain the session id: it is the only correlation handle for a support request.

For audio conversion, modes, and worked examples, see the Speech to text feature page.

Mirrored from dev.meta.ai/docs/api-reference/voice/transcribe (synced Oct 30, 2026). Text and examples © Meta. Live demos run on Muse Muse's key.

Esc

Loading...