Kirim link dari server atau skrip Anda
Buat kunci API di dasbor, lalu kirim URL video dengan POST. Bisa dari Python atau HTTP client lain. Dengan wait=60, koneksi menunggu hingga 60 detik. Referensi pembuatan transkripsi memuat field request dan status HTTP-nya.
Simpan ID transkripsi begitu request berhasil. Jika waktu tunggu habis sebelum teks siap, prosesnya tetap berjalan. Baca status lewat GET /v1/transcriptions/:id; jangan mengirim request pembuatan baru hanya karena respons awal belum berisi teks.
Aplikasi dapat melihat status queued, fetching atau transcribing sebelum completed atau failed. Pada completed, tampilkan transkrip. Pada failed, tangani error. Jangan tampilkan transkrip kosong seolah-olah berhasil ketika video tidak bisa diakses atau koneksi terlambat.
curl -X POST "https://api.transcript1.com/v1/transcriptions?wait=60" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
-H "Content-Type: application/json" \
-d '{"platform":"youtube","url":"https://youtu.be/dQw4w9WgXcQ"}'Periksa asal teks lewat transcript_source
Respons memberi tahu apakah teks berasal dari subtitle YouTube, termasuk jenis subtitlenya. billed_minutes berisi durasi yang dibulatkan ke atas. Lihat seluruh field di objek transkripsi.
Simpan transcript_source dan caption_kind jika aplikasi perlu mencatat asal teks. Subtitle kreator mempertahankan teks yang dipublikasikan, tanpa timestamp per kata. Subtitle otomatis YouTube menyediakan waktu awal kata. Transkripsi AI menyediakan waktu awal, akhir dan confidence. Contoh JSON di bawah hanya menunjukkan strukturnya, bukan isi video contoh.
Gunakan waktu awal dan akhir segmen untuk menghubungkan teks ke pemutar, menyelaraskan catatan, atau mengirim kutipan yang relevan ke asisten AI. Tambahkan include=words saat membaca JSON hanya jika aplikasi membutuhkan rincian tiap kata.
{
"id": "tr_8fK2Lm0PqRsTuVwXyZaBcD",
"status": "completed",
"transcript_source": "youtube_captions",
"caption_kind": "auto_generated",
"language": "en",
"billed_minutes": 4,
"transcript": {
"text": "Welcome back to the channel. Today we are looking at how transcripts are made.",
"segments": [
{ "start": 0, "end": 4.2, "speaker": null, "language": "en", "text": "Welcome back to the channel." }
]
}
}Butuh subtitle asli atau transkripsi baru?
Nilai default source adalah auto. Pilih captions (hanya subtitle) jika Anda memang membutuhkan subtitle yang tersedia di YouTube. Jika tidak ada yang sesuai, request gagal dengan no_captions tanpa biaya. Pilih stt untuk selalu mentranskripsi audio. Rinciannya ada di pengaturan sumber.
Untuk pengenalan pembicara, gunakan transkripsi AI. Kombinasi auto dan diarize=true langsung memproses audio, meski video memiliki subtitle. Kombinasi captions dan diarize=true ditolak; API tidak mengabaikan salah satu opsi secara diam-diam.
Pilihan language juga menentukan subtitle yang bisa dipakai. Bahasanya harus sesuai dengan yang Anda minta, atau bahasa asli video jika memakai auto. Subtitle terjemahan otomatis tidak digunakan. Pada transkripsi AI, language hanya memberi petunjuk bahasa, bukan perintah untuk menerjemahkan.
{
"platform": "youtube",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"source": "stt"
}Periksa penyebabnya sebelum mengulang request
Mengulang request tidak akan membuka video privat, menghapus batas usia, atau mengubah siaran langsung menjadi rekaman. Jika captions (hanya subtitle) menghasilkan no_captions, tentukan apakah transkripsi audio boleh menggantikannya. Jika proses masih berjalan, baca lagi berdasarkan ID. Gunakan panduan error untuk menentukan tindakan yang tepat.
Gunakan Idempotency-Key saat perlu mengulang request pembuatan yang sama. Opsi penggunaan ulang transkripsi terbaru berbeda: opsi itu mencari video dan pengaturan yang cocok. Cache tidak selalu berarti gratis; transkripsi dari cache masih bisa ditagih sebagai pekerjaan baru. Membaca transkripsi selesai yang sudah ada tidak memakai menit tambahan.
Endpoint yang sama juga menerima link TikTok, Instagram dan platform lain yang didukung. YouTube, X, TikTok dan Bluesky dapat memakai subtitle lalu beralih ke AI bila perlu. Periksa kemampuan setiap sumber sebelum menawarkan pilihan source di aplikasi Anda.