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

# 内容溯源 API（Beta）

ElevenLabs 生成的音频会在音频采样数据中嵌入不可听见的水印。内容溯源端点 `POST /v1/content-provenance/watermark` 会读取你上传的文件，并告知是否检测到水印。

如果水印与某条生成记录匹配，响应会提供生成该音频的产品和模型、生成时间，以及该次生成的 ID。响应绝不会包含提示词、账户或生成该音频的用户信息。

## 水印报告的内容

完成检查后会返回两个字段：`is_detected` 和 `details`。

**`is_detected`** 为 `true` 表示解码器在文件中识别出 ElevenLabs 水印；未识别出时则为 `false`。

**`details`** 仅在可从水印中恢复生成详情时填充；对于较短或经过大幅修改的音频，可能无法恢复。该字段包含 `product`、`model`、`generated_at` 和 `unique_id`。这 4 个字段中的任意一个都可能为 `null`。如果未匹配到记录或未找到水印，`details` 为 `null`。

还可通过 `version` 选择用于读取文件的解码器。省略该参数或传入 `latest`，即可使用最新解码器。目前仅支持 `latest`。

## 检查文件

将音频以 multipart 表单上传，字段名设为 `file`，并设置该部分的媒体类型，例如 `audio/mpeg`。API 密钥需要具备水印权限。不接受 OAuth 访问令牌。

```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` 为可选参数。如需显式传入：

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

带有水印的文件会返回如下内容：

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

## 限制

**接受的文件。** 解码器可读取的任何 `audio/*` 类型，包括 MP3、WAV、FLAC、AAC 和 Ogg。也可以省略媒体类型，或发送 `application/octet-stream`。图像或其他任何非音频类型会返回 `400`，状态为 `invalid_file_type`。

**大小和时长。** 每个文件最大为 50 MB，解码后时长须介于 0.5 秒至 5 分钟。每次请求只能发送 1 个文件。

**速率限制。** 每个 API 密钥用户每 24 小时可提交 25 次检查。超出限制的请求会返回 `429`。如需更高限额，请[联系我们](https://elevenlabs.io/docs/help-center/other/how-can-i-contact-support)。

## 处理错误

收到 `429` 时，建议稍后重试。`400` 或 `422` 表示需要修改请求本身，例如文件不是音频，或 `version` 不为 `latest`。

## 使用结果

该端点仅读取文件中已有的水印，不会获取其他信息。响应不含提示词或账户信息，因此，对于任何依赖音频来源的决策，都应由人工参与审核。