Saltar a la navegación

API de procedencia del contenido (beta)

Comprueba si un archivo de audio lleva una marca de agua de ElevenLabs y qué indica sobre su procedencia.

El audio generado por ElevenLabs lleva una marca de agua inaudible integrada en las propias muestras de audio. La ruta de API de procedencia del contenido, POST /v1/content-provenance/watermark, lee un archivo que subas y te indica si encuentra una.

Cuando la marca de agua coincide con un registro de generación, la respuesta indica el producto y el modelo que produjeron el audio, cuándo se generó y un identificador de esa generación. Nunca incluye el prompt, la cuenta ni el usuario responsable de la generación.

Qué informa la marca de agua

Una comprobación finalizada devuelve dos campos: is_detected y details.

is_detected es true cuando el decodificador reconoce una marca de agua de ElevenLabs en el archivo y false cuando no la reconoce.

details solo se rellena cuando se pueden recuperar los detalles de la generación a partir de la marca de agua, algo que puede no ser posible con audio corto o muy modificado. En ese caso, contiene product, model, generated_at y unique_id. Cualquiera de estos cuatro puede ser null. Si no coincide ningún registro o no se encuentra ninguna marca de agua, details es null.

También puedes enviar version para elegir qué decodificador lee el archivo. Omítelo o envía latest para usar el decodificador más reciente. Actualmente, solo se admite latest.

Comprueba un archivo

Sube el audio como un formulario multipart con el nombre de campo file y establece el tipo de medio de la parte, por ejemplo, audio/mpeg. Tu clave de API necesita el permiso de marca de agua. No se aceptan tokens de acceso OAuth.

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 es opcional. Para enviarlo explícitamente:

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"

Un archivo que lleva una marca de agua devuelve algo como esto:

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

Límites

Archivos aceptados. Cualquier tipo audio/* que el decodificador pueda leer, incluidos MP3, WAV, FLAC, AAC y Ogg. También puedes omitir el tipo de medio o enviar application/octet-stream. Una imagen u otro tipo que no sea audio devuelve 400 con el estado invalid_file_type.

Tamaño y duración. Cada archivo puede tener como máximo 50 MB y durar entre 0,5 segundos y 5 minutos tras la decodificación. Envía un archivo por solicitud.

Límite de frecuencia. Cada usuario de clave de API puede enviar 25 comprobaciones cada 24 horas. Las solicitudes que superen ese límite devuelven 429. Si necesitas un límite mayor, contacta con nosotros.

Gestión de errores

Merece la pena volver a intentar un 429 más tarde. Un 400 o 422 significa que la propia solicitud debe cambiar, por ejemplo, porque contiene un archivo que no es de audio o un version distinto de latest.

Uso del resultado

La ruta de API lee la marca de agua que ya está en el archivo, nada más. La respuesta no incluye ningún prompt ni cuenta, así que, para cualquier decisión que dependa de la procedencia del audio, mantén a una persona involucrada.