Speech-to-Text

Transcribe Audio

Changed on

Transcribe pre-recorded audio and receive Arabic transcription with timestamps. Supply the audio with exactly one of file (upload) or audio_url (Munsit fetches it). Billed per second of audio at 100 credits per minute, plus 10 credits per minute for each paid option delivered (diarize, return_gender, return_sentiment); options add together. 20,000 credits = 1 USD. stats.billing itemises the charge.

post/audio/transcribe

Request

  • Base URL
    https://api.munsit.com/api/v1
  • URL
    https://api.munsit.com/api/v1/audio/transcribe
  • Auth
    API key in header x-api-key

Request body multipart/form-data

filestring binary

Audio file to transcribe. Mutually exclusive with audio_url; provide exactly one.

audio_urlstring uri

Public https URL of the audio to transcribe; Munsit downloads it server-side. Presigned object-storage links are supported. Redirects are not followed and private or link-local hosts are refused. Mutually exclusive with file; provide exactly one.

model'munsit' | 'munsit-en-ar'

ASR model to use. Defaults to munsit.

hotwordsstring

Comma-separated custom vocabulary (multi-word phrases allowed). Biases recognition toward rare terms; best with 5-30 genuinely rare entries. With model munsit-en-ar at most 20 words are used.

language'auto' | 'ar' | 'en' | 'ar-en'

Only used with model munsit-en-ar. Sets the main language of the audio: auto (default) detects it as the audio goes, ar for mostly Arabic speech, en for mostly English speech. Every value still transcribes speech that mixes both languages. ar-en is another name for auto. Any other value is ignored and auto is used. Ignored by the munsit model, which is Arabic only.

return_confidenceboolean

When true, each timestamps entry includes a confidence score (0-1). The response shape is otherwise unchanged.

return_turnsboolean

When true, adds a turns array with a per-turn breakdown (each turn is one VAD segment), tagged with smart-turn is_complete and turn_probability.

return_genderboolean

When true, adds per-turn speaker gender (audio-based) to turns plus a whole-file gender rollup under analysis. Paid option: +10 credits per minute of audio, billed only when delivered. Billed when the gender rollup is returned.

return_sentimentboolean

When true, adds per-turn sentiment (fast text-based classification per utterance) to turns plus a whole-file sentiment rollup under analysis. Paid option: +10 credits per minute of audio, billed only when delivered. Billed when the sentiment rollup is returned.

return_timestampsboolean

Defaults to true on munsit (false returns an empty timestamps array). On munsit-en-ar timestamps are off unless set to true.

diarizeboolean

When true, labels every word with its speaker and adds utterances, speakers and diarization to the response. Works with both models. Use true or false; an unrecognized value is ignored. Speaker numbers start at 0 in order of first appearance and tell speakers apart within one recording; up to 8 speakers are told apart. Paid option: +10 credits per minute of audio, billed only when delivered. Billed when diarization.status is ok.

Example request

{
  "audio_url": "https://storage.example.com/meeting.mp3"
}

Response

Transcription created successfully

statusCodeinteger
messagestring

Example response

{
  "statusCode": 200,
  "data": {
    "stats": {
      "billing": {
        "lines": [
          {
            "item": "stt.base"
          }
        ],
        "price_version": "2026-11"
      }
    }
  },
  "message": "Success"
}

Changes

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      the request property became optional

    • info

      added the media type application/json for the response with the status

    • info

      added the media type application/json for the response with the status

    • info

      added the media type application/json for the response with the status