---
title: "Transcribe media to text"
method: POST
path: "/v1/jobs/transcribe"
---

# Transcribe media to text

`POST /v1/jobs/transcribe`

## Request body

- TranscriptRequest
  - `mediaUrl` string, uri, required
  - `processingType` 'async'
  - `webhookUrl` string, uri
  - `webhookAuth` ExternalWebhookAuthScheme — Authorization header to be sent in this format: `Authorization: [authKey] [authSecret]`
    - `authKey` string, nullable
    - `authSecret` string, nullable
  - `title` string
  - `model` 'Hamsa-General-V2.0' | 'Hamsa-Conversational-V1.0', required
  - `language` 'ar' | 'en'
  - `returnSrtFormat` boolean
  - `srtOptions` object — You can override srtOptions default values and send the object only if returnSrtFormat is false.
    - `maxLinesPerSubtitle` integer
    - `singleSpeakerPerSubtitle` boolean
    - `maxCharsPerLine` integer
    - `maxMergeableGap` number
    - `minDuration` number
    - `maxDuration` number
    - `minGap` number

## Response `200`

Successful response

- TranscriptResponse
  - `success` boolean
  - `message` string
  - `data` object
    - `jobId` string, required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `500` — Server Side Error

---

[API](https://skmtc.net/tryhamsa/apis/hamsa-api.md) · [All operations](https://skmtc.net/tryhamsa/apis/hamsa-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tryhamsa/hamsa-api/versions/ecbeb5d8dc13/schema)
