
Télécharger les transcriptions YouTube
Prosey est un outil en ligne de commande permettant de télécharger et d'afficher les transcriptions vidéo de YouTube, afin d'obtenir les informations recherchées sans perdre des heures.
Les principaux cas d'utilisation sont :
Ces deux usages nécessitent un assistant IA sur votre système (par défaut : opencode, utilisez prosey config pour configurer le vôtre).
Si un surligneur de syntaxe est détecté sur votre système, vous obtiendrez une sortie colorée agréable.
Prosey peut également générer ou stocker le format JSON natif tel quel.
| Fonctionnalité | Description |
|---|---|
| 💡 Résumé | Récupérer et résumer une transcription vidéo |
| 📖 Lecture | Récupérer et afficher la transcription formatée en Markdown |
| 📋 Téléchargement de transcription | Récupérer les transcriptions YouTube en texte brut ou en JSON tel quel |
| 🤖 Résumé IA | Envoyer les transcriptions à n'importe quel agent IA (opencode, Claude, Copilot, Codex) |
| 🎨 Pagination intelligente | Coloration syntaxique automatique si bat, glow ou mdcat sont installés (ou configurez votre propre pagineur) |
| 🛠️ Personnalisation | Utilisez prosey config pour accéder à votre configuration et la modifier / personnaliser les invites |
| 💾 Cache disque | Les transcriptions et résumés sont mis en cache sur le disque pour une relecture instantanée |
| 📄 Formats pris en charge | Texte brut et JSON |
Essayez 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 des paquets, et exécution directe du code source TypeScript.
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 index
prosey render
prosey config
prosey help
summarize est la commande par défaut, donc prosey <id> exécute le résumeur 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 de configuration [summarize], et envoie le résultat à la commande IA configurée.
La commande read télécharge la transcription et l'affiche sur la sortie standard (texte brut,
markdown ou JSON). Elle est 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 index reconstruit l'index des documents et l'ouvre dans le navigateur.
L'index répertorie chaque résumé et transcription stockés dans le répertoire de données
et est automatiquement reconstruit après chaque exécution de résumé/transcription. Cliquer sur le
logo Prosey sur n'importe quelle page de contenu permet de revenir à l'index.
La commande render régénère chaque page HTML à partir du markdown en cache
(sans réseau ni traitement IA) et réécrit l'index.
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, comme --help.
# Résumer (résumé IA + mise en forme + coloration syntaxique)
prosey 771PQEDeRmw
# Résumer (identique à la commande ci-dessus)
prosey summarize 771PQEDeRmw
# Transcrire (résumé IA + mise en forme + coloration 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 une langue
prosey read https://youtu.be/771PQEDeRmw --lang es
# Afficher en JSON (sans transcription IA)
prosey read 771PQEDeRmw
# Afficher en texte brut (sans transcription IA)
prosey read 771PQEDeRmw
# Enregistrer la transcription dans un fichier
prosey read 771PQEDeRmw -o transcript.txt
Lorsque --json est utilisé, 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 le JSON est une donnée structurée.
Ce projet utilise Bun pour le développement.
bun run typecheck # Vérification TypeScript
bun run start # Exécute le CLI depuis les sources
bun run test # Exécute les tests unitaires
bun run build # Compile le bundle Node vers 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 les valeurs par défaut.
Utilisez --reset-config pour restaurer les valeurs par défaut à tout moment.
pagerCommande de pagination pour la sortie des transcriptions et résumés. Par défaut "auto", qui
détecte le premier outil disponible parmi : bat -lmd --style plain → glow -p → mdcat -l -p → less.
Définissez une commande personnalisée (par ex. "less -R") pour la 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 via stdin |
PROSEY_PAGERVariable d'environnement pour définir la commande de pagination. A priorité sur la
valeur de configuration pager. Définissez-la sur "auto" ou vide pour utiliser la détection automatique.
Les transcriptions et résumés sont mis en cache dans /tmp/prosey/. Les invocations répétées
pour la même vidéo et les mêmes options sont instantanées et fonctionnent hors ligne. Utilisez --no-cache
pour ignorer le cache et forcer une nouvelle récupération.
Lors de l'exécution de prosey summarize, la commande s'exécute dans le répertoire de cache
de cette vidéo. Cela empêche l'agent IA de récupérer des fichiers spécifiques au projet
comme AGENTS.md ou CLAUDE.md du dossier courant, et limite sa capacité à
modifier des fichiers en dehors de ce répertoire.
| Code | Signification |
|---|---|
0 | Succès |
65 | URL ou ID de vidéo invalide |
prosey utilise l'API Innertube de YouTube via la bibliothèque youtube-transcript-plus. Aucune clé API ni automatisation de navigateur requise.
L'outil fonctionne avec les sous-titres créés manuellement ainsi qu'avec 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 (par 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 la sortie standard. |
--json | Sort la transcription sous forme de tableau JSON. Chaque élément inclut text, offset (secondes), duration et timestamp. |
--text | Sort 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) à la transcription (par défaut). |
--no-details | Supprime les détails de la vidéo, transcription uniquement. |
--no-decode-entities | Préserve les entités HTML brutes (par ex. '). Décodées par défaut en mode texte. |
--no-cache | Ignore le cache et force une nouvelle récupération. |
--no-format | Ignore le formatage markdown prettier sur la sortie du résumé. |
-q, --quiet | Supprime toute journalisation sur stderr. |
-v, --verbose | Affiche les informations de débogage sur stderr. |
--no-pager | Désactive le pagineur pour la sortie standard (détection automatique par défaut). |
--pager | Utilise le pagineur pour la sortie standard (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. |