# Competenza Agente Trascrizioni YouTube

> Scarica trascrizioni, sottotitoli e immagini di copertina dei video di YouTube tramite URL o ID video. Supporta più lingue, traduzione, capitoli e identificazione del parlante per migliorare l'accessibilità dei contenuti. Inizia gratuitamente in pochi secondi.

- Canonical: https://nanoskill.ai/it/skills/youtube-transcript
- Markdown: https://nanoskill.ai/it/skills/youtube-transcript.md
- Author: JimLiu
- Published: 2026-06-03T05:58:31.787Z
- Updated: 2026-07-15T13:36:15.347Z
- Language: it
- Source type: github
- Popularity signal: 1040

## Sources

- https://github.com/JimLiu/baoyu-skills

## Install

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

## About

La Competenza Scaricatore di Trascrizioni YouTube fornisce una soluzione robusta per estrarre informazioni complete dai video di YouTube. Questa competenza consente agli utenti di scaricare senza sforzo trascrizioni complete di YouTube, sottotitoli e persino immagini di copertina semplicemente fornendo un URL o ID video. È progettata per creatori di contenuti, ricercatori e chiunque abbia bisogno di convertire contenuti parlati in testo, offrendo funzionalità come il supporto multilingue, capacità di traduzione e opzioni avanzate di strutturazione.

Sfruttando l'accesso diretto all'API InnerTube di YouTube e un fallback intelligente a \`yt-dlp\`, la competenza garantisce un recupero dati affidabile ed efficiente senza la necessità di chiavi API personali. Offre formati di output flessibili, incluso Markdown per analisi dettagliate con timestamp e marcatori di capitoli, e SRT per l'integrazione standard dei sottotitoli. Inoltre, supporta la segmentazione dei capitoli dalle descrizioni video e fornisce un flusso di lavoro per l'identificazione del parlante basata sull'IA, producendo testo altamente organizzato e attribuito.

Con una cache intelligente, la competenza riduce al minimo le richieste di rete ridondanti, rendendo le operazioni successive sullo stesso video eccezionalmente veloci. Che tu abbia bisogno di analizzare contenuti video, creare sottotitoli accessibili, tradurre materiale per un pubblico globale o semplicemente estrarre metadati e miniature dei video, questa competenza semplifica il processo, fornendo un potente strumento per la gestione dei contenuti YouTube.

## Key features

- **Accesso Diretto a YouTube**: Accede direttamente all'API InnerTube di YouTube per un rapido recupero delle trascrizioni, ricorrendo automaticamente a \`yt-dlp\` se l'API diretta è bloccata, garantendo un accesso affidabile senza chiavi API.
- **Supporto Multilingue e Traduzione**: Specifica le lingue preferite per le trascrizioni e traducile in una lingua di destinazione, rendendo i contenuti accessibili a un pubblico globale.
- **Segmentazione per Capitoli e Identificazione dei Parlanti**: Segmenta automaticamente le trascrizioni per capitoli video e supporta la post-elaborazione AI per l'identificazione dei parlanti, fornendo testo strutturato e attribuito.
- **Formati di Output Flessibili**: Genera trascrizioni in Markdown con timestamp o file di sottotitoli SRT, adatti a vari utilizzi dall'analisi dei contenuti ai lettori video.
- **Caching Intelligente per l'Efficienza**: Memorizza nella cache i dati video grezzi, i metadati e le trascrizioni segmentate, consentendo una rapida riformattazione e riducendo le chiamate di rete nelle richieste successive per lo stesso video.

## Use cases

- **Generare Trascrizioni YouTube per l'Analisi dei Contenuti**: Creatori di contenuti e ricercatori possono ottenere rapidamente trascrizioni complete di YouTube, inclusi timestamp e marcatori di capitoli, per analizzare i contenuti video, estrarre informazioni chiave o riutilizzare il parlato in articoli testuali.
- **Creare File di Sottotitoli per l'Accessibilità**: Editor video e specialisti dell'accessibilità possono generare file di sottotitoli SRT da video YouTube, garantendo che i contenuti siano accessibili a persone con problemi di udito o a chi preferisce fruire i contenuti in silenzio.
- **Tradurre Contenuti Video per una Portata Globale**: Operatori di marketing ed educatori possono tradurre le trascrizioni di YouTube in più lingue, ampliando la portata dei loro contenuti video a parlanti non nativi e migliorando il coinvolgimento globale.
- **Estrarre Metadati e Immagini di Copertina**: Gli utenti possono estrarre facilmente metadati video e immagini di copertina di alta qualità, utili per la catalogazione, la promozione sui social media o la creazione di risorse visive relative al contenuto video.

## Result preview

Esplora un report professionale di analisi video basato su questa Competenza.

![A presentation cover slide featuring a TED Talk analysis titled 'This Is How Kids Should Be Learning with AI'. The slide uses a bold red background with large white headline text centered prominently across the page. Beneath the title, the speaker and event are identified as 'Priya Lakhani | TEDNext 2025', accompanied by the subtitle 'TED Talk Analysis & Knowledge Report'. The lower portion of the slide contains a thumbnail image from the TED presentation showing the speaker on stage alongside the text 'AI Isn't a Shortcut to Learning'. A teal horizontal accent bar runs along the bottom edge, creating visual contrast. The overall design resembles a professional report or presentation cover summarizing key insights from a TED Talk about artificial intelligence and education.](https://file.nanoskill.ai/youtube-transcript-outcome1.png)

![A report page titled '\[ Executive Summary \]' from a TED Talk analysis on artificial intelligence and education. The page summarizes key arguments presented by education entrepreneur Priya Lakhani at TEDNext 2025, discussing the impact of AI in classrooms, the risks of students using AI to avoid learning, and the importance of productive struggle in effective education. Several paragraphs explain how neuroscience-informed AI systems can support deeper learning when designed to challenge rather than replace student effort. A section titled 'Key Statistics at a Glance' highlights major findings using four large color-coded statistic cards. The statistics include 20% of UK students leaving secondary school without adequate reading and writing skills, 74% of teachers considering leaving the profession within three years due to workload, one in five students using AI to complete all homework assignments, and over 40 billion data points collected on how children learn. The layout uses a clean report style with a red section header, structured text blocks, and colorful infographic-style data highlights to emphasize key educational challenges and opportunities.](https://file.nanoskill.ai/youtube-transcript-outcome2.png)

![A report page titled '\[ The Four Pillars of Learning \]' that presents four evidence-based learning principles supported by cognitive science and educational research. The page is organized into four color-coded sections: Retrieval Practice, Spacing, Generation, and Reflection. Each section includes a concise explanation of the learning principle and a highlighted 'Classroom Applications' box containing practical implementation examples. Retrieval Practice emphasizes recalling information from memory through activities such as flashcards, self-testing, and closed-book quizzes. Spacing focuses on distributing learning over time using spaced repetition and interleaved study sessions. Generation encourages learners to produce answers themselves through prediction, fill-in-the-blank exercises, and open-ended questioning. Reflection highlights structured self-assessment and feedback processes that help students evaluate progress, identify learning goals, and address knowledge gaps. The page uses a clean educational report layout with colored headers, explanatory text, and application callout boxes to summarize effective learning strategies for classrooms and AI-supported education.](https://file.nanoskill.ai/youtube-transcript-outcome3.png)

![A report page from a TED Talk analysis featuring two major sections: 'Neuroscience: The London Taxi Study' and 'AI in Education: Well-Designed vs. Poorly Used.' The first section explains a neuroscience study of London black cab drivers who memorize thousands of city streets to pass 'The Knowledge' exam. It describes how brain scans revealed that experienced drivers developed a larger hippocampus, demonstrating that sustained mental effort and navigation challenges can physically strengthen the brain. A highlighted key insight box emphasizes that mental effort is essential for durable learning, expertise development, and human creativity rather than being a flaw in the learning process. The second section presents a side-by-side comparison of educational AI usage. The left panel, labeled 'AI Well-Designed,' lists benefits such as identifying learning patterns, predicting forgetting, encouraging answer generation, providing targeted feedback, personalizing instruction, supporting teachers, and reducing workload. The right panel, labeled 'AI Poorly Used,' outlines risks including students using AI to complete all work, avoiding genuine learning, replacing thinking with shortcuts, creating false confidence, confusing fluency with understanding, and reducing productive struggle. The layout uses contrasting green and red comparison panels, educational report styling, and structured visual hierarchy to highlight the difference between AI that supports learning and AI that undermines it.](https://file.nanoskill.ai/youtube-transcript-outcome4.png)

## Result walkthrough

### Installa

Aggiungi la Competenza Agente Trascrizioni YouTube al tuo agente AI.

![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.](https://file.nanoskill.ai/youtube-transcript-install.png)

### Fornisci contenuto

Condividi un link di YouTube e specifica il formato di output desiderato.

![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.](https://file.nanoskill.ai/youtube-transcript-task.png)

### Estrai approfondimenti

Genera trascrizioni strutturate, riassunti, punti chiave e contenuti riutilizzabili.

![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.](https://file.nanoskill.ai/youtube-transcript-outcome.png)

## Skill definition

# Trascrizione YouTube

Scarica trascrizioni (sottotitoli/didascalie) da video YouTube. Funziona sia con trascrizioni create manualmente che generate automaticamente. Nessuna chiave API o browser richiesto — utilizza direttamente l'API InnerTube di YouTube e ricorre automaticamente a `yt-dlp` quando YouTube blocca il percorso API diretto.

Recupera i metadati del video e l'immagine di copertina alla prima esecuzione, memorizza nella cache i dati grezzi per una riformattazione rapida.

## Directory degli script

Script nella sottodirectory `scripts/`. `{baseDir}` = percorso della directory di questo SKILL.md. Risolvi il runtime `${BUN_X}`: se `bun` installato → `bun`; se `npx` disponibile → `npx -y bun`; altrimenti suggerisci di installare bun. Sostituisci `{baseDir}` e `${BUN_X}` con i valori effettivi.

| Script | Scopo |
|--------|-------|
| `scripts/main.ts` | CLI per scaricare trascrizioni |

## Utilizzo

```bash
# Predefinito: markdown con timestamp (inglese)
${BUN_X} {baseDir}/scripts/main.ts <youtube-url-or-id>

# Specifica le lingue (ordine di priorità)
${BUN_X} {baseDir}/scripts/main.ts <url> --languages zh,en,ja

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

# Con segmentazione per capitoli
${BUN_X} {baseDir}/scripts/main.ts <url> --chapters

# Con identificazione dell'oratore (richiede post-elaborazione AI)
${BUN_X} {baseDir}/scripts/main.ts <url> --speakers

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

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

# Elenca le trascrizioni disponibili
${BUN_X} {baseDir}/scripts/main.ts <url> --list

# Forza il ri-recupero (ignora la cache)
${BUN_X} {baseDir}/scripts/main.ts <url> --refresh
```

## Opzioni

| Opzione | Descrizione | Predefinito |
|---------|-------------|-------------|
| `<url-o-id>` | URL di YouTube o ID del video (più di uno consentiti) | Richiesto |
| `--languages <codici>` | Codici di lingua, separati da virgola, in ordine di priorità | `en` |
| `--format <fmt>` | Formato di output: `text`, `srt` | `text` |
| `--translate <codice>` | Traduci nel codice di lingua specificato | |
| `--list` | Elenca le trascrizioni disponibili invece di recuperarle | |
| `--timestamps` | Includi timestamp `[HH:MM:SS → HH:MM:SS]` per ogni paragrafo | attivo |
| `--no-timestamps` | Disabilita i timestamp | |
| `--chapters` | Segmentazione in capitoli dalla descrizione del video | |
| `--speakers` | Trascrizione grezza con metadati per l'identificazione dell'oratore | |
| `--exclude-generated` | Salta le trascrizioni generate automaticamente | |
| `--exclude-manually-created` | Salta le trascrizioni create manualmente | |
| `--refresh` | Forza il ri-recupero, ignora i dati nella cache | |
| `-o, --output <percorso>` | Salva su un percorso file specifico | generato automaticamente |
| `--output-dir <dir>` | Directory di output di base | `youtube-transcript` |

## Variabili d'ambiente opzionali

| Variabile | Descrizione |
|----------|-------------|
| `YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER` | Passato a `yt-dlp --cookies-from-browser` durante il fallback, ad es. `chrome`, `safari`, `firefox`, o `chrome:Profile 1` |

## Formati di input

Accetta uno qualsiasi di questi come input video:
- URL completo: `https://www.youtube.com/watch?v=dQw4w9WgXcQ`
- URL abbreviato: `https://youtu.be/dQw4w9WgXcQ`
- URL embed: `https://www.youtube.com/embed/dQw4w9WgXcQ`
- URL Shorts: `https://www.youtube.com/shorts/dQw4w9WgXcQ`
- ID video: `dQw4w9WgXcQ`

## Formati di output

| Formato | Estensione | Descrizione |
|--------|-----------|-------------|
| `text` | `.md` | Markdown con frontmatter (inclusa `description`), titolo, riepilogo, TOC/immagine di copertina/timestamp/capitoli/oratori opzionali |
| `srt` | `.srt` | Formato sottotitoli SubRip per lettori video |

## Directory di output

```
youtube-transcript/
├── .index.json                          # Mappatura ID video → percorso directory (per la ricerca nella cache)
└── {channel-slug}/{title-full-slug}/
    ├── meta.json                        # Metadati del video (titolo, canale, descrizione, durata, capitoli, ecc.)
    ├── transcript-raw.json              # Frammenti grezzi di trascrizione dall'API di YouTube (in cache)
    ├── transcript-sentences.json        # Trascrizione segmentata in frasi (divisa per punteggiatura, unita tra i frammenti)
    ├── imgs/
    │   └── cover.jpg                    # Miniatura del video
    ├── transcript.md                    # Trascrizione in Markdown (generata dalle frasi)
    └── transcript.srt                   # Sottotitoli SRT (generati dai frammenti grezzi, se --format srt)
```

- `{channel-slug}`: Nome del canale in kebab-case
- `{title-full-slug}`: Titolo completo del video in kebab-case

La modalità `--list` produce output solo su stdout (nessun file salvato).

## Memorizzazione nella cache

Al primo recupero, lo script salva:
- `meta.json` — metadati del video, capitoli, percorso dell'immagine di copertina, informazioni sulla lingua
- `transcript-raw.json` — frammenti grezzi di trascrizione dall'API di YouTube (`{ text, start, duration }[]`)
- `transcript-sentences.json` — trascrizione segmentata in frasi (`{ text, start: "HH:mm:ss", end: "HH:mm:ss" }[]`), divisa per punteggiatura di fine frase (`.?!…。？！` ecc.), timestamp allocati proporzionalmente alla lunghezza dei caratteri, unione del testo consapevole dei caratteri CJK
- `imgs/cover.jpg` — miniatura del video

Le esecuzioni successive per lo stesso video utilizzano i dati memorizzati nella cache (nessuna chiamata di rete). Usa `--refresh` per forzare il ri-recupero. Se viene richiesta una lingua diversa, la cache viene automaticamente aggiornata.

Quando YouTube restituisce risposte anti-bot / bloccate sul percorso InnerTube diretto, lo script ritenta con identità client alternative e poi ricorre a `yt-dlp` se disponibile. Se è necessario il fallback ma `yt-dlp` non è disponibile, l'agente dovrebbe decidere come rendere disponibile `yt-dlp` e continuare anziché scaricare la decisione di installazione sull'utente.

L'output SRT (`--format srt`) è generato da `transcript-raw.json`. L'output testo/markdown utilizza `transcript-sentences.json` per limiti di frase naturali.

## Flusso di lavoro

Quando l'utente fornisce un URL di YouTube e desidera la trascrizione:

1. Esegui prima con `--list` se l'utente non ha specificato una lingua, per mostrare le opzioni disponibili
2. **Metti sempre tra virgolette singole l'URL** quando esegui lo script — zsh tratta `?` come un carattere jolly glob, quindi un URL di YouTube senza virgolette causa "nessuna corrispondenza trovata": usa `'https://www.youtube.com/watch?v=ID'`
3. Predefinito: esegui con `--chapters --speakers` per l'output più ricco (capitoli + identificazione oratore)
3. Lo script salva automaticamente i dati nella cache + il file di output e stampa il percorso del file
4. Per la modalità `--speakers`: dopo che lo script ha salvato il file grezzo, segui il flusso di lavoro per l'identificazione dell'oratore descritto di seguito per post-elaborare con etichette degli oratori

Quando l'utente desidera solo un'immagine di copertina o i metadati, eseguire lo script con qualsiasi opzione memorizzerà comunque nella cache `meta.json` e `imgs/cover.jpg`.

Quando si riformatta lo stesso video (ad es., prima testo poi SRT), i dati nella cache vengono riutilizzati — nessun ri-recupero necessario.

## Flusso di lavoro per capitoli e oratori

### Capitoli (`--chapters`)

Lo script analizza i timestamp dei capitoli dalla descrizione del video (ad es., `0:00 Introduzione`), segmenta la trascrizione in base ai confini dei capitoli, raggruppa i frammenti in paragrafi leggibili e salva come `.md` con un indice. Nessuna ulteriore elaborazione necessaria.

Se non esistono timestamp dei capitoli nella descrizione, la trascrizione viene emessa come paragrafi raggruppati senza intestazioni di capitolo.

### Identificazione dell'oratore (`--speakers`)

L'identificazione dell'oratore richiede l'elaborazione AI. Lo script produce un file `.md` grezzo contenente:
- Frontmatter YAML con metadati del video (titolo, canale, data, copertina, descrizione, lingua)
- Descrizione del video (per l'estrazione dei nomi degli oratori)
- Elenco dei capitoli dalla descrizione (se disponibile)
- Trascrizione grezza in formato SRT (timestamp di inizio/fine precalcolati, efficiente in termini di token)

Dopo che lo script ha salvato il file grezzo, genera un sotto-agente (usa un modello più economico come Sonnet per efficienza dei costi) per elaborare l'identificazione dell'oratore:

1. Leggi il file `.md` salvato
2. Leggi il modello di prompt in `{baseDir}/prompts/speaker-transcript.md`
3. Elabora la trascrizione grezza seguendo il prompt:
   - Identifica gli oratori usando i metadati del video (titolo → ospite, canale → conduttore, descrizione → nomi)
   - Rileva i turni degli oratori dal flusso della conversazione, pattern domanda-risposta e indizi contestuali
   - Segmenta in capitoli (usa i capitoli della descrizione se disponibili, altrimenti crea dai cambi di argomento)
   - Formatta con etichette `**Nome Oratore:**`, raggruppamento in paragrafi (2-4 frasi) e timestamp `[HH:MM:SS → HH:MM:SS]`
4. Sovrascrivi il file `.md` con la trascrizione elaborata (mantieni il frontmatter YAML)

Quando viene usato `--speakers`, `--chapters` è implicito — l'output elaborato include sempre la segmentazione in capitoli.

## Casi di errore

| Errore | Significato |
|-------|-------------|
| Trascrizioni disabilitate | Il video non ha alcun sottotitolo |
| Nessuna trascrizione trovata | La lingua richiesta non è disponibile |
| Video non disponibile | Video eliminato, privato o bloccato per regione |
| IP bloccato | Troppe richieste, riprova più tardi |
| Limitato per età | Il video richiede l'accesso per la verifica dell'età |
| bot rilevato | Lo script ritenta con client alternativi e poi `yt-dlp`; se mancano gli strumenti di fallback, l'agente dovrebbe risolvere da sé, altrimenti se ancora fallisce prova `YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER=safari` (o il tuo browser) |

## FAQ

### Che cos'è la Skill YouTube Transcript Downloader?

La Skill YouTube Transcript Downloader è uno strumento che consente di scaricare trascrizioni, sottotitoli e immagini di copertina da video YouTube utilizzando solo l'URL o l'ID del video. Supporta varie funzionalità come il recupero multilingua, la traduzione, la segmentazione per capitoli e l'identificazione dei parlanti.

### Come fa questa skill a ottenere le trascrizioni di YouTube senza una chiave API?

La skill utilizza direttamente l'API InnerTube di YouTube per ottenere le trascrizioni. Se l'accesso diretto è bloccato, ricorre automaticamente a \`yt-dlp\` per garantire il recupero affidabile delle trascrizioni senza richiedere una chiave API separata.

### Posso ottenere trascrizioni in lingue diverse dall'inglese?

Sì, puoi specificare un elenco di codici lingua separati da virgole utilizzando l'opzione \`--languages\`. La skill tenterà di ottenere le trascrizioni nell'ordine di priorità specificato. Puoi anche tradurre la trascrizione in un'altra lingua utilizzando l'opzione \`--translate\`.

### Supporta l'identificazione dei parlanti e la segmentazione per capitoli?

Sì, la skill supporta la segmentazione per capitoli dalle descrizioni dei video utilizzando l'opzione \`--chapters\`. Per l'identificazione dei parlanti, puoi utilizzare l'opzione \`--speakers\`, che genera un file grezzo per la post-elaborazione AI per etichettare i parlanti.

### Quali formati di output sono disponibili per la trascrizione di YouTube?

Puoi generare la trascrizione in formato Markdown (\`.md\`), che include timestamp, capitoli e dati opzionali sui parlanti, oppure come file di sottotitoli SRT (\`.srt\`), compatibile con la maggior parte dei lettori video.

### Esiste un meccanismo di caching e come funziona?

Sì, la skill memorizza nella cache i metadati del video, i dati grezzi della trascrizione e le frasi segmentate. Le esecuzioni successive per lo stesso video utilizzeranno questi dati memorizzati nella cache, accelerando l'elaborazione. Puoi forzare un nuovo recupero con l'opzione \`--refresh\`.
