NanoSkill
Skill gönder

YouTube Transkript Ajan Becerisi

tarafındanJimLiu1KGitHub yıldızıGitHub

YouTube video transkriptlerini, altyazılarını ve kapak resimlerini URL veya video kimliği ile indirin. İçerik erişilebilirliğini artırmak için çoklu dil, çeviri, bölüm ve konuşmacı tanıma desteği sunar. Saniyeler içinde ücretsiz başlayın.

youtubeGüvenlik taraması geçti
Sonuç önizlemesi

Tam demo

Bu Beceri ile desteklenen profesyonel bir video analiz raporunu keşfedin.

Başlangıç

İlk görevinizi çalıştırın

  1. A screenshot showing the installation process of the 'baoyu-youtube-transcript' AI agent skill from a GitHub repository using an NPX command. At the top, a blue command banner displays the installation command for adding the skill from the GitHub repository. Below, a conversational interface explains the installation workflow, including handling an interactive installation prompt, detecting that the process did not complete automatically, rerunning the command with a '-y' flag to bypass prompts, and explicitly targeting the Hermes Agent environment. The log then describes creating a symbolic link from the agent skills directory to the Hermes skills directory so the skill can be recognized by the Hermes Agent. A final confirmation states that the 'baoyu-youtube-transcript' skill was successfully installed, linked, and is available for use through a skill invocation command. The interface uses a clean chat-style layout with gray response panels, dark blue command highlighting, and monospaced code snippets for file paths and terminal commands.
    01

    Yükle

    YouTube Transkript Ajan Becerisini yapay zeka ajanınıza ekleyin.

  2. A screenshot showing a prompt and response workflow for a YouTube transcript analysis skill. The top section contains a dark blue prompt panel describing an AI-powered content research and knowledge extraction system designed to analyze YouTube videos and transform them into structured knowledge assets. The prompt outlines requirements such as extracting complete transcripts, metadata, chapter structures, timestamps, speaker distinctions, key topics, major insights, statistics, examples, and actionable takeaways. It also lists supported output formats including executive summaries, study notes, blog articles, social media content, newsletter drafts, and research reports. Additional instructions emphasize transcript quality evaluation, improved readability, information hierarchy, redundancy removal, and generating a polished final deliverable. The requested output is a visually engaging PDF report with chapter navigation, highlighted takeaways, and presentation-ready layouts. Beneath the prompt, a gray response panel shows the AI acknowledging that the skill has been loaded successfully but explaining that a YouTube URL is still required before transcript extraction and report generation can begin. The interface uses a clean chat-style layout with large rounded panels, white text on a dark blue background, and structured instructional formatting.
    02

    İçerik Sağlayın

    Bir YouTube bağlantısı paylaşın ve istediğiniz çıktı biçimini belirtin.

  3. A presentation cover slide for a TED Talk analysis and knowledge report. The slide features a bold red background with a teal accent bar running along the bottom edge. Centered at the top is the large white title 'This Is How Kids Should Be Learning with AI.' Below the title, the speaker attribution reads 'Priya Lakhani | TEDNext 2025,' followed by the subtitle 'TED Talk Analysis & Knowledge Report' in italicized white text. In the center of the slide is a thumbnail image from the TED Talk showing Priya Lakhani on stage. The thumbnail includes the prominent message 'AI Isn't a Shortcut to Learning' alongside the TED logo. The overall design resembles a professional research report cover, using strong typography, high contrast colors, and a clean layout to introduce an educational analysis focused on artificial intelligence, learning science, and the future of education.
    03

    İçgörüleri Çıkarın

    Yapılandırılmış transkriptler, özetler, önemli noktalar ve yeniden kullanılabilir içerik oluşturun.

Kurulum komutu

$ npx skills add https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-youtube-transcript

Hakkında

YouTube Transkript İndirme Becerisi, YouTube videolarından kapsamlı bilgi çıkarmak için sağlam bir çözüm sunar. Bu beceri, kullanıcıların yalnızca bir video URL'si veya kimliği sağlayarak tam YouTube transkriptlerini, altyazılarını ve hatta kapak resimlerini zahmetsizce indirmelerine olanak tanır. İçerik oluşturucular, araştırmacılar ve konuşulan içeriği metne dönüştürmesi gereken herkes için tasarlanmış olup, çoklu dil desteği, çeviri yetenekleri ve gelişmiş yapılandırma seçenekleri gibi özellikler sunar.

YouTube'un InnerTube API'sine doğrudan erişim ve `yt-dlp`'ye akıllı bir geri dönüşten yararlanan beceri, kişisel API anahtarlarına ihtiyaç duymadan güvenilir ve verimli veri alımı sağlar. Zaman damgaları ve bölüm işaretleyicileri ile ayrıntılı analiz için Markdown ve standart altyazı entegrasyonu için SRT dahil olmak üzere esnek çıktı biçimleri sunar. Ayrıca, video açıklamalarından bölüm segmentasyonunu destekler ve yapay zeka destekli konuşmacı tanıma için bir iş akışı sağlayarak son derece düzenli ve atfedilmiş metinler sunar.

Akıllı önbellekleme ile beceri, gereksiz ağ isteklerini en aza indirerek aynı video üzerinde sonraki işlemleri son derece hızlı hale getirir. Video içeriğini analiz etmeniz, erişilebilir altyazılar oluşturmanız, küresel bir kitle için materyal çevirmeniz veya yalnızca video meta verilerini ve küçük resimleri çıkarmanız gerekip gerekmediğine bakılmaksızın, bu beceri süreci kolaylaştırarak YouTube içerik yönetimi için güçlü bir araç sunar.

Temel özellikler

Onu güçlü yapan şey

  • Doğrudan YouTube Erişimi

    Hızlı transkript alımı için doğrudan YouTube'un InnerTube API'sine erişir; doğrudan API engellenirse otomatik olarak `yt-dlp`'ye geri dönerek API anahtarları olmadan güvenilir erişim sağlar.

  • Çoklu Dil Desteği ve Çeviri

    Transkriptler için tercih edilen dilleri belirtin ve bunları hedef bir dile çevirerek içeriği küresel bir kitle için erişilebilir hale getirin.

  • Bölüm Segmentasyonu ve Konuşmacı Tanımlama

    Transkriptleri otomatik olarak video bölümlerine göre segmentlere ayırır ve konuşmacı tanımlama için AI son işlemesini destekler, yapılandırılmış ve atıflı metin sağlar.

  • Esnek Çıktı Biçimleri

    Zaman damgalı Markdown veya SRT altyazı dosyaları olarak transkriptler oluşturur; içerik analizinden video oynatıcılara kadar çeşitli kullanımlar için uygundur.

  • Verimlilik için Akıllı Önbellekleme

    Ham video verilerini, meta verileri ve segmentlere ayrılmış transkriptleri önbelleğe alır; aynı video için sonraki isteklerde hızlı yeniden biçimlendirmeyi ve ağ çağrılarını azaltmayı sağlar.

Kullanım senaryoları

Ne zaman kullanılmalı

  • İçerik Analizi için YouTube Transkriptleri Oluşturun

    İçerik oluşturucular ve araştırmacılar, video içeriğini analiz etmek, önemli bilgileri çıkarmak veya konuşulan içeriği metin makalelerine dönüştürmek için zaman damgaları ve bölüm işaretçileri dahil olmak üzere tam YouTube transkriptlerini hızlıca elde edebilirler.

  • Erişilebilirlik için Altyazı Dosyaları Oluşturun

    Video düzenleyiciler ve erişilebilirlik uzmanları, içeriğin işitme engelli izleyiciler veya içeriği sessizce tüketmeyi tercih edenler için erişilebilir olmasını sağlamak üzere YouTube videolarından SRT altyazı dosyaları oluşturabilirler.

  • Küresel Erişim için Video İçeriğini Çevirin

    Pazarlamacılar ve eğitimciler, video içeriklerinin erişimini ana dili farklı olan konuşmacılara genişletmek ve küresel etkileşimi artırmak için YouTube transkriptlerini birden çok dile çevirebilirler.

  • Meta Verileri ve Kapak Görsellerini Çıkarın

    Kullanıcılar, video meta verilerini ve yüksek kaliteli kapak görsellerini kolayca çıkarabilir; bu, kataloglama, sosyal medya tanıtımı veya video içeriğiyle ilgili görsel öğeler oluşturmak için kullanışlıdır.

SKILL.md

YouTube Transkript

YouTube videolarından transkriptleri (altyazıları/başlıkları) indirir. Hem manuel olarak oluşturulmuş hem de otomatik oluşturulmuş transkriptlerle çalışır. API anahtarı veya tarayıcı gerekmez — doğrudan YouTube'un InnerTube API'sini kullanır ve YouTube doğrudan API yolunu engellediğinde otomatik olarak yt-dlp'ye geri döner.

İlk çalıştırmada video meta verilerini ve kapak resmini getirir, hızlı yeniden biçimlendirme için ham verileri önbelleğe alır.

Betik Dizini

Betikler scripts/ alt dizininde bulunur. {baseDir} = bu SKILL.md'nin dizin yolu. ${BUN_X} çalışma zamanını çöz: bun yüklüyse → bun; npx mevcutsa → npx -y bun; aksi takdirde bun'u yüklemeyi öner. {baseDir} ve ${BUN_X}'i gerçek değerlerle değiştirin.

BetikAmaç
scripts/main.tsTranskript indirme CLI

Kullanım

# Varsayılan: zaman damgalı işaretleme (İngilizce)
${BUN_X} {baseDir}/scripts/main.ts <youtube-url-veya-id>

# Dilleri belirt (öncelik sırasına göre)
${BUN_X} {baseDir}/scripts/main.ts <url> --languages zh,en,ja

# Zaman damgasız
${BUN_X} {baseDir}/scripts/main.ts <url> --no-timestamps

# Bölüm segmentasyonu ile
${BUN_X} {baseDir}/scripts/main.ts <url> --chapters

# Konuşmacı tanımlama ile (AI son işleme gerektirir)
${BUN_X} {baseDir}/scripts/main.ts <url> --speakers

# SRT altyazı dosyası
${BUN_X} {baseDir}/scripts/main.ts <url> --format srt

# Transkripti çevir
${BUN_X} {baseDir}/scripts/main.ts <url> --translate zh-Hans

# Mevcut transkriptleri listele
${BUN_X} {baseDir}/scripts/main.ts <url> --list

# Yeniden getir (önbelleği yoksay)
${BUN_X} {baseDir}/scripts/main.ts <url> --refresh

Seçenekler

SeçenekAçıklamaVarsayılan
<url-or-id>YouTube URL'si veya video kimliği (birden fazlasına izin verilir)Zorunlu
--languages <codes>Dil kodları, virgülle ayrılmış, öncelik sırasına göreen
--format <fmt>Çıktı biçimi: text, srttext
--translate <code>Belirtilen dil koduna çevir
--listİndirmek yerine mevcut transkriptleri listele
--timestampsHer paragraf için [SS:DD:SS → SS:DD:SS] zaman damgalarını dahil etaçık
--no-timestampsZaman damgalarını devre dışı bırak
--chaptersVideo açıklamasından bölüm segmentasyonu
--speakersKonuşmacı tanımlama için meta verilerle ham transkript
--exclude-generatedOtomatik oluşturulan transkriptleri atla
--exclude-manually-createdManuel oluşturulan transkriptleri atla
--refreshYeniden getirmeye zorla, önbelleğe alınmış veriyi yoksay
-o, --output <path>Belirli bir dosya yoluna kaydetotomatik oluşturulmuş
--output-dir <dir>Temel çıktı diziniyoutube-transcript

İsteğe Bağlı Ortam Değişkenleri

DeğişkenAçıklama
YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSERGeri dönüş sırasında yt-dlp --cookies-from-browser'a iletilir, ör. chrome, safari, firefox veya chrome:Profil 1

Giriş Biçimleri

Video girişi olarak bunlardan herhangi birini kabul eder:

  • Tam URL: https://www.youtube.com/watch?v=dQw4w9WgXcQ
  • Kısa URL: https://youtu.be/dQw4w9WgXcQ
  • Gömme URL'si: https://www.youtube.com/embed/dQw4w9WgXcQ
  • Shorts URL'si: https://www.youtube.com/shorts/dQw4w9WgXcQ
  • Video Kimliği: dQw4w9WgXcQ

Çıktı Biçimleri

BiçimUzantıAçıklama
text.mdFrontmatter (description dahil), başlık başlığı, özet, isteğe bağlı içindekiler/kapak/zaman damgaları/bölümler/konuşmacılar içeren Markdown
srt.srtVideo oynatıcılar için SubRip altyazı biçimi

Çıktı Dizini

youtube-transcript/
├── .index.json                          # Video kimliği → dizin yolu eşlemesi (önbellek araması için)
└── {channel-slug}/{title-full-slug}/
    ├── meta.json                        # Video meta verileri (başlık, kanal, açıklama, süre, bölümler vb.)
    ├── transcript-raw.json              # YouTube API'sinden ham transkript parçacıkları (önbelleğe alınmış)
    ├── transcript-sentences.json        # Cümle-segmentli transkript (noktalama ile bölünmüş, parçacıklar arasında birleştirilmiş)
    ├── imgs/
    │   └── cover.jpg                    # Video küçük resmi
    ├── transcript.md                    # Markdown transkript (cümlelerden oluşturulmuş)
    └── transcript.srt                   # SRT altyazı (ham parçacıklardan oluşturulmuş, eğer --format srt ise)
  • {channel-slug}: Kanal adı kebab-case olarak
  • {title-full-slug}: Tam video başlığı kebab-case olarak

--list modu yalnızca stdout'a çıkar (dosya kaydedilmez).

Önbellekleme

İlk getirmede betik şunları kaydeder:

  • meta.json — video meta verileri, bölümler, kapak resmi yolu, dil bilgisi
  • transcript-raw.json — YouTube API'sinden ham transkript parçacıkları ({ text, start, duration }[])
  • transcript-sentences.json — cümle-segmentli transkript ({ text, start: "SS:dd:ss", end: "SS:dd:ss" }[]), cümle sonu noktalama ile bölünmüş (.?!…。?! vb.), zaman damgaları karakter uzunluğuna orantılı olarak ayrılmış, CJK farkında metin birleştirme
  • imgs/cover.jpg — video küçük resmi

Aynı video için sonraki çalıştırmalar önbelleğe alınmış verileri kullanır (ağ çağrısı yapılmaz). Yeniden getirmeye zorlamak için --refresh kullanın. Farklı bir dil talep edilirse, önbellek otomatik olarak yenilenir.

YouTube, doğrudan InnerTube yolunda bot karşıtı / engellenmiş yanıtlar döndürdüğünde, betik alternatif istemci kimlikleriyle yeniden dener ve ardından mevcutsa yt-dlp'ye geri döner. Geri dönüş gerekliyse ancak yt-dlp mevcut değilse, aracı kullanıcıya yükleme kararını bırakmak yerine yt-dlp'yi nasıl kullanılabilir hale getireceğine karar vermeli ve devam etmelidir.

SRT çıktısı (--format srt) transcript-raw.json'dan oluşturulur. Metin/markdown çıktısı doğal cümle sınırları için transcript-sentences.json'u kullanır.

İş Akışı

Kullanıcı bir YouTube URL'si sağladığında ve transkripti istediğinde:

  1. Kullanıcı bir dil belirtmemişse, mevcut seçenekleri göstermek için önce --list ile çalıştırın
  2. Betiği çalıştırırken URL'yi her zaman tek tırnak içine alın — zsh, ? işaretini bir glob joker karakteri olarak ele alır, bu nedenle tırnaksız bir YouTube URL'si "eşleşme bulunamadı" hatasına neden olur: 'https://www.youtube.com/watch?v=ID' kullanın
  3. Varsayılan: En zengin çıktı için --chapters --speakers ile çalıştırın (bölümler + konuşmacı tanımlama)
  4. Betik, önbelleğe alınmış verileri + çıktı dosyasını otomatik olarak kaydeder ve dosya yolunu yazdırır
  5. --speakers modu için: betik ham dosyayı kaydettikten sonra, konuşmacı etiketleriyle son işlem yapmak için aşağıdaki konuşmacı tanımlama iş akışını izleyin

Kullanıcı yalnızca kapak resmi veya meta veri istediğinde, betiği herhangi bir seçenekle çalıştırmak ayrıca meta.json ve imgs/cover.jpg'yi önbelleğe alır.

Aynı videoyu yeniden biçimlendirirken (örneğin, önce metin sonra SRT), önbelleğe alınan veriler yeniden kullanılır — yeniden getirme gerekmez.

Bölüm ve Konuşmacı İş Akışı

Bölümler (--chapters)

Betik, video açıklamasındaki bölüm zaman damgalarını (ör. 0:00 Giriş) ayrıştırır, transkripti bölüm sınırlarına göre segmentlere ayırır, parçacıkları okunabilir paragraflara gruplandırır ve bir İçindekiler ile .md olarak kaydeder. Daha fazla işlem gerekmez.

Açıklamada bölüm zaman damgası yoksa, transkript bölüm başlıkları olmadan gruplandırılmış paragraflar olarak çıkar.

Konuşmacı Tanımlama (--speakers)

Konuşmacı tanımlama AI işlemi gerektirir. Betik aşağıdakileri içeren bir ham .md dosyası çıkarır:

  • Video meta verileri (başlık, kanal, tarih, kapak, açıklama, dil) içeren YAML frontmatter
  • Video açıklaması (konuşmacı adı çıkarma için)
  • Açıklamadan bölüm listesi (varsa)
  • SRT biçiminde ham transkript (önceden hesaplanmış başlangıç/bitiş zaman damgaları, token verimli)

Betik ham dosyayı kaydettikten sonra, konuşmacı tanımlamayı işlemek için bir alt aracı (maliyet verimliliği için Sonnet gibi daha ucuz bir model kullanın) başlatın:

  1. Kaydedilen .md dosyasını okuyun
  2. {baseDir}/prompts/speaker-transcript.md konumundaki istem şablonunu okuyun
  3. Ham transkripti istem doğrultusunda işleyin:
    • Video meta verilerini kullanarak konuşmacıları tanımlayın (başlık → konuk, kanal → sunucu, açıklama → isimler)
    • Konuşma akışı, soru-cevap kalıpları ve bağlamsal ipuçlarından konuşmacı sıralarını tespit edin
    • Bölümlere ayırın (varsa açıklama bölümlerini kullanın, yoksa konu değişimlerinden oluşturun)
    • **Konuşmacı Adı:** etiketleri, paragraf gruplandırması (2-4 cümle) ve [SS:DD:SS → SS:DD:SS] zaman damgalarıyla biçimlendirin
  4. .md dosyasını işlenmiş transkript ile üzerine yazın (YAML frontmatter'ı koruyun)

--speakers kullanıldığında, --chapters ima edilir — işlenmiş çıktı her zaman bölüm segmentasyonu içerir.

Hata Durumları

HataAnlamı
Transkriptler devre dışıVideoda hiç altyazı yok
Transkript bulunamadıTalep edilen dil mevcut değil
Video kullanılamıyorVideo silinmiş, gizli veya bölge kilitli
IP engellendiÇok fazla istek, daha sonra tekrar deneyin
Yaş sınırlamalıVideo yaş doğrulama için giriş gerektiriyor
bot algılandıBetik alternatif istemcilerle ve ardından yt-dlp ile yeniden dener; geri dönüş araçları eksikse, aracı bunu kendi çözmelidir, aksi takdirde hala başarısız olursa YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER=safari (veya tarayıcınız) deneyin

FAQ