DokuTranskripte im Terminal mit der CLI
Transkripte im Terminal mit der CLI
Transkribiere Links und Dateien im Terminal. Verarbeite ganze Ordner, speichere Untertitel und nutze JSON in Skripten oder KI-Agenten.
Mit transcript1 transkribierst du direkt im Terminal. Übergib einen Link von YouTube, X, TikTok, Instagram, Facebook oder Bluesky oder den Pfad zu einer Audio- oder Videodatei. Für die CLI brauchst du kein Node.js. Welche weiteren Plattformen funktionieren und was du dabei beachten musst, steht unter Quellen und Einstellungen.
Für Links aus Social Media brauchst du mindestens CLI 1.2.0. Version 1.1.0 und ältere Versionen nehmen nur YouTube-Links an. Andere Links lehnen sie ab, bevor ein Request die API erreicht. Mit transcript1 update installierst du die aktuelle Version.
Diese Mindestversion gilt für die sechs oben genannten Plattformen. Für Twitch, Dailymotion, Pinterest, LinkedIn und Snapchat brauchst du eine neuere CLI-Version, die die jeweilige Plattform unterstützt. Ältere Clients können diese Links bereits lokal ablehnen.
Verwende öffentliche Posts. Enthält ein Post mehrere Videos, transkribiert transcript1 nur das erste. Die erlaubten Kurzlinks und weitere Grenzen findest du unter Quellen und Einstellungen.
Installation
Unter macOS oder Linux (x64 oder ARM64):
curl -fsSL https://transcript1.com/install.sh | shDas Skript installiert die CLI in ~/.local/bin. Falls du den PATH anpassen musst, zeigt es einen Hinweis an. Einen anderen Installationsordner legst du mit TRANSCRIPT1_INSTALL_DIR fest.
Danach kannst du statt transcript1 auch die Kurzform t1 verwenden. Für zsh ergänzt das Skript in ~/.zshrc den Eintrag alias transcript1='noglob transcript1'. Damit funktionieren Links mit ? auch ohne Anführungszeichen. Wenn das Skript deine Shell-Konfiguration nicht ändern soll, setze TRANSCRIPT1_NO_MODIFY_SHELL=1.
Unter Windows x64 führst du den Installer in PowerShell aus:
irm https://transcript1.com/install.ps1 | iexDer Installer legt die CLI in %LOCALAPPDATA%\Programs\transcript1 ab. Er ergänzt deinen Benutzer-PATH und richtet t1.cmd als Kurzform ein. Öffne danach ein neues Terminal.
Anmelden
Starte die Anmeldung:
transcript1 loginDie CLI öffnet transcript1.com im Browser. Über SSH oder ohne grafische Oberfläche zeigt sie stattdessen den Link im Terminal an. Vergleiche den Code im Terminal mit dem auf der Webseite. Stimmen beide überein, klicke auf „Approve“. Nach deiner Freigabe speichert die CLI einen API-Schlüssel namens transcript1 CLI (<computer name>). Im Dashboard findest du ihn unter „API keys“.
Soll die CLI nur den Link anzeigen, nutze transcript1 login --no-browser.
Einen vorhandenen API-Schlüssel hinterlegst du mit transcript1 login --with-key. Du kannst ihn auch über stdin übergeben: transcript1 login < key.txt.
Setze in CI oder für KI-Agenten die Variable TRANSCRIPT1_API_KEY. Sie hat Vorrang vor dem gespeicherten Schlüssel. Hat ein Agent weder ein interaktives Terminal noch einen Schlüssel, kann er transcript1 login < /dev/null ausführen und dir den Link zur Freigabe schicken.
Mit transcript1 logout widerrufst du den CLI-Schlüssel und entfernst die lokale Kopie. Kann die CLI den Schlüssel nicht widerrufen, löscht sie ihn trotzdem lokal und bittet dich, ihn unter „API keys“ zu widerrufen. Einen selbst eingefügten Schlüssel widerrufst du immer dort.
Link transkribieren
transcript1 'https://youtu.be/dQw4w9WgXcQ'Du bekommst den fertigen Text auf stdout, Fortschrittsmeldungen auf stderr. Auf YouTube, X, TikTok, Bluesky, Dailymotion und LinkedIn nutzt transcript1 zunächst Untertitel in der Originalsprache. Sind keine verwendbaren Untertitel vorhanden, transkribiert die KI das Audio. Der Befehl wartet, bis das Transkript fertig ist.
Setze Links in zsh am besten in Anführungszeichen. Sonst trennt & den Befehl, und zsh behandelt ? als Platzhalter. Beim Fragezeichen hilft auch der Alias aus dem Installationsskript.
Datei transkribieren
transcript1 interview.mp3
transcript1 -f srt -o interview.srt interview.mp3Die CLI übernimmt den Upload und wartet anschließend auf das Transkript. Deine Datei darf bis zu 2 GB groß sein (2.000.000.000 Bytes). Erlaubte Dateiendungen sind mp3, wav, m4a, flac, ogg, opus, mp4, mov, webm und mkv.
Mehrere Dateien und Links verarbeiten
Übergib mehrere Links oder Dateien auf einmal. Du kannst auch einen ganzen Ordner angeben:
transcript1 interview.mp3 lecture.mp4
transcript1 -o transcripts/ ./recordings
transcript1 --jobs 4 -o transcripts/ interview.mp3 'https://youtu.be/dQw4w9WgXcQ'Dateimuster wie recordings/*.mp3 funktionieren auch unter Windows. Bei einem Ordner nimmt die CLI die direkt darin liegenden Mediendateien und sortiert sie nach Namen. Für jede Eingabe speichert sie ein eigenes Transkript, standardmäßig in ./transcripts. Mit --jobs legst du fest, wie viele Jobs parallel laufen: 1–20, standardmäßig 2.
Mit - liest die CLI aus stdin. Schreibe dafür einen Link oder Dateipfad pro Zeile. Unter macOS oder Linux geht das zum Beispiel so:
transcript1 -o transcripts/ - < inputs.txtLeere Zeilen und Kommentare mit # am Zeilenanfang überspringt die CLI. Identische Eingaben verarbeitet sie nur einmal.
Bei einer einzelnen Eingabe legt -o den Dateinamen fest. Existiert das Ziel schon als Ordner oder endet es auf /, speichert die CLI das Transkript darin. Bei mehreren Eingaben legt -o immer einen Zielordner fest. Fehlende Zielordner legt die CLI an.
Existiert die Transkriptdatei bereits, überspringt die CLI YouTube-Links und lokale Dateien. Mit --overwrite lässt du sie trotzdem erneut verarbeiten:
transcript1 --overwrite -o transcripts/ ./recordingsFormate und Optionen
| Option | Bedeutung |
|---|---|
-f, --format | Wähle text (Standard), srt, vtt oder json. Mit JSON bekommst du das Transkriptionsobjekt der API. |
--speakers | Aktiviert die Sprecherzuordnung mit den Labels Speaker 1, Speaker 2 usw. |
--timestamps | Ergänzt vor jeder Zeile [hh:mm:ss]. Gilt nur für das Textformat. |
--language | Ein ISO-639-1-Sprachcode oder auto (Standard). |
--source | Wähle auto (Standard) oder stt. Auf YouTube, X, TikTok, Bluesky, Dailymotion und LinkedIn geht auch captions, sofern verwendbare Untertitel vorhanden sind. Dieser Modus lädt kein Audio herunter und wechselt nicht zu STT. |
--fresh | Erstellt für einen Link ein neues Transkript, statt eines aus den letzten 24 Stunden zu verwenden. |
So kombinierst du Sprecherzuordnung und Zeitstempel:
transcript1 --speakers --timestamps --language en interview.mp3--speakers und --source captions schließen sich aus. Bei auto sorgt die Sprecherzuordnung dafür, dass transcript1 direkt das Audio transkribiert. Die Untertitel-Unterstützung für YouTube und X bleibt bestehen; dazu kommen verfügbare Untertitel auf TikTok, Bluesky, Dailymotion und LinkedIn. Außerhalb von YouTube liefern Untertitel nur Zeitstempel pro Segment, nicht pro Wort (words: null). Das gilt auch für automatisch erzeugte Untertitel. Die Plattformübersicht und die Regeln zur Sprachauswahl findest du unter Quellen und Einstellungen.
Skripte und KI-Agenten
Hat dein KI-Agent eine Shell, kann er die CLI installieren und mit TRANSCRIPT1_API_KEY verwenden. Danach reichen die Befehle transcript1 <link> oder transcript1 <file>. Nutzt dein Client MCP, folge stattdessen der MCP-Einrichtung.
Für Skripte gibt --json pro abgeschlossener Eingabe eine JSON-Zeile auf stdout aus. Fortschrittsmeldungen, Zusammenfassungen und Update-Hinweise entfallen:
transcript1 --json 'https://youtu.be/dQw4w9WgXcQ'Bei einem abgeschlossenen Job enthält die Zeile das Transkriptionsobjekt der API sowie input und reused. Speichert die CLI das Transkript in einer Datei, steht darin file statt transcript. Scheitert der Aufruf, bevor eine ID vorliegt, bekommst du input und ein error-Objekt mit code und message. Bei übersprungenen Eingaben stehen dort input, skipped (exists oder out_of_minutes) und gegebenenfalls file. Der Grund exists gilt nur für YouTube-Links und lokale Dateien.
Bei einer einzelnen Eingabe ohne -o liefert --json das Transkript direkt im Objekt. Dabei hat -f keine Wirkung. Bei mehreren Eingaben ohne -o speichert die CLI die Transkripte in ./transcripts; die JSON-Zeilen enthalten dann file statt transcript. Sobald die CLI eine Datei schreibt, bestimmt -f deren Format. Mit -q oder --quiet blendest du Fortschrittsmeldungen und Zusammenfassungen aus. Transkript und Fehler gibt die CLI weiterhin aus.
Du kannst einen Job starten und das Transkript später abrufen:
transcript1 --no-wait interview.mp3
transcript1 get <id>Setze für <id> die ID aus dem ersten Aufruf ein. Mit --no-wait zeigt die CLI nur ID und Status an, mit --json das Objekt. get wartet, bis der Job fertig ist. Du kannst dabei -f, -o, --timestamps, --no-wait, --json und -q verwenden.
Updates
transcript1 updateIst stderr mit einem Terminal verbunden, sucht die CLI höchstens einmal pro 24 Stunden nach einer neuen Version. Falls es eine gibt, zeigt sie einen Hinweis an. Mit TRANSCRIPT1_NO_UPDATE_CHECK=1 schaltest du die Prüfung ab. Auch --json und -q unterdrücken die Update-Prüfung.
Exit-Codes
| Code | Bedeutung |
|---|---|
| 0 | Alle Eingaben sind fertig oder wurden übersprungen, weil für den YouTube-Link oder die lokale Datei schon eine Transkriptdatei existiert. |
| 1 | Mindestens eine Eingabe ist fehlgeschlagen oder wurde übersprungen, weil die Minuten nicht reichen. |
| 2 | Ungültiger Aufruf oder Problem bei der Anmeldung. |
| 130 | Der Aufruf wurde unterbrochen. |
Alle Befehle und Optionen findest du mit transcript1 --help oder einem Aufruf von transcript1 ohne Argumente.
Zuletzt aktualisiert 18. Oktober 2026