curl -X POST https://api.fastdrop.io/api/v1/transcribe \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"video_url": "https://example.com/interview.mp4"
}'
curl -X POST https://api.fastdrop.io/api/v1/transcribe \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"video_url": "https://example.com/interview.mp4",
"output_formats": ["srt", "txt"]
}'
curl -X POST https://api.fastdrop.io/api/v1/transcribe \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"video_url": "https://example.com/interview.mp4",
"language": "ar",
"translate": false
}'
{
"job_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"status": "queued",
"credits_charged": 5,
"estimated_seconds": 60,
"poll_url": "/api/v1/classify/a1b2c3d4-5678-90ab-cdef-1234567890ab",
"created_at": "2026-03-05T12:00:00Z"
}
Standalone Capabilities
Transcribe Video
Transcribe and translate video audio with optional subtitle file generation
POST
/
transcribe
curl -X POST https://api.fastdrop.io/api/v1/transcribe \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"video_url": "https://example.com/interview.mp4"
}'
curl -X POST https://api.fastdrop.io/api/v1/transcribe \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"video_url": "https://example.com/interview.mp4",
"output_formats": ["srt", "txt"]
}'
curl -X POST https://api.fastdrop.io/api/v1/transcribe \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"video_url": "https://example.com/interview.mp4",
"language": "ar",
"translate": false
}'
{
"job_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"status": "queued",
"credits_charged": 5,
"estimated_seconds": 60,
"poll_url": "/api/v1/classify/a1b2c3d4-5678-90ab-cdef-1234567890ab",
"created_at": "2026-03-05T12:00:00Z"
}
Speech transcription with automatic language detection, English translation, and optional SRT/TXT file generation. Supports 99 languages with varying accuracy levels.
Cost: 8 credits
With subtitle files (
When you include
For the full list of supported languages and accuracy expectations, see Supported Languages.
For a deeper dive into how transcription works and best practices, see the Transcription Guide.
Request body
string
required
Public HTTP/HTTPS URL of the video.
string
Optional ISO 639-1 language code hint (e.g.
en, es, ja, ar, fr). Auto-detected if omitted. Providing a hint improves accuracy for lower-resource languages.boolean
default:true
Translate non-English transcriptions to English. Set to
false to get source-language transcription only.string[]
Generate subtitle files and return presigned download URLs. Options:
"srt", "txt". Omit for JSON-only response.string
Optional HTTPS URL to receive a POST when processing completes.
Response (202 Accepted)
Returns a job submission withjob_id. Get the result from Get Job Status with ?wait=N, or subscribe to job.completed via a webhook.
curl -X POST https://api.fastdrop.io/api/v1/transcribe \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"video_url": "https://example.com/interview.mp4"
}'
curl -X POST https://api.fastdrop.io/api/v1/transcribe \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"video_url": "https://example.com/interview.mp4",
"output_formats": ["srt", "txt"]
}'
curl -X POST https://api.fastdrop.io/api/v1/transcribe \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"video_url": "https://example.com/interview.mp4",
"language": "ar",
"translate": false
}'
{
"job_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"status": "queued",
"credits_charged": 5,
"estimated_seconds": 60,
"poll_url": "/api/v1/classify/a1b2c3d4-5678-90ab-cdef-1234567890ab",
"created_at": "2026-03-05T12:00:00Z"
}
Result format
When the job completes, theresults.transcription field contains the full transcription, translation, and optional file URLs.
English video (no translation needed)
{
"transcription": {
"language": "en",
"language_name": "English",
"text": "Welcome to the show. Today we're going to talk about video editing.",
"segments": [
{ "start": 0.0, "end": 2.8, "text": "Welcome to the show." },
{ "start": 3.1, "end": 8.5, "text": "Today we're going to talk about video editing." }
],
"words": [
{ "start": 0.0, "end": 0.5, "word": "Welcome" },
{ "start": 0.5, "end": 0.7, "word": "to" },
{ "start": 0.7, "end": 0.9, "word": "the" },
{ "start": 0.9, "end": 1.3, "word": "show." }
]
}
}
Non-English video (with translation)
{
"transcription": {
"language": "ar",
"language_name": "Arabic",
"text": "مرحبا بكم في العرض. اليوم سنتحدث عن تحرير الفيديو.",
"segments": [
{ "start": 0.0, "end": 2.8, "text": "مرحبا بكم في العرض." },
{ "start": 3.1, "end": 8.5, "text": "اليوم سنتحدث عن تحرير الفيديو." }
],
"words": [
{ "start": 0.0, "end": 0.5, "word": "مرحبا" },
{ "start": 0.5, "end": 0.9, "word": "بكم" }
],
"translation": {
"language": "en",
"language_name": "English",
"text": "Welcome to the show. Today we'll talk about video editing.",
"segments": [
{ "start": 0.0, "end": 2.8, "text": "Welcome to the show." },
{ "start": 3.1, "end": 8.5, "text": "Today we'll talk about video editing." }
]
}
}
}
With subtitle files (output_formats: ["srt", "txt"])
When you include output_formats, the result includes a files object with presigned download URLs:
{
"transcription": {
"language": "ar",
"language_name": "Arabic",
"text": "...",
"segments": [...],
"translation": {
"language": "en",
"text": "...",
"segments": [...]
},
"files": {
"source_srt": "https://storage.fastdrop.io/api-transcribe/.../source_ar.srt?...",
"source_txt": "https://storage.fastdrop.io/api-transcribe/.../source_ar.txt?...",
"english_srt": "https://storage.fastdrop.io/api-transcribe/.../english_en.srt?...",
"english_txt": "https://storage.fastdrop.io/api-transcribe/.../english_en.txt?..."
}
}
}
File URLs are presigned and expire after 1 hour. Download or store them promptly.
English files are only generated when translation is performed (non-English source).
Result fields
| Field | Type | Description |
|---|---|---|
language | string | ISO 639-1 code of detected/specified language |
language_name | string | Human-readable language name |
text | string | Full transcript in source language |
segments | array | Sentence-level segments with start, end, text |
words | array | Word-level timestamps with start, end, word |
translation | object | English translation (only for non-English, when translate is true) |
translation.text | string | Full translated English text |
translation.segments | array | Translated segments with preserved timestamps |
files | object | Presigned download URLs (only when output_formats is specified) |
files.source_srt | string | Source language SRT subtitle file |
files.source_txt | string | Source language TXT transcript |
files.english_srt | string | English SRT subtitle file |
files.english_txt | string | English TXT transcript |