Video Transcription API

March 16, 2026

Video Transcription API

Kirimkan video atau file audio dan terima transkrip tingkat kata dengan diarisasi pembicara (setiap segmen diberi label pembicara yang terdeteksi). 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 mentranskripsi file audio atau video lokal yang Anda unggah — unggah lokal memerlukan paket Standard atau lebih tinggi.

Alur Kerja

  1. Kirim tugas transkripsi dari URL video
  2. 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

ParameterTipeWajibDefaultDeskripsi
video_urlstringYaURL video/audio sumber atau identifier file yang diunggah
source_langstringTidaknullBahasa sumber video (lihat Bahasa yang Didukung). Jika null, sistem mendeteksi bahasa asli secara otomatis.
target_langstringTidaknullBahasa 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"
  }'
import requests

requests.post(
    "https://wayinvideo-api.wayin.ai/api/v2/transcripts",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "x-wayinvideo-api-version": "v2",
    },
    json={
        "video_url": "https://www.youtube.com/watch?v=example",
        "target_lang": "en",
    },
)
await fetch("https://wayinvideo-api.wayin.ai/api/v2/transcripts", {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
    "x-wayinvideo-api-version": "v2",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    video_url: "https://www.youtube.com/watch?v=example",
    target_lang: "en",
  }),
});

Respons

{
  "data": {
    "id": "trans_proj_001",
    "name": "sample project name",
    "status": "CREATED"
  }
}
FieldTipeDeskripsi
idstringIdentifier tugas (digunakan untuk mengambil hasil)
namestringNama tugas
statusstringCREATED, QUEUED, ONGOING, SUCCEEDED, FAILED

Contoh

Skenario transkripsi yang umum. Ganti YOUR_API_KEY dengan kunci dari API Dashboard.

Transkripsikan video YouTube

curl -X POST https://wayinvideo-api.wayin.ai/api/v2/transcripts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2" \
  -H "Content-Type: application/json" \
  -d '{"video_url": "https://www.youtube.com/watch?v=EXAMPLE"}'

Transkripsikan podcast dengan beberapa pembicara

Berikan URL audio podcast apa pun (atau identifier file yang diunggah) — diarisasi pembicara berjalan otomatis; setiap segmen dalam respons membawa label speaker.

curl -X POST https://wayinvideo-api.wayin.ai/api/v2/transcripts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2" \
  -H "Content-Type: application/json" \
  -d '{"video_url": "https://www.youtube.com/watch?v=EXAMPLE"}'

Terjemahkan transkrip non-Inggris ke bahasa Inggris

Atur target_lang untuk menerjemahkan secara langsung. Gabungkan dengan source_lang jika Anda sudah mengetahui bahasa sumbernya.

curl -X POST https://wayinvideo-api.wayin.ai/api/v2/transcripts \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://www.youtube.com/watch?v=EXAMPLE",
    "source_lang": "ja",
    "target_lang": "en"
  }'

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

ParameterTipeWajibDeskripsi
idstringYaID 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

FieldTipeDeskripsi
statusstringCREATED, QUEUED, ONGOING, SUCCEEDED, FAILED
error_messagestringAlasan error (hanya ada saat status adalah FAILED)
cost_usagenumberKredit API yang digunakan untuk permintaan ini
transcriptarrayDaftar segmen transkrip (lihat di bawah)

Segmen Transkrip

FieldTipeDeskripsi
textstringTeks yang ditranskripsikan
languagestring | nullKode bahasa yang terdeteksi, atau null jika tidak terdeteksi
startintegerWaktu mulai dalam milidetik
endintegerWaktu berakhir dalam milidetik
speakerstringLabel pembicara (mis. "Speaker 1")

FAQ

Berapa panjang video maksimum?

Tidak ada batasan panjang yang tegas. API ini mendukung klip pendek maupun konten video atau audio berdurasi panjang dari platform sumber yang didukung.

Apakah API mengembalikan stempel waktu tingkat kata?

Ya. Setiap segmen transkrip menyertakan stempel waktu start dan end dalam milidetik, text yang ditranskripsikan, language yang terdeteksi, dan label speaker yang diberikan dari diarisasi pembicara.

Bagaimana cara kerja diarisasi pembicara?

Pembicara dideteksi dan diberi label secara otomatis (Speaker 1, Speaker 2, …) per segmen. Tidak ada konfigurasi yang diperlukan — diarisasi berjalan pada setiap tugas transkripsi.

Format audio dan video apa saja yang didukung?

URL sumber didukung dari YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble, dan lainnya. Untuk unggahan lokal, kirim mp4, mov, webm, atau avi (file audio-saja dapat di-mux ke salah satu kontainer ini).

Bisakah saya menerjemahkan transkrip ke bahasa lain?

Bisa — berikan parameter target_lang. Transkrip diterjemahkan ketika target_lang berbeda dari bahasa sumber. Lihat Bahasa yang Didukung untuk daftar lengkap kode bahasa.