cURL
Transcription
Transcribe YouTube Video
This API endpoint allows users to submit a YouTube video ID along with language preference and a webhook URL. Upon submission, the system processes the request and sends a POST request to the provided webhook URL with project details with transcription.
POST
cURL
Submit a YouTube video for transcription. The request returns immediately with a
projectId; the actual transcription runs in the background — see Lifecycle & Polling.
Request
| Field | Type | Required | Description |
|---|---|---|---|
youtubeVideoId | string | yes | The YouTube video ID (the v= parameter, e.g. dQw4w9WgXcQ). |
webhookUrl | string | yes | HTTP(S) URL we POST to when transcription completes. See Webhooks. |
language | string | no | BCP-47 language code (en, tr, de, …). Defaults to auto-detect. |
Credit is deducted at request time based on the video’s reported length: 1 credit per minute (rounded down, minimum 1). If the YouTube video is unavailable or private, the request fails before any credit is consumed.
Examples
Response
201 Created:
Errors
| Status | Body | When |
|---|---|---|
| 400 | Validation error | youtubeVideoId or webhookUrl missing/invalid. |
| 401 | Missing api-key | Header not provided or invalid. |
| 402 | NOT_ENOUGH_CREDIT | Subscription has fewer credits than the video length requires. |
| 404 | Video not found | YouTube returned no item for the supplied ID (private, deleted, or wrong ID). |
What happens next
- Project is created in
uploadstate. - We download the video, then transcribe its audio.
- State moves to
transcription, then todone. - If you supplied
webhookUrl, we POST the result to it. Either way,GET /api/detail/{id}will return the full transcription once state isdone.
Authorizations
Body
application/json

