Promoção de novos vídeos de um canal do YouTube
Partindo de uma consulta aos feeds de um canal do YouTube, crie uma promoção e distribua o link dos vídeos recentes.
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
APIRequest-pvhfg[Consulta feeds de un canal de Youtube]
style APIRequest-pvhfg stroke:#a170ff
ParseData-7xzz7[<div><img alt="logo" src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>Extraer el resultado XML]
style ParseData-7xzz7 stroke:#a170ff
JSONtoData-iw9ps[<div><img alt="logo" src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>JSON to Data]
style JSONtoData-iw9ps stroke:#a170ff
JSONtoData-qcvd4[<div><img alt="logo" src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>JSON to Data2]
style JSONtoData-qcvd4 stroke:#a170ff
ParseData-mmbzq[<div><img alt="logo" src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>extrae nuevas publicaciones]
style ParseData-mmbzq stroke:#a170ff
LanggraphDatabatchAgent-0gmtm[Data batch Agent]
style LanggraphDatabatchAgent-0gmtm stroke:#a170ff
youtube_transcripts-7xaub[YouTube Transcripts]
style youtube_transcripts-7xaub stroke:#a170ff
OpenAIModel-tzflz[<div><img alt="logo" src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>Análisis del xml]
style OpenAIModel-tzflz stroke:#a170ff
OpenAIModel-i2iir[<div><img alt="logo" src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>OpenAI2]
style OpenAIModel-i2iir stroke:#a170ff
TelegramMessage-elf5b[Telegram Message2]
style TelegramMessage-elf5b stroke:#a170ff
AdvancedAgent-pyhhs[Generador de publicidad]
style AdvancedAgent-pyhhs stroke:#a170ff
APIRequest-pvhfg -.- ParseData-7xzz7
linkStyle 0 stroke:#a170ff
JSONtoData-iw9ps -.- ParseData-mmbzq
linkStyle 1 stroke:#a170ff
ParseData-mmbzq -.- JSONtoData-qcvd4
linkStyle 2 stroke:#a170ff
JSONtoData-qcvd4 -.- LanggraphDatabatchAgent-0gmtm
linkStyle 3 stroke:#a170ff
ParseData-7xzz7 -.- OpenAIModel-tzflz
linkStyle 4 stroke:#a170ff
OpenAIModel-tzflz -.- JSONtoData-iw9ps
linkStyle 5 stroke:#a170ff
AdvancedAgent-pyhhs -.- LanggraphDatabatchAgent-0gmtm
linkStyle 6 stroke:#a170ff
youtube_transcripts-7xaub -.- AdvancedAgent-pyhhs
linkStyle 7 stroke:#a170ff
TelegramMessage-elf5b -.- AdvancedAgent-pyhhs
linkStyle 8 stroke:#a170ff
OpenAIModel-i2iir -.- AdvancedAgent-pyhhs
linkStyle 9 stroke:#a170ff
📚 Documentação do Fluxo: Promoção de Novos Vídeos de um Canal do YouTube
🧩 Descrição Geral
O fluxo automatiza a busca, análise e divulgação de novos vídeos de um canal do YouTube. Ele consulta o feed RSS do canal, identifica publicações nas últimas 24 h, extrai transcrições dos vídeos, gera resumos promocionais em menos de 200 palavras e envia mensagens no Telegram para incentivar o público a assistir.
⚙️ Funcionalidades Principais
- Consulta automática do feed RSS de um canal do YouTube.
- Identificação e extração das publicações mais recentes.
- Análise estruturada dos dados via modelo de linguagem (OpenAI).
- Conversão de JSON textual em objetos de dados processáveis.
- Processamento em lote de vídeos usando um agente avançado.
- Extração automática de transcrições de vídeos no YouTube.
- Geração de anúncios inspiradores e resumidos.
- Publicação automática de mensagens no Telegram.
🔄 Passos do Fluxo de Trabalho
| Nome do Componente | Papel no Fluxo | Entradas Principais | Saídas Principais |
|---|---|---|---|
| Consulta feeds de un canal de Youtube | Recupera o feed RSS do canal. | URL do feed (ex.: https://www.youtube.com/feeds/videos.xml?channel_id=UCAOgCnzXLTbaD-xSrVRDzOg). |
Dados XML do feed. |
| Parsear Dados | Converte o XML em texto estruturado, listando novas publicações. | Dados XML do feed. | Texto contendo lista de publicações novas. |
| Análise do XML | Utiliza um modelo de linguagem para gerar um JSON com detalhes dos vídeos novos. | Texto de publicações (entrada do passo anterior). | Texto JSON contendo objetos de vídeo (id, título, data, etc.). |
| JSON to Data | Converte a string JSON em objeto Data para posterior processamento. |
Texto JSON. | Objeto Data contendo lista de vídeos. |
| Data Batch Agent | Processa cada vídeo em lote, delegando ao agente avançado. | Objeto Data (lista de vídeos). |
Dados processados (resultado da publicação). |
| Generador de Publicidade | Gera anúncios, obtém transcrições e envia mensagens no Telegram. | Dados de vídeo individual. | Resposta do Telegram (mensagem enviada). |
| YouTube Transcripts | Ferramenta de transcrição que extrai o texto falado do vídeo. | URL do vídeo. | Texto transcrito do vídeo. |
| OpenAI Model | Modelo interno do agente para criar o texto do anúncio (sumário inspirador). | Transcrição do vídeo + metadados do vídeo. | Texto de anúncio (até 200 palavras). |
| Mensagem no Telegram | Envia a mensagem de anúncio para o chat especificado. | Texto do anúncio (entrada do passo anterior). | Resposta da API do Telegram (status e ID da mensagem). |
🧠 Notas
- O fluxo depende de credenciais externas: chave da API OpenAI e token do Bot Telegram.
- O modelo de linguagem pode ser configurado para diferentes tamanhos de contexto; ajuste
max_tokensconforme necessidade. - A ferramenta
YouTube Transcriptsrequer que o vídeo esteja disponível publicamente e que a transcrição esteja habilitada. - O agente avançado (
Generador de Publicidade) pode ser expandido com mais ferramentas (ex.: análise de sentimento) sem alterar a estrutura básica. - A execução em lote (
Data Batch Agent) garante que múltiplos vídeos sejam processados em paralelo, respeitando o limite de concorrência configurável. - Caso a análise do feed XML retorne poucos ou nenhum vídeo, o agente pode gerar uma mensagem informativa ou simplesmente não enviar nada.
- O sistema está preparado para lidar com falhas de transcrição ou envio ao Telegram retornando erros na resposta do agente, permitindo retry automático via regras de
add_tool_retryouadd_tool_call_limit.