
Télécharger les transcriptions YouTube
Prosey est un outil CLI pour télécharger et afficher les transcriptions vidéo de YouTube, afin que vous puissiez obtenir l'information que vous cherchez sans perdre des heures.
Les principaux cas d'utilisation sont :
Les deux utilisations nécessitent un assistant IA sur votre système (par défaut : opencode, utilisez prosey config pour configurer le vôtre).
Si nous détectons un surligneur de syntaxe sur votre système, vous obtiendrez un joli affichage coloré.
Prosey peut également afficher ou stocker le format JSON natif tel quel.
| Fonctionnalité | Description |
|---|---|
| 💡 Résumer | Récupérer et résumer une transcription vidéo |
| 📖 Lire | Récupérer et afficher la transcription formatée en Markdown |
| 📋 Téléchargement de transcription | Récupérer les transcriptions YouTube sous forme de texte brut ou JSON |
| 🤖 Résumé IA | Envoyer les transcriptions à n'importe quel agent IA (opencode, Claude, Copilot, Codex) |
| 🎨 Pagination intelligente | Surlignage syntaxique automatique si bat, glow ou mdcat sont installés (ou configurez votre propre pagineur) |
| 🛠️ Personnalisation | Utilisez prosey config pour accéder et modifier votre configuration / personnaliser les invites |
| 💾 Cache disque | Les transcriptions et résumés sont mis en cache sur disque pour une relecture instantanée |
| 📄 Formats supportés | Texte brut et JSON |
Essayez-le immédiatement avec npx :
npx @tacone/prosey 771PQEDeRmw
npx @tacone/prosey https://youtu.be/771PQEDeRmw --lang es -o transcript.txt
Installez globalement avec votre gestionnaire de paquets préféré :
npm install -g @tacone/prosey
# ou
yarn global add @tacone/prosey
# ou
pnpm add -g @tacone/prosey
# ou
bun install -g @tacone/prosey
Ensuite, utilisez-le n'importe où :
prosey 771PQEDeRmw
Utilise Bun pour le développement — scripts, gestion de paquets et exécution du code source TypeScript directement.
git clone https://github.com/tacone/prosey.git
cd prosey
bun install
bun run start -- 771PQEDeRmw
prosey [options] <video controls-url-or-id>
prosey read [options] <video controls-url-or-id>
prosey info [options] <video controls-url-or-id>
prosey summarize [options] <video controls-url-or-id>
prosey config
prosey help
summarize est la commande par défaut, donc prosey <id> exécute le résumé IA.
Utilisez prosey read <id> pour télécharger et afficher une transcription richement formatée.
La commande summarize récupère une transcription, ajoute l'invite de la section
[summarize] de la configuration, et envoie le résultat à la commande IA configurée.
La commande read télécharge la transcription et l'affiche sur stdout (texte brut,
markdown ou JSON). Utile lorsque vous n'avez pas besoin de traitement IA.
La commande info affiche les métadonnées de la vidéo (titre, chaîne, durée, vues).
La commande config ouvre votre fichier de configuration dans $EDITOR pour modification.
Si $EDITOR n'est pas défini, le chemin du fichier de configuration est affiché.
La commande help affiche le message d'aide, identique à --help.
# Résumé (résumé IA + formatage + surlignage syntaxique)
prosey 771PQEDeRmw
# Résumé (identique ci-dessus)
prosey summarize 771PQEDeRmw
# Transcription (résumé IA + formatage + surlignage syntaxique)
prosey read 771PQEDeRmw
# Afficher les métadonnées de la vidéo
prosey info 771PQEDeRmw
# Modifier la configuration dans $EDITOR
prosey config
# Lister les langues disponibles
prosey read https://youtu.be/771PQEDeRmw --list
# Spécifier la langue
prosey read https://youtu.be/771PQEDeRmw --lang es
# Afficher au format JSON (pas de transcription IA)
prosey read 771PQEDeRmw
# Afficher en texte brut (pas de transcription IA)
prosey read 771PQEDeRmw
# Sauvegarder la transcription dans un fichier
prosey read 771PQEDeRmw -o transcript.txt
Avec --json, la sortie est un tableau d'objets :
[
{
"text": "♪ We're no strangers to love ♪",
"offset": 18.64,
"duration": 3.24,
"timestamp": "00:18"
}
]
timestamp est toujours présent en mode JSON. Les détails de la vidéo sont supprimés
(silencieusement) car JSON est des données structurées.
Ce projet utilise Bun pour le développement.
bun run typecheck # Vérification TypeScript
bun run start # Exécute le CLI à partir des sources
bun run test # Exécute les tests unitaires
bun run build # Compile le bundle Node dans bin/prosey
Avant la publication sur npm, bun run build s'exécute automatiquement via le hook
prepack, produisant un bundle JS compatible Node dans bin/prosey.
Prosey lit la configuration depuis un fichier TOML. L'emplacement suit la
spécification XDG Base Directory
(~/.config/prosey/config.toml), ou vous pouvez définir la variable d'environnement
PROSEY_CONFIG_PATH pour utiliser un chemin personnalisé.
Le fichier de configuration est créé automatiquement au premier lancement avec des valeurs par défaut.
Utilisez --reset-config pour restaurer les valeurs par défaut à tout moment.
pagerCommande du pagineur pour l'affichage des transcriptions et résumés. Par défaut "auto", qui
détecte le premier disponible parmi : bat -lmd --style plain → glow -p → mdcat -l -p → less.
Définissez une commande personnalisée (ex. "less -R") pour remplacer. La variable d'environnement
PROSEY_PAGER a priorité sur ce paramètre.
[summarize]La section [summarize] configure la commande summarize :
| Clé | Description |
|---|---|
prompt | Instruction ajoutée avant la transcription |
command | Commande shell qui reçoit l'invite sur stdin |
PROSEY_PAGERVariable d'environnement pour définir la commande du pagineur. A priorité sur la
valeur de configuration pager. Définissez sur "auto" ou vide pour utiliser la détection automatique.
Les transcriptions et résumés sont mis en cache dans /tmp/prosey/. Les appels répétés
pour une même vidéo et les mêmes options sont instantanés et fonctionnent hors ligne. Utilisez --no-cache
pour ignorer le cache et forcer un nouveau téléchargement.
Lorsque vous exécutez prosey summarize, la commande s'exécute dans le répertoire de cache
de cette vidéo. Cela empêche l'agent IA de prendre en compte des fichiers spécifiques au projet
comme AGENTS.md ou CLAUDE.md du dossier actuel, et limite sa capacité à modifier des fichiers
en dehors de ce répertoire.
| Code | Signification |
|---|---|
0 | Succès |
65 | URL ou ID vidéo invalide |
Prosey utilise l'API Innertube de YouTube via la bibliothèque youtube-transcript-plus. Aucune clé API ou automatisation de navigateur requise.
L'outil fonctionne à la fois avec les sous-titres créés manuellement et les transcriptions générées automatiquement (reconnaissance vocale de YouTube). La détection automatique parcourt les langues dans l'ordre fourni par la réponse du lecteur YouTube.
| Option | Description |
|---|
--lang <code> | Code de langue (ex. en, fr). Détection automatique si omis. |
-t, --timestamps | Ajoute [MM:SS] au début de chaque ligne dans la sortie texte. |
--list | Liste les langues de transcription disponibles pour la vidéo, puis quitte. |
-o, --output <path> | Écrit la sortie dans un fichier au lieu de stdout. |
--json | Affiche la transcription sous forme de tableau JSON. Chaque élément inclut text, offset (secondes), duration et timestamp. |
--text | Affiche en texte brut (par défaut pour prosey read). |
--details | Ajoute les détails de la vidéo (titre, chaîne, durée, vues, description) avant la transcription (par défaut). |
--no-details | Supprime les détails de la vidéo, uniquement la transcription. |
--no-decode-entities | Préserve les entités HTML brutes (ex. '). Décodées par défaut en mode texte. |
--no-cache | Ignore le cache et force un nouveau téléchargement. |
--no-format | Ignore le formattage Markdown amélioré sur la sortie du résumé. |
-q, --quiet | Supprime toutes les sorties stderr. |
-v, --verbose | Affiche les informations de débogage sur stderr. |
--no-pager | Désactive le pagineur pour la sortie stdout (détection automatique par défaut). |
--pager | Utilise le pagineur pour la sortie stdout (par défaut). |
--reset-config | Réinitialise le fichier de configuration aux valeurs par défaut et quitte. |
--help | Affiche le message d'aide et quitte. |
--version | Affiche le numéro de version et quitte. |