# Transcriberen met de CLI

> Transcribeer links, bestanden of hele mappen vanuit je terminal. Sla ondertitels op of gebruik JSON in scripts en agents.

Canonical: https://transcript1.com/nl/docs/cli
Language: nl
Last updated: 2026-10-18

Met `transcript1` transcribeer je rechtstreeks vanuit je terminal. Geef een link van YouTube, X, TikTok, Instagram, Facebook of Bluesky mee, of het pad naar een audio- of videobestand. De CLI werkt zelfstandig; je hoeft Node.js niet te installeren. Voor de extra platforms heb je een recente versie nodig. Hieronder lees je welke. Alle linkvormen en beperkingen staan in [Bronnen en instellingen](https://transcript1.com/nl/docs/sources-and-options).

Voor de oorspronkelijke zes platforms heb je CLI 1.2.0 of nieuwer nodig. Versie 1.1.0 en ouder herkennen alleen YouTube-links en weigeren de andere links al op je computer. Werk de CLI bij met `transcript1 update`.

Voor Twitch, Dailymotion, Pinterest, LinkedIn en Snapchat is die basisversie niet genoeg: je hebt een release nodig waarin die platforms zijn toegevoegd. Oudere versies kunnen deze links lokaal weigeren.

Gebruik openbare posts. Bevat een post meerdere video’s, dan transcriberen we alleen de eerste. In [Bronnen en instellingen](https://transcript1.com/nl/docs/sources-and-options) vind je ook welke korte links werken en welke limieten gelden.

## Installeer de CLI

Voer dit uit op macOS of Linux, met x64 of ARM64:

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

De CLI komt in `~/.local/bin` te staan. Moet je je PATH nog aanpassen, dan laat het installatieprogramma zien hoe. Met `TRANSCRIPT1_INSTALL_DIR` kies je een andere installatiemap.

Je kunt ook de korte alias `t1` gebruiken in plaats van `transcript1`. Voor zsh voegt het installatieprogramma `alias transcript1='noglob transcript1'` toe aan `~/.zshrc`. Daardoor werken links met `?` ook zonder aanhalingstekens. Wil je niet dat het je shellinstellingen aanpast, stel dan `TRANSCRIPT1_NO_MODIFY_SHELL=1` in.

Gebruik je Windows x64, voer dan dit uit in PowerShell:

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

Op Windows komt de CLI in `%LOCALAPPDATA%\Programs\transcript1`. Het installatieprogramma maakt ook de korte alias `t1.cmd` en voegt de map toe aan je gebruikers-PATH. Open daarna een nieuwe terminal.

## Log in op je account

Start met:

```bash
transcript1 login
```

De CLI opent transcript1.com in je browser. Via SSH of zonder scherm toont hij de link in je terminal. Controleer of de code op de pagina gelijk is aan die in je terminal en klik op “Approve”. De CLI wacht op je toestemming en slaat daarna een sleutel op als `transcript1 CLI (<computer name>)`. Je vindt die terug op [“API keys”](https://transcript1.com/dashboard/account/tokens).

Wil je alleen de link zien, zonder een browser te openen? Gebruik `transcript1 login --no-browser`.

Een bestaande sleutel plak je met `transcript1 login --with-key`. Je kunt de sleutel ook via stdin doorgeven: `transcript1 login < key.txt`.

Gebruik in CI en voor agents de omgevingsvariabele `TRANSCRIPT1_API_KEY`. Die gaat vóór de opgeslagen sleutel. Heeft een agent geen terminal of sleutel, dan kan die `transcript1 login < /dev/null` uitvoeren en je de link sturen om toegang goed te keuren.

Met `transcript1 logout` trek je de CLI-sleutel in en verwijder je die van je computer. Lukt het intrekken niet, dan verwijdert de CLI wel de lokale sleutel en vraagt hij je die zelf in te trekken op “API keys”. Een sleutel die je zelf hebt geplakt moet je altijd op die pagina intrekken.

## Transcribeer een videolink

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

De CLI wacht totdat het transcript klaar is en schrijft de tekst naar stdout. Voortgangsmeldingen gaan naar stderr. Voor YouTube, X, TikTok, Bluesky, Dailymotion en LinkedIn gebruiken we eerst bruikbare ondertitels in de oorspronkelijke taal. Zijn die er niet, dan maken we een AI-transcriptie.

Zet links in zsh liefst tussen aanhalingstekens. Zonder die tekens splitst `&` je opdracht. Ook ziet zsh `?` als een glob, behalve wanneer je de alias van het installatieprogramma gebruikt.

## Transcribeer een eigen bestand

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

Je hoeft alleen het bestandspad mee te geven. De CLI uploadt het bestand en wacht op de tekst. Je kunt mp3, wav, m4a, flac, ogg, opus, mp4, mov, webm en mkv gebruiken, tot maximaal 2 GB (2.000.000.000 bytes).

## Verwerk meerdere bestanden en links

Geef meerdere bestanden of links mee, of kies een hele map:

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

Je kunt patronen zoals `recordings/*.mp3` gebruiken, ook op Windows. Geef je een map op, dan pakt de CLI de mediabestanden die direct in die map staan, op naam gesorteerd. Bij meerdere bestanden of links slaat hij standaard per bron een transcript op in `./transcripts`. Met `--jobs` kies je hoeveel er tegelijk lopen: 1–20, standaard 2.

Wil je een lijst via stdin inlezen? Gebruik `-` en zet op elke regel één link of bestandspad. Op macOS of Linux kan dat zo:

```bash
transcript1 -o transcripts/ - < inputs.txt
```

De CLI slaat lege regels en regels met `#` aan het begin over. Staat exact dezelfde link of hetzelfde pad vaker in de lijst, dan verwerkt hij die maar één keer.

Bij één bestand of link kies je met `-o` de bestandsnaam voor het transcript. Bestaat de opgegeven map al of eindigt het pad op `/`, dan behandelt de CLI het als een map. Bij meerdere bestanden of links is `-o` altijd een map. De CLI maakt ontbrekende mappen zelf aan.

Bestaat het transcriptbestand al, dan slaat de CLI YouTube-links en lokale bestanden over. Wil je ze toch opnieuw verwerken, voeg dan `--overwrite` toe:

```bash
transcript1 --overwrite -o transcripts/ ./recordings
```

## Kies een formaat en instellingen

| Optie | Wat doet die? |
|---|---|
| `-f`, `--format` | Kies `text` (standaard), `srt`, `vtt` of `json`. Met JSON krijg je het transcriptieobject van de API. |
| `--speakers` | Zet sprekerherkenning aan, met labels Speaker 1, Speaker 2 enzovoort. |
| `--timestamps` | Voeg `[hh:mm:ss]` toe vóór elke regel. Werkt alleen bij het formaat text. |
| `--language` | Geef een ISO 639-1-taalcode op of laat de standaardwaarde `auto` staan. |
| `--source` | Kies `auto` (standaard) of `stt`. Voor YouTube, X, TikTok, Bluesky, Dailymotion en LinkedIn werkt ook `captions`, als er een bruikbaar ondertitelspoor is. `captions` (alleen ondertitels) haalt nooit audio op en schakelt niet over op STT. |
| `--fresh` | Maak een nieuwe transcriptie in plaats van er een van dezelfde link uit de afgelopen 24 uur te hergebruiken. |

Zo krijg je sprekerherkenning én tijdstempels:

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

Gebruik `--speakers` niet samen met `--source captions`. Bij auto kiest sprekerherkenning direct voor audio. De bestaande ondertitelverwerking van YouTube en X blijft gelijk; ook voor TikTok, Bluesky, Dailymotion en LinkedIn kun je de beschikbare ondertitels ophalen. Buiten YouTube hebben ondertitels alleen tijdstempels per segment (`words: null`), ook als ze automatisch zijn gegenereerd. Alle mogelijkheden en taalinstellingen vind je in [Bronnen en instellingen](https://transcript1.com/nl/docs/sources-and-options).

## Gebruik de CLI in scripts en agents

Heeft je agent een shell, dan kan die de CLI installeren en na het instellen van `TRANSCRIPT1_API_KEY` meteen `transcript1 <link>` of `transcript1 <file>` uitvoeren. Gebruikt je client MCP, volg dan de stappen bij [MCP-server koppelen](https://transcript1.com/nl/docs/mcp).

Met `--json` krijg je per verwerkt bestand of verwerkte link één JSON-regel op stdout, zodra de verwerking klaar is. Voortgang, samenvattingen en updatemeldingen laat de CLI dan weg:

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

Bij een afgeronde job bevat de JSON-regel het API-transcriptieobject met daarnaast `input` en `reused`. Slaat de CLI de tekst op in een bestand, dan staat `file` in de regel in plaats van `transcript`. Ontstaat een fout voordat er een id is, dan krijg je `input` en een `error`-object met `code` en `message`. Bij overgeslagen bestanden of links krijg je `input`, `skipped` (`exists` of `out_of_minutes`) en zo nodig `file`. De waarde `exists` komt alleen voor bij YouTube-links en lokale bestanden.

Geef je één bestand of link mee zonder `-o`, dan zet `--json` het transcript in het object en heeft `-f` geen effect. Bij meerdere bestanden of links zonder `-o` komen de transcripts in `./transcripts`; elke JSON-regel bevat dan `file` in plaats van `transcript`. Wanneer de CLI een bestand schrijft, bepaalt `-f` het bestandsformaat. Wil je alleen voortgang en samenvattingen verbergen, maar de tekst en foutmeldingen houden? Gebruik `-q` of `--quiet`.

Je kunt de transcriptie ook starten en de tekst later ophalen:

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

Neem voor `<id>` de id die je na de eerste opdracht ziet. Met `--no-wait` toont de CLI alleen de id en status, of het object als je ook `--json` gebruikt. `get` wacht tot de job is afgerond. Je kunt daarbij `-f`, `-o`, `--timestamps`, `--no-wait`, `--json` en `-q` gebruiken.

## Werk de CLI bij

```bash
transcript1 update
```

Als stderr naar een terminal gaat, kijkt de CLI maximaal één keer per 24 uur of er een nieuwe release is. Zo ja, dan krijg je een melding. Zet de controle uit met `TRANSCRIPT1_NO_UPDATE_CHECK=1`. Ook met `--json` en `-q` blijft de updatemelding weg.

## Exitcodes

| Code | Wat betekent die? |
|---|---|
| 0 | Alles is gelukt, of overgeslagen omdat het transcriptbestand al bestaat. Dat overslaan geldt voor YouTube-links en lokale bestanden. |
| 1 | Minstens één bestand of link is mislukt, of overgeslagen omdat je te weinig minuten hebt. |
| 2 | Er gaat iets mis met de opdracht of het inloggen. |
| 130 | De opdracht is onderbroken. |

Alle opdrachten en flags bekijk je met `transcript1 --help`, of door alleen `transcript1` uit te voeren.
