Transcrições do YouTube para uma app RAG em grande escala: créditos, carregamento automático e orçamentos
Uma programadora importa 10,000 vídeos do YouTube para uma app RAG. Vê o custo, as contas do limite de pedidos e como o carregamento automático e os orçamentos mantêm a despesa previsível.

Se a tua app de RAG ou de IA precisa de transcrições do YouTube em grande escala, a solução prática é uma API de transcrições com pagamento por utilização e créditos pré-pagos, um carregamento automático para que uma importação longa nunca pare, e um orçamento mensal para que um erro não faça disparar a fatura. Este exemplo acompanha uma programadora nessa configuração com a API de transcrições da sum.video.
A situação
A Maya está a criar um assistente de investigação que responde a perguntas sobre palestras de conferências. O índice deve cobrir cerca de 10,000 vídeos do YouTube de algumas centenas de canais, e depois crescer cerca de 300 vídeos novos por mês. Ela corre a importação num servidor pequeno e não quer andar a vigiá-la nem ser surpreendida por uma fatura.
As condições são simples: custo previsível, nada de recargas manuais a meio de um trabalho e tratamento limpo dos vídeos sem transcrição.
O que ela precisa
- Texto simples de cada vídeo, pronto a dividir em blocos e a gerar embeddings.
- Marcas de tempo, para que uma resposta possa ligar ao momento exato do vídeo.
- Um custo que possa estimar antes de começar.
- Um teto firme para a despesa.
Passo a passo
1. Estima primeiro o custo
Uma transcrição custa 2 créditos, e os pedidos que não devolvem transcrição não custam nada. Para 10,000 vídeos são, no máximo, 20,000 créditos. Com o pacote de 5,000 créditos a $74.99 ($0.030 por transcrição), 10,000 transcrições custam cerca de $300 no total, e um pouco menos se alguns vídeos não tiverem legendas. Os pacotes mais pequenos custam mais por transcrição: $0.090 com 100 créditos, $0.056 com 500, $0.038 com 2,000. A página de preços tem os detalhes atuais.
Os créditos compram-se uma vez e nunca expiram, por isso não há nenhuma subscrição a contar tempo enquanto ela desenvolve.
2. Testa com os créditos grátis
A primeira chave de API dela traz 10 créditos grátis, ou seja, 5 transcrições. Usa-os para verificar a resposta de alguns vídeos em formato json (segmentos com offset e duration em segundos) e em formato text. Se quiseres os detalhes do pedido, o guia como obter a transcrição de um vídeo do YouTube com uma API tem exemplos a funcionar em curl, Python e JavaScript.
3. Ativa o carregamento automático
No painel da API ela liga o carregamento automático. A regra: quando o saldo desce abaixo de um nível escolhido, o cartão guardado é cobrado por mais um pacote. A importação continua pela noite fora sem recargas manuais.
4. Define os orçamentos
Dois limites protegem-na:
- Um orçamento mensal de carregamento, que limita quanto o carregamento automático pode gastar num mês.
- Um limite mensal de créditos. Quando é atingido, os pedidos seguintes devolvem
402 budget_exceeded.
Ela liga também os alertas por email para saldo baixo, para 80% do limite mensal e para carregamentos falhados. Os alertas avisam-na de um problema ainda a tempo de agir.
5. Respeita o limite de pedidos
Cada chave permite 60 pedidos por minuto. A esse ritmo, 10,000 pedidos demoram cerca de 167 minutos, menos de três horas com uma só chave. Ela usa uma fila simples que envia um pedido por segundo, para ficar abaixo do limite sem picos. Pode criar até 5 chaves ativas, por exemplo uma para a importação e outra para as consultas em direto da app, para que um preenchimento do histórico nunca bloqueie o pedido de um utilizador.
6. Trata os vídeos sem transcrição
A API devolve apenas legendas existentes do YouTube. Emissões em direto, vídeos privados ou removidos e vídeos sem legendas devolvem 404 no_transcript. Na fila dela, esse estado significa marcar como ignorado e seguir em frente, nunca repetir. Como esses pedidos não custam nada, um canal cheio de vídeos sem legendas não gasta o orçamento.
O ciclo dela, em pseudocódigo:
- Tirar da fila o ID do vídeo seguinte.
- Chamar a API com
format=json. - Em caso de sucesso: dividir os segmentos em blocos de cerca de um minuto, guardar cada bloco com o respetivo offset inicial e gerar o embedding.
- Em
404 no_transcript: guardar uma marca "sem transcrição". - Em
402 budget_exceeded: pôr a fila em pausa e avisar-se a si própria. - Em erro de servidor: repetir após uma espera.
7. Verifica o saldo no código
Antes de cada lote grande ela chama GET /api/v1/credits. Se o saldo for inferior ao que o lote precisa e o carregamento automático estiver desligado, o trabalho recusa-se a arrancar. É uma proteção barata contra uma importação a meio.
O que ela obtém
Depois da primeira noite, o índice contém as transcrições de quase todos os 10,000 vídeos, cada bloco com a respetiva hora de início. Quando um utilizador faz uma pergunta, o assistente cita uma palestra e uma marca de tempo, e a ligação abre o vídeo nesse momento. O custo contínuo é pequeno: 300 vídeos novos por mês são, no máximo, 600 créditos, cerca de $18 à taxa do pacote de 5,000 de $0.030 por transcrição.
Se a Maya subscrevesse o Pro, receberia ainda 100 créditos de bónus por mês, o que cobre parte desse crescimento.
Onde fica aquém
- Sem legendas, sem transcrição. A API não transcreve áudio. Para vídeos sem legendas precisas de outra fonte, como um serviço de voz para texto, que pagas à parte. Algumas outras APIs de transcrições oferecem uma alternativa de áudio, vê a comparação das APIs de transcrições do YouTube.
- As legendas automáticas têm erros. Nomes e jargão são as vítimas habituais. A resposta indica se uma faixa é gerada automaticamente, por isso podes dar menos peso a esses blocos ou assinalá-los.
- A língua é a da faixa de legendas. A resposta indica a língua real, por isso não assumas que coincide com a que pediste.
- O débito está limitado por chave. Um preenchimento muito grande é questão de horas, não de segundos.
- Só devolve transcrições. Dividir em blocos, gerar embeddings e recuperar é contigo. Se só precisas do resumo de um vídeo, usa o resumidor de YouTube.
Fontes
Perguntas frequentes
Quanto custa obter 10,000 transcrições do YouTube?
No máximo 20,000 créditos, já que cada transcrição são 2 créditos. Com o pacote de 5,000 créditos a $74.99 ($0.030 por transcrição), são cerca de $300. Os vídeos sem transcrição não custam nada, por isso o total real pode ser inferior.
O que acontece se o saldo acabar a meio de um trabalho longo?
Com o carregamento automático ligado, o cartão guardado é cobrado por mais um pacote quando o saldo desce abaixo do nível que escolheste, e o trabalho continua. Sem ele, os pedidos param quando os créditos acabam.
Como evito que um erro faça subir a fatura?
Define um orçamento mensal de carregamento e um limite mensal de créditos. Quando o limite de créditos é atingido, os pedidos devolvem 402 budget_exceeded. Também podes receber alertas por email com saldo baixo, aos 80% do limite mensal e em carregamentos falhados.
Qual é o limite de pedidos?
60 pedidos por minuto por chave, com até 5 chaves ativas. A um pedido por segundo, 10,000 vídeos demoram menos de três horas com uma só chave.
E os vídeos sem legendas?
Devolvem 404 no_transcript e não custam nada. A API não transcreve áudio, por isso precisas de outra fonte para esses vídeos.
Leitura relacionada
Como obter a transcrição de um vídeo do YouTube com uma API (curl, Python, JavaScript)Obtém a transcrição de qualquer vídeo público do YouTube com um pedido HTTP. Exemplos a funcionar em curl, Python e JavaScript, formatos de saída, códigos de erro e custos.
As melhores APIs de transcrição do YouTube comparadas: sum.video, Supadata, Transcribr e a biblioteca PythonQuatro formas de obter transcrições do YouTube em código, comparadas em preço, limites e fiabilidade: sum.video, Supadata, Transcribr e youtube-transcript-api.
Últimas publicações
Como obter a transcrição de um vídeo do YouTube com uma API (curl, Python, JavaScript)Obtém a transcrição de qualquer vídeo público do YouTube com um pedido HTTP. Exemplos a funcionar em curl, Python e JavaScript, formatos de saída, códigos de erro e custos.
As melhores APIs de transcrição do YouTube comparadas: sum.video, Supadata, Transcribr e a biblioteca PythonQuatro formas de obter transcrições do YouTube em código, comparadas em preço, limites e fiabilidade: sum.video, Supadata, Transcribr e youtube-transcript-api.