Ollama: Ringkas Video YouTube Tanpa Membayar Token

Anda dapat membuat Ollama merangkum video YouTube dengan satu pipa shell: ambil transkrip melalui HTTP, ekstrak teks dengan jq, berikan ke model lokal. Tidak ada tagihan OpenAI, tidak ada data yang meninggalkan mesin Anda kecuali pengambilan transkrip itu sendiri. Berikut adalah pipa, konteks-jendela matematika yang membuatnya berfungsi, dan di mana ia jatuh pendek.
One-liner
Ambil kunci demo bersama terlebih dahulu (atau bawa milik Anda sendiri — lebih lanjut tentang itu di bawah):
API_KEY=$(curl -s https://youtube2text.org/api/demo-key | jq -r .apiKey)
Kemudian:
curl -s "https://youtube2text.org/api/transcribe?url=https://www.youtube.com/watch?v=VIDEO_ID&maxChars=12000" \
-H "x-api-key: $API_KEY" \
| jq -r .result.content \
| ollama run llama3.1 "Summarize this video transcript in five bullet points:"
API mengembalikan {"result": {"videoId", "title", "pubDate", "content", ...}}; jq -r .result.content menggantinya ke teks mentah, dan Ollama menambahkan stdin yang dipipe ke argumen prompt. Tiga puluh detik kemudian Anda memiliki poin peluru dan YouTube tidak pernah melihat permintaan dari IP Anda — pengambilan transkrip masuk melalui youtube2text.org, yang menangani bagian yang diblokir saat Anda mengorek dari mesin Anda sendiri.
Mengapa maxChars=12000
Ini adalah angka yang salah orang-orang dapatkan. Ollama menjalankan model dengan konteks 4096-token secara default, dan semuanya bersaing untuk itu: prompt Anda, transkrip, dan output model. Pada kasar 4 karakter per token, 12.000 karakter transkrip adalah ~3.000 token, meninggalkan headroom untuk ringkasan. Pipe dalam podcast 90 menit penuh pada batas default API sebesar 150.000 karakter dan Ollama diam-diam terpotong dari depan — model meringkas sepuluh menit terakhir dan dengan percaya diri mengabaikan sisanya. Tidak ada kesalahan, hanya jawaban yang salah.
Jika hardware Anda memiliki RAM untuk cadangan, naikkan kedua ujung bersama-sama:
OLLAMA_CONTEXT_LENGTH=16384 ollama serve
kemudian bump maxChars ke sekitar 50000. Skala dua angka dalam lockstep atau Anda kembali ke pemotongan diam-diam.
Jadilah fungsi shell
yt-summary() {
curl -s "https://youtube2text.org/api/transcribe?url=$1&maxChars=12000" \
-H "x-api-key: $API_KEY" \
| jq -r .result.content \
| ollama run llama3.1 "Summarize this video transcript in five bullet points:"
}
yt-summary "https://www.youtube.com/watch?v=VIDEO_ID"
Tukar prompt dengan apa yang benar-benar Anda butuhkan — "ekstrak setiap alat yang disebutkan", "daftar item tindakan", "terjemahkan ke Jerman". Pipa yang sama, instruksi berbeda. Untuk mengubah kuliah menjadi catatan terstruktur ada alur kerja yang lebih panjang dalam catatan studi dari video kuliah.
Kasus privasi dan biaya
Hanya satu hal yang meninggalkan mesin Anda: permintaan transkrip ke youtube2text.org. Konten video, prompt Anda, dan output model semuanya tetap lokal. Untuk siapa pun merangkum video pelatihan internal, penelitian pesaing, atau konten yang lebih suka tidak dikirim ke cloud LLM, itu adalah seluruh pitch. Sisi biaya: inferensi LLM gratis selamanya; satu-satunya bagian yang diukur adalah pengambilan transkrip.
Di mana ia jatuh pendek
Batasan jujur: model 8B merangkum irisan terbatas dari video jam-panjang akan ketinggalan hal. maxChars terpotong dari anggaran tetap, dan llama3.1 pada konteks 4k tidak melakukan sintesis mendalam — itu melakukan kompresi kompeten dari apa yang cocok. Untuk triage "apakah video ini layak waktu saya" cepat itu luar biasa. Untuk ekstraksi tingkat penelitian di seluruh konten panjang, baik jalankan model yang lebih besar dengan window konteks nyata atau indeks semuanya dengan benar — lihat RAG di atas channel YouTube untuk rute itu.
Juga: kunci demo dibagikan dan terbatas pada 5 video per bulan per IP. Itu ada sehingga one-liner di atas bekerja sebelum Anda mendaftar untuk apa pun. Setelah Anda melampaui ban menendang, dapatkan kunci Anda sendiri — tingkat gratis juga 5 video/bulan tetapi itu milik Anda, dan $5,99 membeli 50.