NanoSkill
Indsend din skill

YouTube-transskriptionsagentfærdighed

afJimLiu1KGitHub-stjernerGitHub

Download YouTube-videotransskriptioner, undertekster og forsidebilleder via URL eller video-id. Understøtter flere sprog, oversættelse, kapitler og taleridentifikation for at forbedre indholdstilgængelighed. Start gratis på få sekunder.

youtubeSikkerhedsscanning bestået
Resultatpreview

Fuld demo

Udforsk en professionel videoanalyserapport drevet af denne færdighed.

Kom i gang

Kør din første opgave

  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

    Tilføj YouTube-transskriptionsagentfærdigheden til din AI-agent.

  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

    Angiv indhold

    Del et YouTube-link og angiv dit ønskede outputformat.

  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

    Uddrag indsigter

    Generer strukturerede transskriptioner, resuméer, vigtige pointer og genanvendeligt indhold.

Installationskommando

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

Om

Færdigheden YouTube-transskriptionsdownloader tilbyder en robust løsning til udtrækning af omfattende information fra YouTube-videoer. Denne færdighed giver brugere mulighed for nemt at downloade fulde YouTube-transskriptioner, undertekster og endda forsidebilleder ved blot at angive en video-URL eller et id. Den er designet til indholdsskabere, forskere og alle, der har brug for at omdanne talt indhold til tekst, og tilbyder funktioner som flersprogssupport, oversættelsesmuligheder og avancerede struktureringsvalg.

Ved at udnytte direkte adgang til YouTubes InnerTube API og en smart fallback til `yt-dlp` sikrer færdigheden pålidelig og effektiv datahentning uden behov for personlige API-nøgler. Den tilbyder fleksible outputformater, herunder Markdown til detaljeret analyse med tidsstempler og kapitelmarkører, og SRT til standard undertekstintegration. Desuden understøtter den kapitelsegmentering fra videobeskrivelser og leverer en arbejdsgang til AI-drevet taleridentifikation, der leverer meget organiseret og tilskrevet tekst.

Med intelligent caching minimerer færdigheden overflødige netværksanmodninger, hvilket gør efterfølgende handlinger på den samme video usædvanligt hurtige. Uanset om du har brug for at analysere videoindhold, oprette tilgængelige undertekster, oversætte materiale til et globalt publikum eller blot udtrække videometadata og thumbnails, strømliner denne færdighed processen og giver et kraftfuldt værktøj til YouTube-indholdsstyring.

Nøglefunktioner

Hvad der gør den stærk

  • Direkte YouTube-adgang

    Får direkte adgang til YouTubes InnerTube API for hurtig transskriptionhentning, og falder automatisk tilbage til `yt-dlp`, hvis den direkte API blokeres, hvilket sikrer pålidelig adgang uden API-nøgler.

  • Flersproget understøttelse og oversættelse

    Angiv foretrukne sprog til transskriptioner og oversæt dem til et målsprog, hvilket gør indhold tilgængeligt for et globalt publikum.

  • Kapitelopdeling og taleridentifikation

    Segmenterer automatisk transskriptioner efter videokapitler og understøtter AI-efterbehandling til taleridentifikation, hvilket giver struktureret og tilskrevet tekst.

  • Fleksible outputformater

    Genererer transskriptioner i Markdown med tidsstempler eller SRT-undertekstfiler, velegnet til forskellige anvendelser fra indholdsanalyse til videoafspillere.

  • Smart caching for effektivitet

    Cacher rå videodata, metadata og segmenterede transskriptioner, hvilket muliggør hurtig omformatering og reducerer netværkskald ved efterfølgende forespørgsler til den samme video.

Use cases

Hvornår du bør bruge den

  • Generer YouTube-transskriptioner til indholdsanalyse

    Indholdsskabere og forskere kan hurtigt få adgang til fulde YouTube-transskriptioner, inklusive tidsstempler og kapitelmarkører, for at analysere videoindhold, udtrække nøgleinformation eller genanvende talt indhold til tekstbaserede artikler.

  • Opret undertekstfiler for tilgængelighed

    Videoredigerere og tilgængelighedsspecialister kan generere SRT-undertekstfiler fra YouTube-videoer, hvilket sikrer, at indholdet er tilgængeligt for hørehæmmede eller dem, der foretrækker at forbruge indhold uden lyd.

  • Oversæt videoindhold for global rækkevidde

    Marketingfolk og undervisere kan oversætte YouTube-transskriptioner til flere sprog, hvilket udvider rækkevidden af deres videoindhold til ikke-modersmålstalere og forbedrer globalt engagement.

  • Uddrag metadata og coverbilleder

    Brugere kan nemt udtrække video-metadata og coverbilleder i høj kvalitet, nyttigt til katalogisering, promovering på sociale medier eller oprettelse af visuelle aktiver relateret til videoindholdet.

SKILL.md

YouTube-transskription

Downloader transskriptioner (undertekster/tekstning) fra YouTube-videoer. Fungerer med både manuelt oprettede og automatisk genererede transskriptioner. Ingen API-nøgle eller browser påkrævet — bruger YouTubes InnerTube API direkte og falder automatisk tilbage på yt-dlp, når YouTube blokerer den direkte API-sti.

Henter video-metadata og forsidebillede ved første kørsel, cacher rådata for hurtig reformattering.

Scriptbibliotek

Scripts i underbiblioteket scripts/. {baseDir} = denne SKILL.md-fils bibliotekssti. Opløs ${BUN_X}-køretid: hvis bun er installeret → bun; hvis npx er tilgængelig → npx -y bun; ellers foreslå installation af bun. Erstat {baseDir} og ${BUN_X} med faktiske værdier.

ScriptFormål
scripts/main.tsCLI til transskriptionsdownload

Brug

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

# Angiv sprog (prioritetsrækkefølge)
${BUN_X} {baseDir}/scripts/main.ts <url> --languages zh,en,ja

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

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

# Med taleridentifikation (kræver AI-efterbehandling)
${BUN_X} {baseDir}/scripts/main.ts <url> --speakers

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

# Oversæt transskription
${BUN_X} {baseDir}/scripts/main.ts <url> --translate zh-Hans

# Vis tilgængelige transskriptioner
${BUN_X} {baseDir}/scripts/main.ts <url> --list

# Tving genhentning (ignorér cache)
${BUN_X} {baseDir}/scripts/main.ts <url> --refresh

Indstillinger

IndstillingBeskrivelseStandard
<url-or-id>YouTube-URL eller video-id (flere tilladt)Påkrævet
--languages <codes>Sprogkoder, kommasepareret, i prioritetsrækkefølgeen
--format <fmt>Outputformat: text, srttext
--translate <code>Oversæt til angivet sprogkode
--listVis tilgængelige transskriptioner i stedet for at hente
--timestampsInkludér tidsstempler pr. afsnit i formatet [HH:MM:SS → HH:MM:SS]til
--no-timestampsDeaktiver tidsstempler
--chaptersKapitelinddeling fra videobeskrivelse
--speakersRå transskription med metadata til taleridentifikation
--exclude-generatedSpring automatisk genererede transskriptioner over
--exclude-manually-createdSpring manuelt oprettede transskriptioner over
--refreshTving genhentning, ignorér cachedata
-o, --output <path>Gem til specifik filstiauto-genereret
--output-dir <dir>Basis output-bibliotekyoutube-transcript

Valgfri miljøvariabler

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

Inputformater

Accepterer enhver af disse som videoinput:

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

Outputformater

FormatFilendelseBeskrivelse
text.mdMarkdown med frontmatter (inkl. description), titeloverskrift, resumé, valgfri indholdsfortegnelse/cover/tidsstempler/kapitler/talere
srt.srtSubRip-undertekstformat til videoafspillere

Output-bibliotek

youtube-transcript/
├── .index.json                          # Video-ID → bibliotekssti-mapping (til cacheopslag)
└── {channel-slug}/{title-full-slug}/
    ├── meta.json                        # Video-metadata (titel, kanal, beskrivelse, varighed, kapitler, osv.)
    ├── transcript-raw.json              # Rå transskriptionsuddrag fra YouTube API (cachet)
    ├── transcript-sentences.json        # Sætningsopdelt transskription (opdelt efter tegnsætning, flettet på tværs af uddrag)
    ├── imgs/
    │   └── cover.jpg                    # Video-miniaturebillede
    ├── transcript.md                    # Markdown-transskription (genereret fra sætninger)
    └── transcript.srt                   # SRT-undertekst (genereret fra rå uddrag, hvis --format srt)
  • {channel-slug}: Kanalnavn i kebab-case
  • {title-full-slug}: Fuld videotitel i kebab-case

Funktionen --list udskriver kun til stdout (ingen fil gemmes).

Caching

Ved første hentning gemmer scriptet:

  • meta.json — video-metadata, kapitler, forsidebilledsti, sproginfo
  • transcript-raw.json — rå transskriptionsuddrag fra YouTube API ({ text, start, duration }[])
  • transcript-sentences.json — sætningsopdelt transskription ({ text, start: "HH:mm:ss", end: "HH:mm:ss" }[]), opdelt efter sætningsafsluttende tegnsætning (.?!…。?! osv.), tidsstempler proportionelt fordelt efter tegnlængde, CJK-bevidst tekstsammenfletning
  • imgs/cover.jpg — video-miniaturebillede

Efterfølgende kørsler for den samme video bruger cachede data (ingen netværkskald). Brug --refresh for at tvinge genhentning. Hvis et andet sprog anmodes om, opdateres cachen automatisk.

Når YouTube returnerer anti-bot / blokerede svar på den direkte InnerTube-sti, prøver scriptet igen med alternative klientidentiteter og falder derefter tilbage på yt-dlp, hvis det er tilgængeligt. Hvis fallback er nødvendig, men yt-dlp ikke er tilgængelig, skal agenten beslutte, hvordan yt-dlp gøres tilgængelig, og fortsætte i stedet for at skubbe installationsbeslutningen til brugeren.

SRT-output (--format srt) genereres fra transcript-raw.json. Tekst-/markdown-output bruger transcript-sentences.json for naturlige sætningsgrænser.

Arbejdsgang

Når brugeren angiver en YouTube-URL og ønsker transskriptionen:

  1. Kør med --list først, hvis brugeren ikke har angivet et sprog, for at vise tilgængelige muligheder
  2. Sæt altid URL'en i enkelte anførselstegn, når scriptet køres — zsh behandler ? som et glob-jokertegn, så en URL uden anførselstegn forårsager "ingen matches fundet": brug 'https://www.youtube.com/watch?v=ID'
  3. Standard: kør med --chapters --speakers for det rigeste output (kapitler + taleridentifikation)
  4. Scriptet auto-gemmer cachede data + outputfil og udskriver filstien
  5. For --speakers-tilstand: efter scriptet har gemt råfilen, følg arbejdsgangen for taleridentifikation nedenfor for at efterbehandle med taleretiketter

Når brugeren kun ønsker et forsidebillede eller metadata, vil kørsel af scriptet med en hvilken som helst indstilling også cache meta.json og imgs/cover.jpg.

Ved reformattering af den samme video (f.eks. først tekst derefter SRT), genbruges de cachede data — ingen genhentning nødvendig.

Kapitel- og talerarbejdsgang

Kapitler (--chapters)

Scriptet analyserer kapitel-tidsstempler fra videobeskrivelsen (f.eks. 0:00 Introduktion), opdeler transskriptionen efter kapitelgrænser, grupperer uddrag i læsbare afsnit og gemmer som .md med en indholdsfortegnelse. Ingen yderligere behandling nødvendig.

Hvis der ikke findes kapitel-tidsstempler i beskrivelsen, udskrives transskriptionen som grupperede afsnit uden kapiteloverskrifter.

Taleridentifikation (--speakers)

Taleridentifikation kræver AI-behandling. Scriptet udsender en rå .md-fil, der indeholder:

  • YAML frontmatter med video-metadata (titel, kanal, dato, forside, beskrivelse, sprog)
  • Videobeskrivelse (til udtræk af talernavne)
  • Kapitelliste fra beskrivelse (hvis tilgængelig)
  • Rå transskription i SRT-format (forudberegnede start-/sluttidsstempler, token-effektiv)

Efter scriptet har gemt råfilen, start en underagent (brug en billigere model som Sonnet for omkostningseffektivitet) til at behandle taleridentifikation:

  1. Læs den gemte .md-fil
  2. Læs prompt-skabelonen på {baseDir}/prompts/speaker-transcript.md
  3. Behandl den rå transskription i henhold til prompten:
    • Identificer talere ved hjælp af video-metadata (titel → gæst, kanal → vært, beskrivelse → navne)
    • Registrer talerskift ud fra samtale-flow, spørgsmål-svar-mønstre og kontekstuelle signaler
    • Opdel i kapitler (brug beskrivelseskapitler, hvis tilgængelige, ellers opret ud fra emneskift)
    • Formater med **Talernavn:**-etiketter, afsnitsgruppering (2-4 sætninger) og [HH:MM:SS → HH:MM:SS] tidsstempler
  4. Overskriv .md-filen med den behandlede transskription (behold YAML frontmatter)

Når --speakers bruges, er --chapters underforstået — det behandlede output inkluderer altid kapitelinddeling.

Fejlsager

FejlBetydning
Transskriptioner deaktiveretVideoen har slet ingen undertekster
Ingen transskription fundetDet anmodede sprog er ikke tilgængeligt
Video utilgængeligVideo slettet, privat eller regionslåst
IP blokeretFor mange anmodninger, prøv igen senere
AldersbegrænsetVideo kræver login til aldersbekræftelse
bot opdagetScriptet prøver igen med alternative klienter og derefter yt-dlp; hvis fallback-værktøj mangler, skal agenten selv løse det, ellers hvis det stadig fejler, prøv YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER=safari (eller din browser)

FAQ