NanoSkill
Send inn din skill

YouTube-transkripsjonsagentferdighet

avJimLiu1KGitHub-stjernerGitHub

Last ned YouTube-videotranskripsjoner, undertekster og forsidebilder via URL eller video-ID. Støtter flere språk, oversettelse, kapitler og høyttaleridentifikasjon for å forbedre innholdets tilgjengelighet. Start gratis på sekunder.

youtubeSikkerhetsskann bestått
Resultatforhåndsvisning

Full demo

Utforsk en profesjonell videoanalyserapport drevet av denne Ferdigheten.

Kom i gang

Kjør din første oppgave

  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

    Installer

    Legg til YouTube-transkripsjonsagentferdigheten til AI-agenten din.

  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

    Gi innhold

    Del en YouTube-lenke og spesifiser ønsket utdataformat.

  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

    Trekk ut innsikt

    Generer strukturerte transkripsjoner, oppsummeringer, hovedpunkter og gjenbrukbart innhold.

Installasjonskommando

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

Om

YouTube-transkripsjonsnedlasterferdigheten gir en robust løsning for å trekke ut omfattende informasjon fra YouTube-videoer. Denne ferdigheten lar brukere enkelt laste ned fullstendige YouTube-transkripsjoner, undertekster og til og med forsidebilder ved å bare oppgi en video-URL eller -ID. Den er designet for innholdsskapere, forskere og alle som trenger å konvertere taleinnhold til tekst, og tilbyr funksjoner som støtte for flere språk, oversettelsesmuligheter og avanserte struktureringsalternativer.

Ved å utnytte direkte tilgang til YouTubes InnerTube-API og en smart tilbakefallsmetode til `yt-dlp`, sikrer ferdigheten pålitelig og effektiv datahenting uten behov for personlige API-nøkler. Den tilbyr fleksible utdataformater, inkludert Markdown for detaljert analyse med tidsstempler og kapittelmarkører, og SRT for standard undertekstintegrering. I tillegg støtter den kapittelsegmentering fra videobeskrivelser og gir en arbeidsflyt for AI-drevet høyttaleridentifikasjon, noe som leverer svært organisert og attribuert tekst.

Med intelligent bufring minimerer ferdigheten overflødige nettverksforespørsler, noe som gjør påfølgende operasjoner på den samme videoen eksepsjonelt raske. Enten du trenger å analysere videoinnhold, lage tilgjengelige undertekster, oversette materiale for et globalt publikum, eller bare trekke ut videometadata og miniatyrbilder, effektiviserer denne ferdigheten prosessen og gir et kraftig verktøy for YouTube-innholdsadministrasjon.

Nøkkelfunksjoner

Hva som gjør den kraftig

  • Direkte YouTube-tilgang

    Får direkte tilgang til YouTubes InnerTube API for rask henting av transkripsjoner, og faller automatisk tilbake til `yt-dlp` hvis den direkte API-en blokkeres, noe som sikrer pålitelig tilgang uten API-nøkler.

  • Støtte for flere språk og oversettelse

    Angi foretrukne språk for transkripsjoner og oversett dem til et målspråk, noe som gjør innhold tilgjengelig for et globalt publikum.

  • Kapittelinndeling og høyttaleridentifikasjon

    Deler automatisk opp transkripsjoner etter videokapitler og støtter AI-etterbehandling for høyttaleridentifikasjon, noe som gir strukturert og attribuert tekst.

  • Fleksible utdataformater

    Genererer transkripsjoner i Markdown med tidsstempler eller SRT-undertekstfiler, egnet for ulike bruksområder fra innholdsanalyse til videospillere.

  • Smart hurtigbufring for effektivitet

    Hurtigbufrer rå videodata, metadata og segmenterte transkripsjoner, noe som muliggjør rask omformatering og reduserer nettverksanrop ved påfølgende forespørsler for den samme videoen.

Brukstilfeller

Når du bør bruke den

  • Generer YouTube-transkripsjoner for innholdsanalyse

    Innholdsskapere og forskere kan raskt få fullstendige YouTube-transkripsjoner, inkludert tidsstempler og kapittelmarkører, for å analysere videoinnhold, trekke ut nøkkelinformasjon eller ombruke snakket innhold til tekstartikler.

  • Opprett undertekstfiler for tilgjengelighet

    Videoredigerere og tilgjengelighetsspesialister kan generere SRT-undertekstfiler fra YouTube-videoer, noe som sikrer at innhold er tilgjengelig for hørselshemmede seere eller de som foretrekker å bruke innhold lydløst.

  • Oversett videoinnhold for global rekkevidde

    Markedsførere og lærere kan oversette YouTube-transkripsjoner til flere språk, noe som utvider rekkevidden av videoinnholdet deres til personer som ikke har det som morsmål, og forbedrer global engasjement.

  • Trekk ut metadata og forsidebilder

    Brukere kan enkelt trekke ut videometadata og høykvalitets forsidebilder, nyttig for katalogisering, promotering i sosiale medier eller opprettelse av visuelle eiendeler relatert til videoinnholdet.

SKILL.md

YouTube-transkripsjon

Laster ned transkripsjoner (undertekster/bildetekster) fra YouTube-videoer. Fungerer med både manuelt opprettede og automatisk genererte transkripsjoner. Ingen API-nøkkel eller nettleser kreves — bruker YouTubes InnerTube-API direkte og faller automatisk tilbake til yt-dlp når YouTube blokkerer den direkte API-stien.

Henter videometadata og forsidebilde ved første kjøring, hurtiglagrer rådata for rask omformatering.

Skriptkatalog

Skript i scripts/-underkatalogen. {baseDir} = denne SKILL.md-filens katalogbane. Løs opp ${BUN_X}-kjøretid: hvis bun er installert → bun; hvis npx er tilgjengelig → npx -y bun; ellers foreslå å installere bun. Erstatt {baseDir} og ${BUN_X} med faktiske verdier.

SkriptFormål
scripts/main.tsCLI for nedlasting av transkripsjon

Bruk

# Standard: markdown med tidsstempler (engelsk)
${BUN_X} {baseDir}/scripts/main.ts <youtube-url-eller-id>

# Spesifiser språk (prioritetsrekkefølge)
${BUN_X} {baseDir}/scripts/main.ts <url> --languages zh,en,ja

# Uten tidsstempler
${BUN_X} {baseDir}/scripts/main.ts <url> --no-timestamps

# Med kapittelinndeling
${BUN_X} {baseDir}/scripts/main.ts <url> --chapters

# Med taleridentifikasjon (krever AI-etterbehandling)
${BUN_X} {baseDir}/scripts/main.ts <url> --speakers

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

# Oversett transkripsjon
${BUN_X} {baseDir}/scripts/main.ts <url> --translate zh-Hans

# List opp tilgjengelige transkripsjoner
${BUN_X} {baseDir}/scripts/main.ts <url> --list

# Tving ny henting (ignorer hurtiglager)
${BUN_X} {baseDir}/scripts/main.ts <url> --refresh

Alternativer

AlternativBeskrivelseStandard
<url-or-id>YouTube-URL eller video-ID (flere tillatt)Påkrevet
--languages <koder>Språkkoder, kommas separert, i prioritetsrekkefølgeen
--format <fmt>Utdataformat: text, srttext
--translate <kode>Oversett til angitt språkkode
--listList opp tilgjengelige transkripsjoner i stedet for å hente
--timestampsInkluder [TT:MM:SS → TT:MM:SS]-tidsstempler per avsnitt
--no-timestampsDeaktiver tidsstempler
--chaptersKapittelinndeling fra videobeskrivelsen
--speakersRå transkripsjon med metadata for taleridentifikasjon
--exclude-generatedHopp over automatisk genererte transkripsjoner
--exclude-manually-createdHopp over manuelt opprettede transkripsjoner
--refreshTving ny henting, ignorer hurtiglagrede data
-o, --output <bane>Lagre til spesifikk filbaneautomatisk generert
--output-dir <mappe>Basis utdatamappeyoutube-transcript

Valgfrie miljøvariabler

VariabelBeskrivelse
YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSERSendes til yt-dlp --cookies-from-browser under tilbakefall, f.eks. chrome, safari, firefox, eller chrome:Profile 1

Inndataformater

Godtar hvilken som helst av disse som videoinndata:

  • Full URL: https://www.youtube.com/watch?v=dQw4w9WgXcQ
  • Kort URL: https://youtu.be/dQw4w9WgXcQ
  • Innbyggings-URL: https://www.youtube.com/embed/dQw4w9WgXcQ
  • Shorts-URL: https://www.youtube.com/shorts/dQw4w9WgXcQ
  • Video-ID: dQw4w9WgXcQ

Utdataformater

FormatFilendelseBeskrivelse
text.mdMarkdown med frontmatter (inkl. description), titteloverskrift, sammendrag, valgfri innholdsfortegnelse/forsidebilde/tidsstempler/kapitler/talere
srt.srtSubRip-undertekstformat for videospillere

Utdatamappe

youtube-transcript/
├── .index.json                          # Video-ID → mappebane-mapping (for hurtiglager-oppslag)
└── {channel-slug}/{title-full-slug}/
    ├── meta.json                        # Videometadata (tittel, kanal, beskrivelse, varighet, kapitler, osv.)
    ├── transcript-raw.json              # Rå transkripsjonsutdrag fra YouTube-API (hurtiglagret)
    ├── transcript-sentences.json        # Setningssegmentert transkripsjon (delt ved tegnsetting, slått sammen på tvers av utdrag)
    ├── imgs/
    │   └── cover.jpg                    # Videominiatyrbilde
    ├── transcript.md                    # Markdown-transkripsjon (generert fra setninger)
    └── transcript.srt                   # SRT-undertekst (generert fra råutdrag, hvis --format srt)
  • {channel-slug}: Kanalnavn i kebab-case
  • {title-full-slug}: Full videotittel i kebab-case

--list-modus sender ut til stdout bare (ingen fil lagret).

Hurtiglaging

Ved første henting lagrer skriptet:

  • meta.json — videometadata, kapitler, forsidebildesti, språkinformasjon
  • transcript-raw.json — rå transkripsjonsutdrag fra YouTube-API ({ text, start, duration }[])
  • transcript-sentences.json — setningssegmentert transkripsjon ({ text, start: "TT:mm:ss", end: "TT:mm:ss" }[]), delt ved setningsavsluttende tegnsetting (.?!…。?! osv.), tidsstempler proporsjonalt fordelt etter tegnlengde, CJK-bevisst tekstsammenslåing
  • imgs/cover.jpg — videominiatyrbilde

Påfølgende kjøringer for samme video bruker hurtiglagrede data (ingen nettverkskall). Bruk --refresh for å tvinge ny henting. Hvis et annet språk er forespurt, blir hurtiglageret automatisk oppdatert.

Når YouTube returnerer anti-bot / blokkerte svar på den direkte InnerTube-stien, prøver skriptet på nytt med alternative klientidentiteter og faller deretter tilbake til yt-dlp hvis tilgjengelig. Hvis tilbakefall er nødvendig, men yt-dlp er utilgjengelig, bør agenten selv avgjøre hvordan yt-dlp gjøres tilgjengelig og fortsette i stedet for å dytte installasjonsbeslutningen over på brukeren.

SRT-utdata (--format srt) genereres fra transcript-raw.json. Tekst-/markdown-utdata bruker transcript-sentences.json for naturlige setningsgrenser.

Arbeidsflyt

Når brukeren oppgir en YouTube-URL og ønsker transkripsjonen:

  1. Kjør med --list først hvis brukeren ikke har spesifisert et språk, for å vise tilgjengelige alternativer
  2. Sett alltid URL-en i enkle anførselstegn når du kjører skriptet — zsh behandler ? som et glob-jokertegn, så en ubeskyttet YouTube-URL forårsaker «no matches found»: bruk 'https://www.youtube.com/watch?v=ID'
  3. Standard: kjør med --chapters --speakers for den rikeste utdataen (kapitler + taleridentifikasjon)
  4. Skriptet lagrer automatisk hurtiglagrede data + utdatafil og skriver ut filbanen
  5. For --speakers-modus: etter at skriptet har lagret råfilen, følg arbeidsflyten for taleridentifikasjon nedenfor for å etterbehandle med taleretiketter

Når brukeren bare ønsker et forsidebilde eller metadata, vil kjøring av skriptet med ethvert alternativ også hurtiglagre meta.json og imgs/cover.jpg.

Ved omformatering av samme video (f.eks. først tekst så SRT), gjenbrukes de hurtiglagrede dataene — ingen ny henting nødvendig.

Arbeidsflyt for kapitler og talere

Kapitler (--chapters)

Skriptet analyserer kapitteltidsstempler fra videobeskrivelsen (f.eks. 0:00 Introduksjon), segmenterer transkripsjonen etter kapittelgrenser, grupperer utdrag i lesbare avsnitt, og lagrer som .md med en innholdsfortegnelse. Ingen videre behandling nødvendig.

Hvis ingen kapitteltidsstempler finnes i beskrivelsen, sendes transkripsjonen ut som grupperte avsnitt uten kapitteloverskrifter.

Taleridentifikasjon (--speakers)

Taleridentifikasjon krever AI-behandling. Skriptet sender ut en rå .md-fil som inneholder:

  • YAML-frontmatter med videometadata (tittel, kanal, dato, forsidebilde, beskrivelse, språk)
  • Videobeskrivelse (for uttrekk av talernavn)
  • Kapitelliste fra beskrivelse (hvis tilgjengelig)
  • Rå transkripsjon i SRT-format (forhåndsberegnede start-/sluttidsstempler, tokeneffektivt)

Etter at skriptet har lagret råfilen, start en underagent (bruk en billigere modell som Sonnet for kostnadseffektivitet) for å behandle taleridentifikasjon:

  1. Les den lagrede .md-filen
  2. Les promptmalen på {baseDir}/prompts/speaker-transcript.md
  3. Behandle den rå transkripsjonen i henhold til prompten:
    • Identifiser talere ved hjelp av videometadata (tittel → gjest, kanal → vert, beskrivelse → navn)
    • Oppdag talerskifter fra samtale flyt, spørsmål-svar-mønstre og kontekstuelle ledetråder
    • Segmenter i kapitler (bruk beskrivelseskapitler hvis tilgjengelig, ellers lag fra emneskifter)
    • Formater med **Talernavn:**-etiketter, avsnittsgruppering (2-4 setninger), og [TT:MM:SS → TT:MM:SS]-tidsstempler
  4. Overskriv .md-filen med den behandlede transkripsjonen (behold YAML-frontmatteren)

Når --speakers brukes, er --chapters underforstått — den behandlede utdataen inkluderer alltid kapittelinndeling.

Feiltilfeller

FeilBetydning
Transkripsjoner deaktivertVideoen har ingen undertekster i det hele tatt
Ingen transkripsjon funnetForespurt språk er ikke tilgjengelig
Video utilgjengeligVideoen er slettet, privat eller regionslåst
IP blokkertFor mange forespørsler, prøv igjen senere
AldersbegrensetVideoen krever innlogging for aldersverifisering
bot oppdagetSkriptet prøver på nytt med alternative klienter og deretter yt-dlp; hvis tilbakefallsverktøy mangler, bør agenten løse det selv, ellers hvis det fortsatt mislykkes, prøv YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER=safari (eller din nettleser)

FAQ