DokumentasiSumber dan pengaturan transkripsi
Sumber dan pengaturan transkripsi
Cek link video yang didukung, pilih subtitle atau transkripsi AI, lalu atur pengenalan pembicara dan bahasa.
Kirim link YouTube, X, TikTok, Instagram, Facebook, atau Bluesky, atau unggah file Anda sendiri. Platform lain dan format link rekaman publik yang diterima tercantum di tabel berikut. Untuk mengatur cara transkripsi, isi source, diarize, dan language pada body request POST /v1/transcriptions. Ketiganya opsional: pilih sumber transkrip, aktifkan pengenalan pembicara, atau tentukan bahasa sesuai kebutuhan.
Platform yang didukung
Masukkan link ke field url. API otomatis mengenali platformnya, jadi Anda boleh melewatkan platform. Jika tetap diisi, nilainya harus sesuai dengan platform pada link.
| Platform | Link yang diterima |
|---|---|
YouTube (youtube) | Gunakan salah satu format URL video pada tabel YouTube di bawah. |
X (x) | Link postingan berisi video di x.com atau twitter.com, misalnya https://x.com/user/status/1234567890. |
TikTok (tiktok) | Link postingan video di tiktok.com atau link pendek vm.tiktok.com, vt.tiktok.com, dan www.tiktok.com/t/. |
Instagram (instagram) | Link Reels atau postingan video di instagram.com dengan path /reel/, /reels/, /p/, atau /tv/. Link reel dan postingan yang menyertakan nama pengguna di depan path juga diterima. |
Facebook (facebook) | Link video, reel, dan watch di facebook.com. Link pendek fb.watch, /share/v/, dan /share/r/ juga diterima. |
Bluesky (bluesky) | Link postingan berisi video di bsky.app, misalnya https://bsky.app/profile/user.example/post/3l3w4b5c6d7e2. |
Twitch (twitch) | Rekaman VOD dari siaran yang sudah berakhir: twitch.tv/videos/<id> atau /<channel>/v/<id>; bentuk video juga diterima. Untuk klip, gunakan clips.twitch.tv/<slug>, twitch.tv/<channel>/clip/<slug>, atau /clip/<slug>. Host yang diterima: twitch.tv, www, m, go, dan clips.twitch.tv. |
Dailymotion (dailymotion) | Link dailymotion.com/video/<id> boleh diikuti _title. Bisa juga memakai /embed/video/<id> atau dai.ly/<id>. Host www.dailymotion.com dan touch.dailymotion.com juga diterima. |
Pinterest (pinterest) | Pin dengan video yang diunggah langsung ke pinterest.com atau www.pinterest.com, memakai path /pin/<id>/ atau /pin/<slug>--<id>/. Hanya blok video native pertama yang diproses. Embed eksternal, gambar, board, pin.it, dan domain regional tidak didukung. |
LinkedIn (linkedin) | Postingan video publik di linkedin.com atau www.linkedin.com, dengan path /posts/<slug>-<activity-id>-<four-character-suffix> atau /feed/update/urn:li:activity:<id>/. Link profil, Learning, acara, dan lnkd.in tidak didukung. |
Snapchat Spotlight (snapchat) | Link video Spotlight di snapchat.com atau www.snapchat.com dengan path /spotlight/<id>. Link story dan profil tidak didukung. |
Untuk lima platform tambahan tersebut, link harus memakai HTTPS, tanpa kredensial atau port khusus. Kirim link ke satu rekaman publik, bukan profil, feed, atau koleksi. Postingan privat, konten yang meminta login, siaran langsung, dan siaran yang masih diproses tidak bisa diambil. transcript1 tidak mengirim cookie akun. Parameter waktu di URL juga tidak memotong rekaman. Pada klip Twitch dan Snapchat Spotlight, simpan string media_id persis seperti yang diterima; jangan mencoba menyusunnya dari URL.
Di X, TikTok, Instagram, Facebook, dan Bluesky, postingan harus bisa diakses publik. Jika ada beberapa video dalam satu postingan, hanya video pertama yang diproses. Jangan kirim link profil, story, halaman live, atau postingan foto TikTok. Jika platform meminta login, transkripsi gagal dengan login_required. Jika video tidak memiliki audio, kodenya no_audio. Anda tidak membayar untuk keduanya.
YouTube, X, TikTok, Bluesky, Dailymotion, dan LinkedIn bisa menyediakan subtitle dalam bahasa asli video, tetapi tidak semua video memiliki subtitle yang bisa dipakai. Instagram, Facebook, Twitch, Pinterest, dan Snapchat hanya memakai transkripsi AI dengan auto atau stt; platform tersebut menolak captions. Tarif per menit sama untuk semua platform dan unggahan. Biaya dihitung dari durasi yang terukur.
Hanya format link pendek dalam daftar di atas yang diterima. Jika share link belum memuat ID postingan saat dikirim, API tidak bisa mencocokkannya dengan transkripsi terdahulu. Gunakan link postingan lengkap jika Anda ingin memakai kembali transkripsi yang sudah ada.
| Sumber subtitle | Jenis subtitle dan timestamp |
|---|---|
| YouTube dan X | Memakai track subtitle yang tersedia. Timestamp per kata hanya ada pada subtitle otomatis YouTube. |
| TikTok | Memakai subtitle native VTT atau SRT yang tersedia, dengan timestamp per segmen saja. |
| Bluesky | Memakai subtitle video native di PDS tepercaya yang didukung. Tidak mengambil dari sembarang host federasi, video dalam kutipan postingan, atau video eksternal. Timestamp hanya per segmen. |
| Dailymotion | Mengambil file SRT langsung, bukan playlist subtitle. Timestamp hanya per segmen. Track en-auto/fr-auto yang dikenali memiliki nilai auto_generated. |
| Memakai track VTT pada postingan video native yang publik, bukan LinkedIn Learning. Timestamp hanya per segmen. |
Link YouTube yang bisa Anda kirim
Isi url dengan link video. Biarkan platform kosong atau isi dengan youtube. API menerima format berikut, baik dengan maupun tanpa www.:
| Format link | Contoh |
|---|---|
| Halaman video | https://www.youtube.com/watch?v=dQw4w9WgXcQ |
| Link pendek | https://youtu.be/dQw4w9WgXcQ |
| Shorts | https://www.youtube.com/shorts/dQw4w9WgXcQ |
| Embed | https://www.youtube.com/embed/dQw4w9WgXcQ |
| Live | https://www.youtube.com/live/dQw4w9WgXcQ |
| Versi seluler dan YouTube Music | https://m.youtube.com/watch?v=dQw4w9WgXcQ, https://music.youtube.com/watch?v=dQw4w9WgXcQ |
API mengabaikan parameter query tambahan seperti t, list, dan si. Berbagai format link yang mengarah ke video yang sama tetap dikenali sebagai satu video. Kirim URL lengkap, bukan hanya ID video 11 karakter. Link channel, link yang hanya mengarah ke playlist, dan format yang tidak didukung akan mendapat 422 invalid_url. Jika nilai platform tidak dikenal, API mengirim 422 unsupported_platform beserta daftar supported_platforms.
Video harus publik atau unlisted. Untuk video privat, transkripsi gagal dengan media_private; untuk video berbatas usia, age_restricted; untuk siaran langsung, live_stream. Jika Anda memiliki file rekamannya, unggah file tersebut.
source
Pilih source untuk menentukan apakah teks diambil dari subtitle atau dibuat dari audio.
| Nilai | Cara kerja |
|---|---|
auto (bawaan) | Cari subtitle dalam bahasa asli video di YouTube, X, TikTok, Bluesky, Dailymotion, dan LinkedIn. Jika tidak ada yang bisa dipakai, lanjutkan dengan transkripsi AI dari audio. |
captions | Mode captions (hanya subtitle) mengambil teks di platform yang mendukungnya, tanpa mengunduh audio atau menjalankan STT. Jika tidak ada track yang bisa dipakai, transkripsi gagal dengan no_captions tanpa biaya. Jika isi subtitle gagal diambil, kodenya fetch_failed. Platform lain menolak mode ini dengan 422 invalid_request. |
stt | Langsung mentranskripsi audio dengan AI, tanpa mencari subtitle. |
Untuk file unggahan, teks selalu dibuat dari audio. Nilai source yang diterima hanya auto dan stt. Jika Anda mengirim captions, API merespons dengan 422 invalid_request.
Bahasa subtitle harus sesuai dengan language yang diminta. Jika nilainya auto, subtitle harus sesuai dengan bahasa asli video. Untuk YouTube, subtitle harus berasal dari unggahan kreator atau dibuat otomatis oleh YouTube dalam bahasa tersebut. Terjemahan otomatis tidak pernah dipakai. Urutan prioritasnya adalah subtitle yang diunggah kreator, track yang asalnya tidak diketahui, lalu subtitle otomatis. Jangan menganggap track tanpa informasi asal sebagai unggahan kreator.
X memakai track VTT yang tersedia. Timestamp hanya per segmen, termasuk pada subtitle otomatis; tidak ada timestamp per kata. Dalam mode auto, STT menjadi pengganti jika isi subtitle tidak tersedia atau tidak bisa diparse. Masalah routing, penyimpanan, atau bug program tidak memicu peralihan ke STT. Mode stt selalu langsung memakai audio.
diarize
Aktifkan diarize untuk pengenalan pembicara. Nilai bawaannya false.
- Pengenalan pembicara memerlukan transkripsi dari audio. Saat
sourcebernilaiauto, opsidiarize: truemembuat proses langsung memakai speech to text tanpa mengambil subtitle. - Jangan gabungkan
source: "captions"dengandiarize: true. Kombinasi ini mendapat422 invalid_request. - Pembicara mendapat label seperti
Speaker 1danSpeaker 2. Label tercantum ditranscript.speakersdan fieldspeakerpada setiap segmen. Formattextdansrtmemakai awalanSpeaker 1:, sedangkanvttmemakai voice tag<v Speaker 1>.
{ "platform": "youtube", "url": "https://youtu.be/dQw4w9WgXcQ", "source": "stt", "diarize": true }language
Biarkan language pada nilai bawaan auto, atau isi kode bahasa ISO 639-1 dua huruf, misalnya en, de, atau es.
- Saat mengambil subtitle,
languagemenentukan bahasa track yang dipilih. Nilaiautomemakai bahasa asli video. - Saat mentranskripsi audio, kode bahasa diteruskan sebagai petunjuk ke penyedia speech to text. Dengan
auto, bahasa dideteksi otomatis. Setiap segmen memiliki fieldlanguagesendiri.
Field language pada objek transkripsi menunjukkan bahasa yang paling dominan.
Isi transkrip menurut sumbernya
Periksa transcript_source untuk mengetahui asal teks: youtube_captions, x_captions, tiktok_captions, bluesky_captions, dailymotion_captions, linkedin_captions, atau speech_to_text. Pada subtitle, caption_kind bernilai manual, auto_generated, atau null. Nilai null berarti asalnya tidak diketahui, bukan bukti bahwa subtitle diunggah kreator.
youtube_captions, caption_kind manual | youtube_captions, caption_kind auto_generated | speech_to_text | |
|---|---|---|---|
| Pembagian segmen | Mengikuti setiap cue subtitle | Mengikuti setiap cue subtitle | Segmen baru saat pembicara atau bahasa berubah, ada tanda baca akhir kalimat, atau durasinya mencapai 15 detik |
Timestamp per kata dengan include=words | Tidak tersedia (words bernilai null) | Waktu mulai tiap kata; waktu akhirnya mengikuti awal kata berikutnya | Waktu mulai dan akhir tiap kata, disertai confidence |
| Pengenalan pembicara | Tidak tersedia | Tidak tersedia | Tersedia jika diarize bernilai true |
| Informasi bahasa | Sesuai bahasa track | Sesuai bahasa track | Dicatat untuk setiap segmen |
Teks subtitle YouTube tetap mengikuti versi yang dipublikasikan, termasuk tag seperti [Music]. Untuk speech to text, durasi maksimal rekaman adalah 5 jam. Jika lebih panjang, transkripsi gagal dengan media_too_long.
Subtitle X (x_captions), TikTok, Bluesky, Dailymotion, dan LinkedIn hanya memiliki timestamp per segmen. Meskipun memakai include=words, setiap segmen tetap berisi words: null, termasuk pada subtitle otomatis. Sumber ini juga tidak menyertakan pengenalan pembicara. Untuk timestamp per kata dari AI, pilih source: "stt". Untuk pengenalan pembicara, gunakan diarize: true dengan mode auto atau stt.
Biaya transkripsi
Mengambil subtitle dan mentranskripsi audio dengan speech to text memakai tarif yang sama. Setiap menit rekaman menghabiskan satu kredit, dengan pembulatan ke atas. Pilihan sumber tidak mengubah biaya. Rinciannya ada di biaya dan batas penggunaan.
Pembaruan terakhir 20 Oktober 2026