PanduanOleh Péter Nagy

Cara mendapatkan transkrip YouTube dengan API (curl, Python, JavaScript)

Ambil transkrip video YouTube publik mana pun dengan satu permintaan HTTP. Contoh curl, Python, dan JavaScript yang berfungsi, format keluaran, kode galat, dan biaya.

Ringkas video YouTube sekarang

Tempel tautan dan dapatkan poin pentingnya dengan stempel waktu yang bisa diklik.

Untuk mendapatkan transkrip YouTube dengan API, kirim satu permintaan HTTP berisi URL atau ID video dan kunci API, lalu baca transkripnya dari respons. Panduan ini menunjukkan permintaannya dalam curl, Python, dan JavaScript memakai API Transkrip sum.video, lalu membahas format, galat, dan biaya.

Apa yang dikembalikan API

Endpoint ini mengembalikan teks sulih yang sudah ada dari video YouTube publik, baik yang ditulis pembuatnya maupun yang dibuat otomatis oleh YouTube. API ini tidak mentranskripsi audio. Jika video tidak punya teks sulih, kamu mendapat galat, bukan tebakan (lebih lanjut di bawah).

Dasar-dasarnya:

  • Endpoint: POST https://sum.video/api/v1/transcript (GET juga bisa)
  • Autentikasi: kuncimu di header X-API-Key, atau Authorization: Bearer <key>
  • Masukan: url atau video_id
  • lang opsional (bawaan en)
  • format opsional: json, text, atau srt

Respons juga memberi tahu bahasa asli dari trek teks sulih dan apakah trek itu dibuat otomatis, sehingga kamu tahu kualitas apa yang bisa diharapkan.

Langkah 1: Buat kunci API

Masuk, lalu buat kunci di dasbor API (/dashboard/api di sum.video). Kamu bisa punya hingga 5 kunci aktif, berguna untuk memisahkan kunci staging dari kunci produksi. Kunci pertamamu datang dengan 10 kredit gratis, cukup untuk 5 transkrip, jadi kamu bisa mencoba semua di bawah ini tanpa biaya.

Ringkas video YouTube sekarang

Tempel tautan dan dapatkan poin pentingnya dengan stempel waktu yang bisa diklik.

Langkah 2: Kirim permintaan pertama

curl

curl -X POST https://sum.video/api/v1/transcript \
  -H "X-API-Key: $SUMVIDEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "lang": "en", "format": "text"}'

Karena GET juga bisa, kamu dapat mencoba dari skrip yang hanya menyusun URL. Sebaiknya kirim kunci lewat header agar tidak tercatat di log.

Python

import os
import requests

resp = requests.post(
    "https://sum.video/api/v1/transcript",
    headers={"X-API-Key": os.environ["SUMVIDEO_API_KEY"]},
    json={"video_id": "dQw4w9WgXcQ", "lang": "en", "format": "text"},
    timeout=30,
)

if resp.status_code == 404:
    print("No captions for this video")
else:
    resp.raise_for_status()
    print(resp.text)

JavaScript (Node 18+ atau browser)

const resp = await fetch("https://sum.video/api/v1/transcript", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.SUMVIDEO_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    video_id: "dQw4w9WgXcQ",
    lang: "en",
    format: "text",
  }),
});

if (resp.status === 404) {
  console.log("No captions for this video");
} else if (!resp.ok) {
  throw new Error(`Request failed: ${resp.status}`);
} else {
  console.log(await resp.text());
}

Simpan kunci di server. Kunci yang ditaruh di kode browser bisa disalin siapa saja yang membuka alat pengembang.

Langkah 3: Pilih format yang tepat

Format Yang kamu dapat Terbaik untuk
json Segmen, masing-masing dengan offset dan duration dalam detik Penanda waktu, tautan ke momen tertentu, pemotongan berdasarkan waktu
text Transkrip teks biasa Prompt, indeks pencarian, ringkasan
srt Isi berkas teks sulih Penyunting video, alat teks sulih

Jika kamu berencana menautkan ke momen tertentu di video, pakai json dan susun tautannya dari offset segmen. Untuk memberi masukan ke LLM, text lebih kecil dan sederhana. Jika nanti kamu ingin mencari di dalam transkrip secara manual, lihat cara mencari di dalam transkrip video YouTube.

Langkah 4: Pilih bahasa

lang bawaannya en. Setel ke bahasa yang kamu mau, misalnya de atau es. Respons melaporkan bahasa trek yang benar-benar dikembalikan, jadi periksa, jangan berasumsi. Sebuah video sering hanya punya satu trek teks sulih, dan API mengembalikan teks sulih asli, jadi tidak menerjemahkannya untukmu.

Langkah 5: Tangani galat

Rencanakan kasus-kasus ini sejak hari pertama:

  • 404 no_transcript: video tidak punya teks sulih, atau berupa siaran langsung, video privat, atau video yang sudah dihapus. Tidak ada yang perlu dicoba ulang. Lewati saja, atau minta pengguna memberi video lain.
  • 402 budget_exceeded: kamu mencapai batas kredit bulanan yang kamu atur. Lihat bagian berikutnya.
  • Batas laju: setiap kunci mengizinkan 60 permintaan per menit. Beri jeda pada pekerjaan massal, dan mundur saat dibatasi.
  • Kegagalan di sisi kami: coba lagi dengan jeda singkat. Tidak dikenai biaya.

Perulangan sederhana yang mencoba ulang saat galat server dan melewati 404 sudah mencakup sebagian besar kebutuhan produksi.

Berapa biayanya

Setiap transkrip berbiaya 2 kredit. Permintaan yang tidak menghasilkan transkrip, atau gagal di sisi sum.video, tidak dikenai biaya, sehingga 404 tidak pernah menguras saldomu. Kamu bisa memeriksa saldo dengan GET /api/v1/credits.

Kredit dijual dalam paket sekali beli yang tidak pernah kedaluwarsa:

Paket Harga Per transkrip
100 kredit $4.49 $0.090
500 kredit $13.99 $0.056
2,000 kredit $37.99 $0.038
5,000 kredit $74.99 $0.030

Pelanggan Pro juga mendapat bonus 100 kredit setiap bulan. Untuk beban yang lebih berat, seperti memasukkan seluruh kanal, baca skenario transkrip YouTube untuk aplikasi RAG dalam skala besar yang membahas isi ulang otomatis dan anggaran. Lihat juga harga.

Batasan yang perlu diketahui sebelum membangun

  • Hanya video dengan teks sulih yang berfungsi. Ini penyebab utama 404 no_transcript.
  • Teks sulih yang dibuat otomatis bisa mengandung kesalahan, terutama pada nama, aksen, dan istilah teknis.
  • API hanya mengembalikan transkrip. API tidak meringkas. Jika kamu ingin ringkasan, penanda waktu, dan obrolan di atas transkrip, peringkas YouTube yang melakukannya, dan alat transkrip adalah versi tanpa kode untuk satu video.
  • YouTube Data API resmi bukan pengganti di sini. Metode unduh teks sulihnya memerlukan izin untuk mengedit video, jadi diperuntukkan bagi videomu sendiri (dokumentasi Google).

Sumber

Pertanyaan yang sering diajukan

Bisakah saya mendapatkan transkrip YouTube tanpa YouTube Data API resmi?

Bisa. API Transkrip sum.video menerima URL atau ID video dan mengembalikan teks sulih yang sudah ada, tanpa perlu proyek Google Cloud. Metode unduh teks sulih milik Google memerlukan izin untuk mengedit video, jadi hanya cocok untuk videomu sendiri.

Apakah API ini mentranskripsi video yang tidak punya teks sulih?

Tidak. API mengembalikan teks sulih YouTube yang sudah ada, baik manual maupun otomatis. Video tanpa teks sulih, siaran langsung, video privat, dan video yang dihapus mengembalikan 404 no_transcript, dan permintaan itu tidak dikenai biaya.

Berapa biaya satu transkrip?

2 kredit per transkrip. Paketnya mulai dari 100 kredit seharga $4.49 ($0.090 per transkrip) sampai 5,000 kredit seharga $74.99 ($0.030 per transkrip), dan kredit tidak pernah kedaluwarsa.

Format keluaran apa saja yang tersedia?

json (segmen dengan offset dan duration dalam detik), text, dan srt. Setel kolom format pada permintaan.

Bagaimana cara mencobanya secara gratis?

Kunci API pertamamu datang dengan 10 kredit gratis, yaitu 5 transkrip. Pelanggan Pro juga mendapat bonus 100 kredit setiap bulan.

Ringkas video YouTube sekarang

Tempel tautan dan dapatkan poin pentingnya dengan stempel waktu yang bisa diklik.

api transkrip youtubetutorial apipythonjavascriptcurl

Bacaan terkait

Tulisan terbaru

Ringkas video YouTube apa pun dalam hitungan detik

Coba sum.video