Skip to main content
POST
cURL
API v1 is deprecated. This version is no longer being developed — new endpoints, parameters and models are added to v2 only. Use the v2 endpoints to stay current: v2 API documentation.
Prerequisite: To ensure a successful request, you must first consult the Model Selection endpoint to identify a valid model slug, check specific limits and features.

How it works

Provide exactly one of:
  • source_url — a URL to transcribe (YouTube, X/Twitter, Twitch, Kick, TikTok, or X Spaces)
  • source_file — an uploaded audio or video file
The endpoint auto-detects the source type and routes the job accordingly. All existing transcription features (timestamps, webhook notifications) are fully supported.
TikTok requires WhisperLargeV3Ct2. A TikTok source_url sent with any other model — WhisperLargeV3 included — is rejected with 422 and nothing is charged. Every other source runs on either model. Note that the v1 Model Selection endpoint does not list WhisperLargeV3Ct2, but v1 accepts the slug; v2 lists it normally.

Supported file formats

Inline results

Set return_result_in_response: true to receive the transcription text directly in the API response instead of a download URL. Useful for short content or real-time integrations.
The four legacy endpoints (vid2txt, aud2txt, videofile2txt, audiofile2txt) remain fully operational. The unified /transcribe endpoint is the recommended path for new integrations.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Accept
enum<string>
default:application/json
required
Available options:
application/json

Body

multipart/form-data

Transcription parameters. Provide exactly one of source_url or source_file.

source_url
string
required

URL of video/audio to transcribe (YouTube, Twitter/X, Twitch, Kick, TikTok, Twitter Spaces). Mutually exclusive with source_file. A TikTok URL is only accepted with model: WhisperLargeV3Ct2 — paired with any other model it is rejected with 422.

Example:

"https://www.youtube.com/watch?v=jNQXAC9IVRw"

include_ts
boolean
required

Should transcription include timestamps. Required - send false for plain text or true for timestamped segments.

Example:

false

model
string
required

The model to use for transcription. Available models can be retrieved via the GET /api/v1/client/models endpoint.

Example:

"WhisperLargeV3"

return_result_in_response
boolean | null
default:false

If true, the result will be returned directly in the response instead of only download url.

webhook_url
string<uri> | null

Optional HTTPS URL to receive webhook notifications for job status changes.

Maximum string length: 2048
Example:

"https://your-server.com/webhooks/deapi"

Response

ID of the inference request.

data
object

Information from success endpoint