Video Transcription
Submit a video or audio file and receive a word-level transcript with speaker identification. The API supports videos from major platforms, Google Drive links, and locally uploaded video/audio files, along with language settings.
Supported Video Sources
The API accepts URLs from the following platforms: YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Instagram, Zoom, Rumble, Google Drive and more.
You can also upload local video or audio files. Local upload requires a Standard plan or above. See the Upload API for details.
Workflow
- Submit a transcription task from a video URL
- Poll the results until status is
SUCCEEDED
Submit Transcription Task
Submit a new transcription task from a video or audio URL.
POST https://wayinvideo-api.wayin.ai/open/v2/transcripts
Request Body
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
video_url | string | Yes | — | The source video/audio URL or uploaded file identifier |
target_lang | string | No | Auto-detect | Target language for the transcript (see Supported Languages). When omitted, the original language is used. |
Example Request
curl -X POST https://wayinvideo-api.wayin.ai/open/v2/transcripts \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-d '{
"video_url": "https://www.youtube.com/watch?v=example",
"target_lang": "en"
}'
Response
{
"code": "0",
"data": {
"project_id": "trans_proj_001",
"name": "sample project name",
"status": "CREATED"
},
"message": "success"
}
| Field | Type | Description |
|---|---|---|
project_id | string | Task identifier (used to retrieve results) |
name | string | Task name |
status | string | CREATED, QUEUED, ONGOING, SUCCEEDED, FAILED |
Get Transcription Results
Retrieve the transcript with word-level timestamps and speaker labels. Poll until status is SUCCEEDED.
GET https://wayinvideo-api.wayin.ai/open/v2/transcripts/results/{project_id}
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | The task ID returned by the submit endpoint |
Example Request
curl -X GET https://wayinvideo-api.wayin.ai/open/v2/transcripts/results/trans_proj_001 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2"
Response
{
"code": "0",
"data": {
"status": "SUCCEEDED",
"api_units_usage": 60,
"transcript": [
{
"text": "Welcome to today's presentation",
"language": "en",
"start": 0,
"end": 4500,
"speaker": "Speaker 1"
},
{
"text": "Thanks for coming",
"language": "en",
"start": 5000,
"end": 8200,
"speaker": "Speaker 2"
}
]
},
"message": "success"
}
Transcript Segment
| Field | Type | Description |
|---|---|---|
text | string | Transcribed text |
language | string | Detected language |
start | integer | Start time in milliseconds |
end | integer | End time in milliseconds |
speaker | string | Speaker label (e.g. "Speaker 1") |
api_units_usage | integer | API units consumed for this request |