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

# API för innehållsursprung (beta)

Ljud som genereras av ElevenLabs har ett ohörbart vattenmärke inbäddat direkt i ljudsamplingarna. Slutpunkten för innehållsursprung, `POST /v1/content-provenance/watermark`, läser en fil som du laddar upp och berättar om den hittar ett.

När vattenmärket matchar en genereringspost anger svaret vilken produkt och modell som skapade ljudet, när det genererades och ett id för genereringen. Det innehåller aldrig prompten, kontot eller användaren bakom genereringen.

## Vad vattenmärket rapporterar

En slutförd kontroll returnerar två fält: `is_detected` och `details`.

**`is_detected`** är `true` när avkodaren har identifierat ett ElevenLabs-vattenmärke i filen, och `false` när den inte har gjort det.

**`details`** fylls endast i när genereringsuppgifterna kan hämtas från vattenmärket, vilket kanske inte är möjligt för kort eller kraftigt ändrat ljud. Det innehåller då `product`, `model`, `generated_at` och `unique_id`. Vart och ett av dessa fyra kan vara `null`. Om ingen post matchade, eller om inget vattenmärke hittades, är `details` `null`.

Du kan också skicka `version` för att välja vilken avkodare som ska läsa filen. Utelämna det, eller skicka `latest`, för att använda den senaste avkodaren. För närvarande stöds endast `latest`.

## Kontrollera en fil

Ladda upp ljudet som ett multipart-formulär med fältnamnet `file` och ange delens medietyp, till exempel `audio/mpeg`. Din API-nyckel behöver behörighet för vattenmärken. OAuth-åtkomsttoken accepteras inte.

```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` är valfritt. Så här skickar du det uttryckligen:

```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"
```

En fil som har ett vattenmärke returnerar något i stil med detta:

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

## Begränsningar

**Godkända filer.** Alla typer av `audio/*` som avkodaren kan läsa, inklusive MP3, WAV, FLAC, AAC och Ogg. Du kan också utelämna medietypen eller skicka `application/octet-stream`. En bild eller annan typ än ljud returnerar `400` med statusen `invalid_file_type`.

**Storlek och längd.** Varje fil får vara högst 50 MB och mellan 0,5 sekunder och 5 minuter lång efter avkodning. Skicka en fil per begäran.

**Hastighetsgräns.** Varje användare av en API-nyckel kan skicka 25 kontroller per 24 timmar. Begäranden över den gränsen returnerar `429`. Om du behöver en högre gräns kan du [kontakta oss](https://elevenlabs.io/docs/help-center/other/how-can-i-contact-support).

## Hantera fel

Ett `429` är värt att försöka igen med senare. Ett `400` eller `422` betyder att själva begäran behöver ändras, till exempel om filen inte är ljud eller om `version` har ett annat värde än `latest`.

## Använda resultatet

Slutpunkten läser vattenmärket som redan finns i filen, inget mer. Svaret innehåller varken prompt eller konto, så ha alltid en människa med i processen för beslut som beror på var ljudet kommer ifrån.