Video Transcription API
Kirimkan video atau file audio dan terima transkrip tingkat kata dengan identifikasi pembicara. API ini mendukung video dari platform utama dan file video/audio yang diunggah secara lokal, beserta pengaturan bahasa.
Sumber Video yang Didukung
API menerima URL dari platform berikut: YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble, dan lainnya.
Anda juga dapat mengunggah file video atau audio secara lokal. Unggah lokal memerlukan paket Standard atau lebih tinggi. Lihat Upload API untuk detailnya.
Alur Kerja
- Kirim tugas transkripsi dari URL video
- Polling hasil hingga status menjadi
SUCCEEDED
Kirim Tugas Transkripsi
Kirimkan tugas transkripsi baru dari URL video atau audio.
POST https://wayinvideo-api.wayin.ai/api/v2/transcripts
Body Permintaan
| Parameter | Tipe | Wajib | Default | Deskripsi |
|---|---|---|---|---|
video_url | string | Ya | — | URL video/audio sumber atau identifier file yang diunggah |
source_lang | string | Tidak | null | Bahasa sumber video (lihat Bahasa yang Didukung). Jika null, sistem mendeteksi bahasa asli secara otomatis. |
target_lang | string | Tidak | null | Bahasa target untuk transkrip (lihat Bahasa yang Didukung). Jika null, tidak ada penerjemahan yang diterapkan. Jika target_lang berbeda dari bahasa asli video, transkrip akan diterjemahkan secara otomatis ke bahasa target. |
Contoh Permintaan
curl -X POST https://wayinvideo-api.wayin.ai/api/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"
}'
Respons
{
"data": {
"id": "trans_proj_001",
"name": "sample project name",
"status": "CREATED"
}
}
| Field | Tipe | Deskripsi |
|---|---|---|
id | string | Identifier tugas (digunakan untuk mengambil hasil) |
name | string | Nama tugas |
status | string | CREATED, QUEUED, ONGOING, SUCCEEDED, FAILED |
Ambil Hasil Transkripsi
Ambil transkrip dengan stempel waktu tingkat kata dan label pembicara. Lakukan polling hingga status menjadi SUCCEEDED.
GET https://wayinvideo-api.wayin.ai/api/v2/transcripts/results/{id}
Parameter Path
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
id | string | Ya | ID tugas yang dikembalikan oleh endpoint pengiriman |
Contoh Permintaan
curl -X GET https://wayinvideo-api.wayin.ai/api/v2/transcripts/results/trans_proj_001 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2"
Respons
{
"data": {
"status": "SUCCEEDED",
"cost_usage": 27.0,
"transcript": [
{
"text": "Welcome to today's presentation",
"language": null,
"start": 200,
"end": 4500,
"speaker": "Speaker 1"
},
{
"text": "Thanks for coming",
"language": null,
"start": 5000,
"end": 8200,
"speaker": "Speaker 2"
}
]
}
}
Field Respons
| Field | Tipe | Deskripsi |
|---|---|---|
status | string | CREATED, QUEUED, ONGOING, SUCCEEDED, FAILED |
error_message | string | Alasan error (hanya ada saat status adalah FAILED) |
cost_usage | number | Kredit API yang digunakan untuk permintaan ini |
transcript | array | Daftar segmen transkrip (lihat di bawah) |
Segmen Transkrip
| Field | Tipe | Deskripsi |
|---|---|---|
text | string | Teks yang ditranskripsikan |
language | string | null | Kode bahasa yang terdeteksi, atau null jika tidak terdeteksi |
start | integer | Waktu mulai dalam milidetik |
end | integer | Waktu berakhir dalam milidetik |
speaker | string | Label pembicara (mis. "Speaker 1") |