# Je eerste transcriptie

> Van API-sleutel tot transcript. Transcribeer een videolink of bestand met cURL, Python of Node.js.

Canonical: https://transcript1.com/nl/docs/getting-started
Language: nl
Last updated: 2026-10-14

Met een API-sleutel kun je meteen aan de slag. Je stuurt requests naar `https://api.transcript1.com` en geeft je sleutel mee in de `Authorization`-header. Hieronder maak je een sleutel aan, start je een transcriptie en haal je de tekst op.

## 1. Maak je account en API-sleutel aan

[Maak een account aan](https://transcript1.com/signup) met je e-mailadres, Google of Microsoft. Na bevestiging van je e-mailadres krijg je eenmalig 60 gratis minuten. Bij registratie via Google of Microsoft staan die meteen klaar. Je hoeft geen creditcard op te geven.

Open [“API keys”](https://transcript1.com/dashboard/account/tokens) in het dashboard op `/dashboard/account/tokens` en maak een API-sleutel aan. Die begint met `t1_`. Kopieer de sleutel meteen: je krijgt hem maar één keer te zien. Stel daarna `TRANSCRIPT1_API_KEY` in:

```bash
export TRANSCRIPT1_API_KEY="t1_..."
```

## 2. Stuur een videolink

Je kunt links gebruiken van YouTube, X, TikTok, Instagram, Facebook, Bluesky, Twitch, Dailymotion, Pinterest, LinkedIn en Snapchat. In [Bronnen en instellingen](https://transcript1.com/nl/docs/sources-and-options) staat welke openbare opnames je kunt transcriberen en wat de beperkingen zijn. Je hoeft `platform` niet mee te sturen: de API herkent het platform aan de link. Hieronder gebruiken we een YouTube-video.

Start de transcriptie met `POST /v1/transcriptions`. Met de queryparameter `wait=60` blijft de verbinding maximaal 60 seconden open. Deze response bevat nog geen transcript. Het Python-voorbeeld haalt de tekst apart op via `GET /v1/transcriptions/:id?wait=60`. Met de Node.js-SDK hoef je dat niet zelf te regelen: de SDK leest `TRANSCRIPT1_API_KEY` en wacht op de tekst.

### cURL

```bash
curl -X POST "https://api.transcript1.com/v1/transcriptions?wait=60" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'
```

### Python

```python
import os
import requests

headers = {"Authorization": f"Bearer {os.environ['TRANSCRIPT1_API_KEY']}"}
response = requests.post(
    "https://api.transcript1.com/v1/transcriptions?wait=60",
    headers=headers,
    json={"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"},
)
response.raise_for_status()
transcription = response.json()
while True:
    transcription = requests.get(
        f"https://api.transcript1.com/v1/transcriptions/{transcription['id']}?wait=60",
        headers=headers,
    ).json()
    if transcription["status"] in ("completed", "failed", "canceled"):
        break

if transcription["status"] == "completed":
    print(transcription["transcript"]["text"])
else:
    print(transcription["status"], transcription["error"])
```

### Node.js

Sla het voorbeeld op als `index.mjs` en start het met `node index.mjs`. Wil je een `.js`-bestand gebruiken, zet dan `"type": "module"` in `package.json`.

```javascript
// npm i @transcript1/sdk
import { Transcript1 } from '@transcript1/sdk';

const t1 = new Transcript1();
const transcription = await t1.transcribe('https://www.youtube.com/watch?v=dQw4w9WgXcQ');
console.log(transcription.transcript.text);
```

Voor YouTube, X, TikTok, Bluesky, Dailymotion en LinkedIn kijkt transcript1 eerst of er bruikbare ondertitels in de oorspronkelijke taal zijn. Zo niet, dan transcriberen we de audio met AI. De bestaande ondertitelverwerking voor YouTube en X blijft daarbij gelijk. Buiten YouTube krijg je bij ondertitels alleen tijdstempels per segment, niet per woord. Niet elke video heeft ondertitels die je kunt gebruiken.

Met `source=stt` of sprekerherkenning kies je direct voor audio. De optie `captions` (alleen ondertitels) haalt juist nooit audio op en gebruikt geen STT. Bekijk [Bronnen en instellingen](https://transcript1.com/nl/docs/sources-and-options) om je keuze te bepalen.

## 3. Haal het transcript op

De HTTP-status vertelt je of je nog moet wachten:

- `200`: de transcriptie is binnen de wachttijd afgerond met `completed`, `failed` of `canceled`.
- `202`: de transcriptie loopt nog. Roep `GET /v1/transcriptions/:id?wait=60` aan. Ook dat request wacht maximaal 60 seconden. Herhaal dit totdat `status` een eindstatus heeft.

Bij een geslaagde transcriptie krijg je dit object terug. Voor de leesbaarheid is het ingekort:

```json
{
  "id": "tr_8fK2Lm0PqRsTuVwXyZaBcD",
  "object": "transcription",
  "status": "completed",
  "transcript_source": "youtube_captions",
  "language": "en",
  "billed_minutes": 4,
  "transcript": {
    "text": "Welcome back to the channel. Today we are looking at how transcripts are made.",
    "speakers": [],
    "segments": [
      { "start": 0, "end": 4.2, "speaker": null, "language": "en", "text": "Welcome back to the channel." },
      { "start": 4.2, "end": 9.8, "speaker": null, "language": "en", "text": "Today we are looking at how transcripts are made." }
    ]
  }
}
```

De volledige tekst staat in `transcript.text`. In `transcript.segments` vind je de tekst per segment, met `start` en `end` in seconden.

Wil je tekst of een ondertitelbestand downloaden? Kies `text`, `srt` of `vtt`:

```bash
curl "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD?format=srt" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY"
```

Met `GET /v1/transcriptions/:id?format=srt` haal je bijvoorbeeld SRT op. Die bestandsformaten zijn pas beschikbaar bij `completed`. Zolang de transcriptie niet klaar is, krijg je een JSON-object met de status.

## 4. Probeer een eigen bestand

Een audio- of videobestand op je computer stuur je als `multipart/form-data`. Tot 95 MB kan dat met één request:

```bash
curl -X POST "https://api.transcript1.com/v1/transcriptions?wait=60" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
  -F file=@interview.m4a
```

Is het bestand groter? Tot 2 GB kun je het in chunks uploaden. Als de verbinding wegvalt, stuur je daarna alleen de ontbrekende delen. Lees verder bij [Bestanden uploaden](https://transcript1.com/nl/docs/uploads).

## Verder met je integratie

- [Bronnen en instellingen](https://transcript1.com/nl/docs/sources-and-options): kies ondertitels of AI-transcriptie en stel sprekerherkenning en taal in.
- [Bestanden uploaden](https://transcript1.com/nl/docs/uploads): stuur een bestand in één keer of in chunks.
- [Webhooks](https://transcript1.com/nl/docs/webhooks): laat je server een ondertekend request ontvangen zodra een transcriptie is afgerond.
- [MCP-server koppelen](https://transcript1.com/nl/docs/mcp): transcribeer vanuit Claude, ChatGPT, Cursor, VS Code of Claude Code.
- [API-referentie](https://transcript1.com/nl/docs/api-reference): zoek een endpoint of parameter op.
