Skip to main content
POST
/
api
/
v1
/
client
/
transcribe
cURL
curl --request POST \
  --url https://api.deapi.ai/api/v1/client/transcribe \
  --header 'Accept: <accept>' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form include_ts=true \
  --form model=WhisperLargeV3 \
  --form 'source_url=https://www.youtube.com/watch?v=jNQXAC9IVRw' \
  --form source_file='@example-file' \
  --form return_result_in_response=false \
  --form webhook_url=https://your-server.com/webhooks/deapi
{
  "data": {
    "request_id": "c08a339c-73e5-4d67-a4d5-231302fbff9a"
  }
}
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.

Supported file formats

TypeFormats
AudioAAC, MPEG, OGG, WAV, WebM, FLAC
VideoMP4, MPEG, QuickTime, AVI, WMV, OGG

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.

include_ts
boolean
required

Should transcription include timestamps

model
string
required

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

Example:

"WhisperLargeV3"

source_url
string

URL of video/audio to transcribe (YouTube, Twitter/X, Twitch, Kick, TikTok, Twitter Spaces). Mutually exclusive with source_file.

Example:

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

source_file
file

Audio or video file to transcribe. Supported audio: aac, mpeg, ogg, wav, webm, flac. Supported video: mp4, mpeg, quicktime, avi, wmv, ogg. Mutually exclusive with source_url.

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