Video Transcription

March 10, 2026

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

  1. Submit a transcription task from a video URL
  2. 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

ParameterTypeRequiredDefaultDescription
video_urlstringYesThe source video/audio URL or uploaded file identifier
target_langstringNoAuto-detectTarget 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"
}
FieldTypeDescription
project_idstringTask identifier (used to retrieve results)
namestringTask name
statusstringCREATED, 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

ParameterTypeRequiredDescription
project_idstringYesThe 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

FieldTypeDescription
textstringTranscribed text
languagestringDetected language
startintegerStart time in milliseconds
endintegerEnd time in milliseconds
speakerstringSpeaker label (e.g. "Speaker 1")
api_units_usageintegerAPI units consumed for this request