> This is a page from the ElevenLabs documentation. For an index of the documentation, fetch https://elevenlabs.io/docs/llms.txt.

# Content Provenance API (bèta)

Audio die door ElevenLabs is gegenereerd, bevat een onhoorbaar watermerk dat in de audiosamples zelf is ingebed. Het content-provenance-endpoint, `POST /v1/content-provenance/watermark`, leest een bestand dat je uploadt en vertelt je of het er een vindt.

Wanneer het watermerk overeenkomt met een generatierecord, vermeldt de response het product en model waarmee de audio is gemaakt, wanneer deze is gegenereerd en een id voor die generatie. De response bevat nooit de prompt, het account of de gebruiker achter de generatie.

## Wat het watermerk rapporteert

Een voltooide controle retourneert twee velden: `is_detected` en `details`.

**`is_detected`** is `true` wanneer de decoder een ElevenLabs-watermerk in het bestand herkent, en `false` wanneer dat niet het geval is.

**`details`** wordt alleen ingevuld wanneer de generatiedetails uit het watermerk kunnen worden hersteld. Dat is mogelijk niet haalbaar bij korte of sterk bewerkte audio. Het bevat dan `product`, `model`, `generated_at` en `unique_id`. Elk van deze vier waarden kan `null` zijn. Als er geen record overeenkwam of geen watermerk is gevonden, is `details` `null`.

Je kunt ook `version` meesturen om te kiezen welke decoder het bestand leest. Laat dit weg of stuur `latest` mee om de nieuwste decoder te gebruiken. Momenteel wordt alleen `latest` ondersteund.

## Een bestand controleren

Upload de audio als een multipart-formulier met de veldnaam `file` en stel het mediatype van het onderdeel in, bijvoorbeeld `audio/mpeg`. Je API-sleutel heeft toestemming voor watermerken nodig. OAuth-accesstokens worden niet geaccepteerd.

```bash
curl -X POST https://api.elevenlabs.io/v1/content-provenance/watermark \
  -H "xi-api-key: $ELEVENLABS_API_KEY" \
  -F "file=@./example.mp3;type=audio/mpeg"
```

`version` is optioneel. Om dit expliciet mee te sturen:

```bash
curl -X POST https://api.elevenlabs.io/v1/content-provenance/watermark \
  -H "xi-api-key: $ELEVENLABS_API_KEY" \
  -F "file=@./example.mp3;type=audio/mpeg" \
  -F "version=latest"
```

Een bestand met een watermerk retourneert bijvoorbeeld het volgende:

```json
{
  "is_detected": true,
  "details": {
    "product": "Music",
    "model": "Eleven Music v2",
    "generated_at": "2026-07-27T18:34:12+00:00",
    "unique_id": "row-123"
  }
}
```

## Limieten

**Geaccepteerde bestanden.** Elk `audio/*`-type dat de decoder kan lezen, waaronder MP3, WAV, FLAC, AAC en Ogg. Je kunt het mediatype ook weglaten of `application/octet-stream` sturen. Een afbeelding of een ander type dat geen audio is, retourneert `400` met de status `invalid_file_type`.

**Grootte en lengte.** Elk bestand mag na decodering maximaal 50 MB groot zijn en tussen 0,5 seconde en 5 minuten lang. Stuur één bestand per request.

**Rate limit.** Elke gebruiker van een API-sleutel kan 25 controles per 24 uur indienen. Requests boven die limiet retourneren `429`. Heb je een hogere limiet nodig, [neem dan contact op](https://elevenlabs.io/docs/help-center/other/how-can-i-contact-support).

## Fouten afhandelen

Een `429` kun je later opnieuw proberen. Een `400` of `422` betekent dat de request zelf moet worden aangepast, bijvoorbeeld omdat het bestand geen audio bevat of omdat `version` een andere waarde heeft dan `latest`.

## Het resultaat gebruiken

Het endpoint leest alleen het watermerk dat al in het bestand staat, niets meer. De response bevat geen prompt en geen account. Betrek daarom altijd een persoon bij beslissingen die afhangen van de herkomst van audio.