# Como gerar legendas, transcrição e capítulos para podcasts e vídeos do YouTube

> Basta transcrever o episódio uma vez com a marcação de tempo por palavra. Com esse único resultado em mãos, você gera o arquivo SRT, o texto para a descrição do episódio, as legendas traduzidas e os capítulos. Como a API exige um arquivo enviado ou um link direto de mídia (e o link de um vídeo no YouTube é uma página web), use o áudio ou vídeo que você mesmo exportou.

Última atualização: 2026-10-18 · HTML: https://console.kolwrite.com/pt/guides/podcast-youtube-captions

## Transcreva uma única vez

Exporte o áudio (MP3 ou M4A) ou o vídeo do episódio. Depois, faça o envio usando a função auxiliar do [guia de edição de vídeo](https://console.kolwrite.com/pt/guides/video-editing-with-ai) e peça a resposta em JSON:

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

Em entrevistas e mesas-redondas, passe `include_diarization: true` para identificar quem está falando em cada trecho.

## Legendas em arquivo SRT

Junte as palavras para formar as linhas e suba o arquivo `.srt` no YouTube Studio ou no seu serviço de hospedagem de podcasts. No [guia de SRT](https://console.kolwrite.com/pt/guides/srt-subtitles-api), você encontra o código e vê como funciona a saída SRT da própria API, que traz uma linha por palavra.

## Legendas traduzidas

Você pode rodar um segundo trabalho com o mesmo arquivo usando `translate_to` (nos modelos Oracle) e `output_format: "srt"`, ou passar o texto do primeiro resultado para o seu LLM traduzir. Fazer um trabalho separado para cada idioma de destino mantém as legendas sincronizadas com o áudio.

## Transcrição para as notas do episódio

Use `output_format: "txt"` se quiser apenas texto puro, ou junte os campos `text` dos trechos do JSON com o nome de cada participante. Vale revisar antes de publicar, já que transcrições automáticas costumam errar nomes próprios, marcas e números.

## Capítulos com marcação de tempo

Passe os trechos numerados para o LLM e peça que ele indique onde começa cada capítulo usando o número do trecho, nunca o tempo em si. Depois, seu código busca o tempo exato daquele trecho. Este prompt funciona bem em qualquer modelo:

```text
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

```python
# 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")]))
```

Para o YouTube transformar os tempos da descrição em capítulos no vídeo, a lista precisa começar em 0:00, ter pelo menos três marcações em ordem crescente e cada capítulo deve durar no mínimo dez segundos.

## Quanto custa

| Trabalho | Modelo | Custo |
| --- | --- | --- |
| Episódio de uma hora, áudio limpo | `base` | US$ 0,48 |
| Episódio de uma hora, qualidade de produção com separação de vozes | `oracle` | US$ 1,44 |
| Legendas traduzidas, uma hora | `oracle_mini` | US$ 0,96 |

Cobramos por segundo, sem valor mínimo. Veja a tabela em [/llms/pricing.md](https://console.kolwrite.com/llms/pricing.md).

## Perguntas e respostas

### Como faço para transcrever um episódio de podcast?

Envie o arquivo de áudio ou a URL direta dele para `POST /transcribe`. Use `output_format: "txt"` para receber o texto puro, ou `json` se precisar dos tempos e da identificação de quem fala.

### Posso passar um link do YouTube?

Não. A API exige um arquivo enviado ou o link de um arquivo de mídia, e a URL de um vídeo no YouTube é uma página da web. Use apenas áudios ou vídeos que pertençam a você ou que você tenha o direito de usar.

### Como coloco legendas no YouTube?

Gere o arquivo SRT seguindo o [guia de SRT](https://console.kolwrite.com/pt/guides/srt-subtitles-api) e faça o upload na aba de legendas do vídeo lá no YouTube Studio.

### Como faço para criar capítulos?

Passe a transcrição com os trechos numerados para o seu LLM e peça os números de onde cada capítulo começa. Depois, converta esses números em tempos no seu código e cole a lista na descrição do vídeo.

### Consigo gerar legendas em vários idiomas?

Sim. Basta rodar uma tarefa para cada idioma usando `translate_to` com um dos modelos Oracle.

## Páginas relacionadas

- [API de legendas SRT](https://console.kolwrite.com/pt/guides/srt-subtitles-api)
- [Editar vídeo com agentes de IA](https://console.kolwrite.com/pt/guides/video-editing-with-ai)
- [Mídia, podcasts e legendas](https://console.kolwrite.com/pt/use-cases/media)
- [Universidades e estudantes](https://console.kolwrite.com/pt/use-cases/education)
- [Documentação da API](https://console.kolwrite.com/pt/public_api_docs)

---
Obter uma chave de API: https://console.kolwrite.com/auth?lang=pt · Documentação da API: https://console.kolwrite.com/pt/public_api_docs · llms.txt: https://console.kolwrite.com/llms.txt
