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.

PlatformLink 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 subtitleJenis subtitle dan timestamp
YouTube dan XMemakai track subtitle yang tersedia. Timestamp per kata hanya ada pada subtitle otomatis YouTube.
TikTokMemakai subtitle native VTT atau SRT yang tersedia, dengan timestamp per segmen saja.
BlueskyMemakai 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.
DailymotionMengambil file SRT langsung, bukan playlist subtitle. Timestamp hanya per segmen. Track en-auto/fr-auto yang dikenali memiliki nilai auto_generated.
LinkedInMemakai 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 linkContoh
Halaman videohttps://www.youtube.com/watch?v=dQw4w9WgXcQ
Link pendekhttps://youtu.be/dQw4w9WgXcQ
Shortshttps://www.youtube.com/shorts/dQw4w9WgXcQ
Embedhttps://www.youtube.com/embed/dQw4w9WgXcQ
Livehttps://www.youtube.com/live/dQw4w9WgXcQ
Versi seluler dan YouTube Musichttps://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.

NilaiCara 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.
captionsMode 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.
sttLangsung 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 source bernilai auto, opsi diarize: true membuat proses langsung memakai speech to text tanpa mengambil subtitle.
  • Jangan gabungkan source: "captions" dengan diarize: true. Kombinasi ini mendapat 422 invalid_request.
  • Pembicara mendapat label seperti Speaker 1 dan Speaker 2. Label tercantum di transcript.speakers dan field speaker pada setiap segmen. Format text dan srt memakai awalan Speaker 1: , sedangkan vtt memakai 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, language menentukan bahasa track yang dipilih. Nilai auto memakai bahasa asli video.
  • Saat mentranskripsi audio, kode bahasa diteruskan sebagai petunjuk ke penyedia speech to text. Dengan auto, bahasa dideteksi otomatis. Setiap segmen memiliki field language sendiri.

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 manualyoutube_captions, caption_kind auto_generatedspeech_to_text
Pembagian segmenMengikuti setiap cue subtitleMengikuti setiap cue subtitleSegmen baru saat pembicara atau bahasa berubah, ada tanda baca akhir kalimat, atau durasinya mencapai 15 detik
Timestamp per kata dengan include=wordsTidak tersedia (words bernilai null)Waktu mulai tiap kata; waktu akhirnya mengikuti awal kata berikutnyaWaktu mulai dan akhir tiap kata, disertai confidence
Pengenalan pembicaraTidak tersediaTidak tersediaTersedia jika diarize bernilai true
Informasi bahasaSesuai bahasa trackSesuai bahasa trackDicatat 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