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

# API de Proveniência de Conteúdo (Beta)

Os áudios gerados pela ElevenLabs contêm uma marca d’água inaudível incorporada às próprias amostras de áudio. O endpoint de proveniência de conteúdo, `POST /v1/content-provenance/watermark`, lê um arquivo enviado por você e informa se encontra uma marca.

Quando a marca d’água corresponde a um registro de geração, a resposta informa o produto e o modelo que produziram o áudio, quando ele foi gerado e um ID dessa geração. Ela nunca inclui o prompt, a conta nem o usuário por trás da geração.

## O que a marca d’água informa

Uma verificação concluída retorna dois campos: `is_detected` e `details`.

**`is_detected`** é `true` quando o decodificador reconhece uma marca d’água da ElevenLabs no arquivo e `false` quando não reconhece.

**`details`** é preenchido apenas quando os detalhes da geração podem ser recuperados da marca d’água, o que pode não ser possível em áudios curtos ou muito modificados. Nesse caso, contém `product`, `model`, `generated_at` e `unique_id`. Qualquer um desses quatro campos pode ser `null`. Se nenhum registro corresponder ou nenhuma marca d’água for encontrada, `details` será `null`.

Você também pode enviar `version` para escolher qual decodificador lê o arquivo. Omita esse campo ou envie `latest` para usar o decodificador mais recente. No momento, apenas `latest` é compatível.

## Verificar um arquivo

Envie o áudio como um formulário multipart com o nome de campo `file` e defina o tipo de mídia da parte, por exemplo, `audio/mpeg`. Sua chave de API precisa ter a permissão de marca d’água. Tokens de acesso OAuth não são aceitos.

```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` é opcional. Para enviá-lo explicitamente:

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

Um arquivo que contém uma marca d’água retorna algo como isto:

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

## Limites

**Arquivos aceitos.** Qualquer tipo `audio/*` que o decodificador consiga ler, incluindo MP3, WAV, FLAC, AAC e Ogg. Você também pode omitir o tipo de mídia ou enviar `application/octet-stream`. Uma imagem ou qualquer outro tipo que não seja de áudio retorna `400` com o status `invalid_file_type`.

**Tamanho e duração.** Cada arquivo pode ter no máximo 50 MB e duração entre 0,5 segundo e 5 minutos após a decodificação. Envie um arquivo por solicitação.

**Limite de taxa.** Cada usuário de chave de API pode enviar 25 verificações a cada 24 horas. Solicitações que excederem esse limite retornam `429`. Se precisar de um limite maior, [entre em contato](https://elevenlabs.io/docs/help-center/other/how-can-i-contact-support).

## Como lidar com erros

Vale a pena tentar novamente mais tarde após receber um `429`. Um `400` ou `422` significa que a própria solicitação precisa ser alterada, por exemplo, porque foi enviado um arquivo que não é de áudio ou uma `version` diferente de `latest`.

## Como usar o resultado

O endpoint lê apenas a marca d’água que já está no arquivo, nada mais. A resposta não contém prompt nem conta; portanto, para qualquer decisão que dependa da origem do áudio, mantenha uma pessoa envolvida.