Le workflow YouTube Digest est un pipeline complet qui extrait, transcrit et résume des vidéos YouTube. Il supporte plusieurs sources d’entrée et génère des résumés TLDR avec enrichissement on-demand via Telegram.
Fonction Description 3 sources d’entrée Schedule (playlists), Telegram (URL), Watch Later Transcription intelligente Préfère les captions YouTube (gratuites), fallback Whisper Résumé TLDR Points clés extraits via Claude Stockage vectoriel Embeddings dans Qdrant pour recherche sémantique Enrichissement on-demand Boutons Telegram pour approfondir
Source Déclenchement Usage Schedule Cron configuré Playlists tech/news Telegram URL Message au bot Vidéo ponctuelle Watch Later Playlist YouTube Vidéos sauvées
Problème Sans digest Avec digest Temps de visionnage Regarder la vidéo entière TLDR en 30 secondes Pas de recherche Impossible de retrouver un passage Recherche sémantique Qdrant Notes manuelles Prendre des notes pendant Points clés auto-extraits Backlog de vidéos Watch Later qui s’accumule Traitement automatique
Méthode Coût Vitesse Qualité Captions YouTube Gratuit Instant Variable (auto-générées) Whisper API ~$0.36/h ~10-30s Excellente
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 1. SCHEDULE │ │ 2. TELEGRAM │ │ 3. WATCH │
│ Playlists │ │ URL │ │ LATER │
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
┌─────────────────────────────────────────────────┐
│ Extrait video_id depuis URL ou playlist │
└───────────────────────┬─────────────────────────┘
┌─────────────────────────────────────────────────┐
│ Évite de traiter 2 fois la même vidéo │
└───────────────────────┬─────────────────────────┘
┌──────────────┴──────────────┐
┌─────────────────┐ ┌─────────────┐
│ GET METADATA │ │ SKIP │
│ title, duration │ └─────────────┘
┌─────────────────────────────────────────────────┐
│ YouTube captions → sinon Whisper │
└───────────────────────┬─────────────────────────┘
┌─────────────────────────────────────────────────┐
│ Claude Ollama → key points + topics │
└───────────────────────┬─────────────────────────┘
┌─────────────────────────────────────────────────┐
│ Qdrant + Data Table N8N │
└───────────────────────┬─────────────────────────┘
┌─────────────────────────────────────────────────┐
│ NOTIFICATION TELEGRAM │
│ TLDR + boutons enrichissement │
└─────────────────────────────────────────────────┘
Gestion des fichiers longs :
Durée Stratégie < 25 min Whisper direct ≥ 25 min Split en chunks (limite ~25MB) > 2h Skip ou confirmation
Prompt :
" model " : " claude-haiku-yolo " ,
" prompt " : ` Analyse cette transcription YouTube et génère:
1. TLDR (2-3 phrases max)
2. Key points (5 max, bullet points)
4. Sentiment (educational/entertaining/promotional/technical)
Output :
"tldr" : " 2-3 phrases résumé concis " ,
"key_points" : [ " point1 " , " point2 " , " point3 " ],
"topics" : [ " tech " , " ai " , " tutorial " ],
"sentiment" : " educational " ,
**How AI is Changing Software Development**
Channel: Fireship • 12:34
Les outils AI comme Copilot et Cursor transforment le dev.
Focus sur les gains de productivité et les risques.
• GitHub Copilot augmente la vélocité de 40%
• Risque: développeurs juniors moins autonomes
• Cursor = IDE AI-first prometteur
• Tendance: "vibe coding" vs "intentional coding"
Tags: #ai #development #tools
[📜 Full transcript] [🧠 Atomic notes] [📎 Link to Odoo] [❓ Q&A]
Bouton Action 📜 Full transcript Transcription complète structurée avec chapitres 🧠 Atomic notes Notes Zettelkasten (une par concept) 📎 Link to Odoo Lier à un contact/projet CRM ❓ Q&A Générer questions-réponses flashcard-style
" collection " : " youtube_digests " ,
" video_id " : " dQw4w9WgXcQ " ,
Colonne Type Description video_id string YouTube video ID title string Titre vidéo channel string Nom chaîne duration number Durée en secondes processed_at datetime Date traitement tldr text Résumé court key_points json Liste points clés topics json Tags extraits qdrant_id string ID vecteur Qdrant
Opération Vidéo 10min Vidéo 60min YouTube captions Gratuit Gratuit Whisper (si nécessaire) ~$0.06 ~$0.36 Claude TLDR ~$0.01 ~$0.05 Embedding ~$0.0001 ~$0.001 Total ~$0.01-0.07 ~$0.05-0.41
Limite Impact Mitigation Vidéos > 2h Timeout possible Confirmation manuelle Captions absentes Coût Whisper Acceptable pour vidéos importantes Multi-langue Résumé dans langue source Traduction optionnelle
Si besoin de multi-langue :
Détecter la langue automatiquement
Option de traduction du résumé
Embeddings multilingues
Si volume de vidéos augmente :
Filtrage par score de pertinence
Digest quotidien groupé
Queue avec priorités
Si besoin de recherche avancée :
Interface web de recherche Qdrant
Filtres par topic/channel
Suggestions de vidéos similaires
# Tester l'extraction de video_id
echo " https://www.youtube.com/watch?v=dQw4w9WgXcQ " | \
# Vérifier les captions disponibles
yt-dlp --list-subs " https://www.youtube.com/watch?v=VIDEO_ID "
# Télécharger audio pour test
yt-dlp -x -f bestaudio " https://www.youtube.com/watch?v=VIDEO_ID "
# Recherche sémantique dans Qdrant
curl -X POST " http://qdrant:6333/collections/youtube_digests/points/search " \
-H " Content-Type: application/json " \
-d ' {"vector": [...], "limit": 5} '
Problème Vérification Pas de captions Vidéo sans sous-titres → Whisper fallback Whisper timeout Fichier trop long ? Augmenter timeout Claude erreur Quota épuisé ? Check usage claude-ollama Qdrant 404 Collection existe ? Créer si nécessaire