Come creare sottotitoli, trascrizione e capitoli per un podcast o un video di YouTube

Basta trascrivere la puntata una sola volta con i timestamp per singola parola. Da quel risultato puoi ricavare tutto il resto: il file SRT dei sottotitoli, la trascrizione per le note della puntata, i sottotitoli tradotti e le indicazioni dei capitoli. L’API accetta un file caricato o il link a un file multimediale. Dato che una pagina di YouTube è una pagina web, usa il file audio o video che hai esportato.

Ottieni una chiave API Guida rapida Lingue supportate

Ultimo aggiornamento: · Markdown

Trascrivi una volta sola

Esporta l'audio della puntata (in MP3 o M4A) oppure il file video. Caricalo usando la funzione di supporto che trovi nella guida al montaggio video e richiedi l'output in JSON:

{
  "audio_url": "https://example.com/interview.mp3",
  "model": "oracle",
  "language": "auto",
  "word_timestamps": true,
  "output_format": "json"
}

Per le interviste o le tavole rotonde imposta include_diarization: true, così nella trascrizione sarà indicato chi parla.

Sottotitoli in formato SRT

Componi le righe partendo dalle singole parole e carica il file .srt su YouTube Studio o sulla piattaforma di hosting del tuo podcast. Nella guida all’SRT trovi il codice e i dettagli su come l’API genera un output SRT con una parola per riga.

Sottotitoli tradotti

Per tradurre i sottotitoli, avvia un secondo job sullo stesso file impostando translate_to (con i modelli Oracle) e output_format: "srt", oppure fai tradurre al tuo LLM il testo ottenuto dal primo job. Avviare un job separato per ogni lingua permette di mantenere i sottotitoli sincronizzati con l'audio.

Trascrizione per le note della puntata

Se ti basta il testo semplice richiedi output_format: "txt", altrimenti unisci il text dei vari passaggi del JSON aggiungendo i nomi di chi parla. Rileggi la trascrizione prima di pubblicarla, perché è proprio su nomi, prodotti e numeri che i sistemi automatici sbagliano.

Capitoli con timestamp

Passa all'LLM i segmenti numerati e chiedigli di indicare l'inizio di ogni capitolo usando il numero del segmento, mai il timestamp. I tempi esatti li calcolerai poi via codice a partire dai segmenti. Questo prompt funziona con qualsiasi modello:

Below is a podcast transcript, one line per segment: S<number> [start-end] text.
Pick 5 to 9 chapter starts. For each give the segment number and a title of at most six words.
Return JSON: [{"segment": 0, "title": "Intro"}]. The first chapter must be segment 0.

chapters.py

# chapters.py — YouTube chapter lines from (seconds, title) pairs
def stamp(seconds):
    m, s = divmod(int(seconds), 60)
    h, m = divmod(m, 60)
    return f"{h}:{m:02}:{s:02}" if h else f"{m}:{s:02}"


def chapter_lines(chapters):
    return "\n".join(f"{stamp(start)} {title}" for start, title in chapters)


print(chapter_lines([(0, "Intro"), (95, "Why captions matter"), (412, "Editing from a transcript")]))

Se inserisci un elenco di timestamp nella descrizione del video, YouTube li trasforma automaticamente in capitoli. Perché funzioni, l'elenco deve partire da 0:00, contenere almeno tre voci in ordine crescente e avere capitoli di almeno dieci secondi ciascuno.

Quanto costa

LavoroModelloCosto
Puntata di un’ora, audio pulitobase0,48 US$
Puntata di un’ora, qualità di produzione con riconoscimento degli interlocutorioracle1,44 US$
Sottotitoli tradotti, un’oraoracle_mini0,96 US$

Paghi al secondo, senza costi minimi. Trovi le tariffe in /llms/pricing.md.

Domande e risposte

Come ottengo la trascrizione di una puntata di un podcast?

Invia il file audio o il suo URL a POST /transcribe specificando output_format: "txt" per avere il testo semplice, oppure json se ti servono anche i timestamp e la divisione per interlocutore.

Posso usare un link di YouTube?

No. L’API richiede un file caricato o il link a un file multimediale, mentre un URL di visualizzazione di YouTube è una pagina web. Usa file audio o video di tua proprietà o che hai il diritto di utilizzare.

Come aggiungo i sottotitoli su YouTube?

Genera un file SRT seguendo la guida all’SRT e caricalo nella sezione sottotitoli del video su YouTube Studio.

Come creo i capitoli?

Passa la trascrizione numerata al tuo LLM e chiedigli di indicare i numeri dei segmenti in cui iniziano i capitoli. Poi converti quei numeri in timestamp via codice e incolla l'elenco nella descrizione del video.

Posso avere sottotitoli in più lingue?

Sì, basta avviare un job per ciascuna lingua usando translate_to con un modello Oracle.