DocumentationCLI transcript1

CLI transcript1

Transcrivez des vidéos et des fichiers depuis le terminal, traitez des dossiers entiers et récupérez du texte, des sous-titres ou du JSON pour vos scripts et agents.

Passez un lien vidéo ou un fichier audio ou vidéo à transcript1 : la commande prépare sa transcription. Elle accepte YouTube, X, TikTok, Instagram, Facebook et Bluesky, ainsi que les plateformes ajoutées dans les versions indiquées ci-dessous. Consultez Sources et options pour les liens acceptés et leurs restrictions. Le CLI s'installe seul, sans Node.js.

Pour les liens des réseaux sociaux, installez au minimum la version 1.2.0. Avec la version 1.1.0 ou une version antérieure, seuls les liens YouTube fonctionnent : le CLI refuse les autres avant même d'appeler l'API. Pour le mettre à jour, lancez transcript1 update.

La version 1.2.0 couvre les six plateformes d'origine. Pour Twitch, Dailymotion, Pinterest, LinkedIn et Snapchat, il vous faut une version qui intègre ces plateformes. Un ancien CLI peut refuser leurs liens avant de les envoyer au serveur.

Utilisez des publications publiques. Si un post contient plusieurs vidéos, nous transcrivons seulement la première. Les liens courts acceptés et les limites figurent dans Sources et options.

Installation

Sur macOS ou Linux (x64 ou ARM64) :

curl -fsSL https://transcript1.com/install.sh | sh

Le binaire s'installe dans ~/.local/bin. Si votre PATH ne contient pas ce dossier, l'installateur vous indique quoi ajouter. Pour choisir un autre dossier, définissez TRANSCRIPT1_INSTALL_DIR.

Vous pouvez aussi utiliser le raccourci t1. Sous zsh, l'installateur ajoute alias transcript1='noglob transcript1' dans ~/.zshrc : les liens avec ? fonctionnent alors sans guillemets. Définissez TRANSCRIPT1_NO_MODIFY_SHELL=1 si vous ne souhaitez pas modifier votre configuration shell.

Sous Windows x64, ouvrez PowerShell :

irm https://transcript1.com/install.ps1 | iex

Le CLI s'installe dans %LOCALAPPDATA%\Programs\transcript1, avec le raccourci t1.cmd. L'installateur ajoute ce dossier à votre PATH utilisateur. Ouvrez ensuite un nouveau terminal.

Connexion

Lancez la commande de connexion :

transcript1 login

Votre navigateur ouvre transcript1.com. En SSH ou sans interface graphique, le CLI affiche le lien à ouvrir. Vérifiez que le code de la page correspond à celui du terminal, puis cliquez sur « Approve ». Le CLI attend votre accord, puis enregistre une clé nommée transcript1 CLI (<computer name>). Elle apparaît dans « API keys ».

Pour obtenir le lien sans ouvrir le navigateur, ajoutez --no-browser : transcript1 login --no-browser.

Vous avez déjà une clé ? Collez-la avec transcript1 login --with-key, ou transmettez-la sur l'entrée standard : transcript1 login < key.txt.

Dans une CI ou pour un agent, définissez TRANSCRIPT1_API_KEY. Cette variable passe avant la clé enregistrée. Sans terminal ni clé, un agent peut lancer transcript1 login < /dev/null, puis vous transmettre le lien pour autoriser la connexion.

Pour vous déconnecter, lancez transcript1 logout. La commande révoque la clé créée par le CLI et l'efface de votre ordinateur. Si elle n'arrive pas à la révoquer, elle efface quand même la copie locale et vous invite à terminer dans « API keys ». Les clés que vous avez collées doivent toujours être révoquées depuis cette page.

transcript1 'https://youtu.be/dQw4w9WgXcQ'

Le texte s'affiche sur stdout quand la transcription est prête ; vous suivez la progression sur stderr. Sur YouTube, X, TikTok, Bluesky, Dailymotion et LinkedIn, le CLI utilise d'abord les sous-titres dans la langue d'origine s'ils sont exploitables. Sinon, il passe à la transcription par IA.

Sous zsh, pensez aux guillemets autour du lien. Sans eux, & sépare les commandes et ? sert de joker. L'alias ajouté à l'installation évite le problème du ?, pas celui du &.

Transcrire un fichier

transcript1 interview.mp3
transcript1 -f srt -o interview.srt interview.mp3

Le CLI envoie le fichier, puis attend que le texte soit prêt. Vous pouvez importer jusqu'à 2 Go (2 000 000 000 octets), avec les extensions mp3, wav, m4a, flac, ogg, opus, mp4, mov, webm et mkv.

Transcrire plusieurs fichiers ou liens

Indiquez plusieurs fichiers, plusieurs liens ou un dossier :

transcript1 interview.mp3 lecture.mp4
transcript1 -o transcripts/ ./recordings
transcript1 --jobs 4 -o transcripts/ interview.mp3 'https://youtu.be/dQw4w9WgXcQ'

Vous pouvez utiliser un motif comme recordings/*.mp3, même sous Windows. Si vous indiquez un dossier, le CLI prend ses fichiers audio et vidéo, les trie par nom et ne parcourt pas les sous-dossiers. Avec plusieurs fichiers ou liens, il enregistre une transcription par source dans ./transcripts par défaut. Réglez le nombre de traitements simultanés avec --jobs : de 1 à 20, avec 2 par défaut.

Pour lire les sources depuis stdin, passez -, avec un lien ou un chemin de fichier par ligne. Exemple sous macOS ou Linux :

transcript1 -o transcripts/ - < inputs.txt

Le CLI ignore les lignes vides et celles qui commencent par #. Il ne traite qu'une fois les lignes identiques.

Avec une seule source, -o indique le fichier à créer. Le CLI y voit un dossier si ce chemin existe déjà comme dossier ou se termine par /. Avec plusieurs sources, -o désigne toujours un dossier. Le CLI crée les dossiers manquants.

Pour les liens YouTube et les fichiers locaux, le CLI passe au suivant si le fichier de transcription existe déjà. Ajoutez --overwrite pour relancer la transcription et remplacer ce fichier :

transcript1 --overwrite -o transcripts/ ./recordings

Formats et options

OptionUtilisation
-f, --formatChoisissez text (par défaut), srt, vtt ou json. Avec json, vous recevez l'objet de transcription de l'API.
--speakersAjoute les étiquettes Speaker 1, Speaker 2, etc. aux interventions.
--timestampsAjoute [hh:mm:ss] au début de chaque ligne, en format texte uniquement.
--languageIndiquez un code de langue ISO 639-1, ou laissez auto (valeur par défaut).
--sourceChoisissez auto (par défaut) ou stt. Sur YouTube, X, TikTok, Bluesky, Dailymotion et LinkedIn, vous pouvez aussi choisir captions (sous-titres uniquement) si une piste est exploitable. Ce mode ne télécharge pas l'audio et ne lance jamais le STT.
--freshRelance la transcription du lien au lieu de réutiliser celle des dernières 24 heures.

Pour afficher à la fois les locuteurs et les horodatages :

transcript1 --speakers --timestamps --language en interview.mp3

Ne combinez pas --speakers avec --source captions. En mode auto, demander l'identification des locuteurs lance la transcription audio sans passer par les sous-titres. Le fonctionnement des sous-titres YouTube et X ne change pas ; TikTok, Bluesky, Dailymotion et LinkedIn permettent aussi de récupérer les pistes disponibles. Hors YouTube, les sous-titres donnent les temps par segment, pas par mot (words: null), même pour les pistes générées automatiquement. Consultez Sources et options pour les possibilités de chaque plateforme et le choix de la langue.

Scripts et agents

Si votre agent peut exécuter des commandes shell, faites-lui installer le CLI et définissez TRANSCRIPT1_API_KEY. Il peut ensuite appeler transcript1 <link> ou transcript1 <file>. Pour un client MCP, suivez plutôt la configuration du serveur MCP.

Ajoutez --json pour exploiter stdout dans un script. Chaque traitement terminé produit une ligne JSON, sans progression, récapitulatif ni notification de mise à jour :

transcript1 --json 'https://youtu.be/dQw4w9WgXcQ'

La ligne contient l'objet de transcription de l'API, complété par input et reused. Si le CLI enregistre le texte dans un fichier, file remplace transcript. Si une erreur survient avant la création d'un identifiant, la ligne contient input et un objet error avec code et message. Pour une source ignorée, vous recevez input, skipped (exists ou out_of_minutes) et, s'il y a lieu, file. Le motif exists concerne uniquement les liens YouTube et les fichiers locaux.

Sans -o, le comportement dépend du nombre de sources. Avec une seule, --json inclut le texte dans l'objet et ignore -f. Avec plusieurs, le CLI écrit les transcriptions dans ./transcripts et indique file au lieu de transcript dans chaque ligne JSON. Dès qu'il écrit un fichier, -f choisit son format. Pour masquer seulement la progression et les récapitulatifs, utilisez -q ou --quiet : le texte et les erreurs restent visibles.

Vous pouvez aussi lancer la transcription, puis la récupérer dans un second temps :

transcript1 --no-wait interview.mp3
transcript1 get <id>

La première commande affiche un identifiant : utilisez-le à la place de <id>. Avec --no-wait, vous recevez l'identifiant et le statut, ou l'objet complet si vous ajoutez --json. La commande get attend la fin du traitement. Elle accepte -f, -o, --timestamps, --no-wait, --json et -q.

Mises à jour

transcript1 update

Quand stderr est un terminal, le CLI cherche une mise à jour au maximum une fois toutes les 24 heures et vous prévient si une version est disponible. Pour désactiver cette vérification, définissez TRANSCRIPT1_NO_UPDATE_CHECK=1. Les options --json et -q la désactivent aussi.

Codes de sortie

CodeÀ interpréter comme suit
0Toutes les sources ont été traitées, ou ignorées parce que le fichier existait déjà (liens YouTube et fichiers locaux).
1Au moins un traitement a échoué, ou le CLI a ignoré une source faute de minutes.
2La commande est incorrecte ou la connexion au compte pose problème.
130Vous avez interrompu la commande.

Pour consulter toutes les commandes et options, lancez transcript1 --help ou simplement transcript1.

Dernière mise à jour 18 octobre 2026