For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主导航

内容溯源

检查图像和音频中的内容溯源信号。

使用内容溯源 API 检查图像或音频文件是否包含 受支持的 OpenAI 溯源信号。将文件发送至 POST /v1/content_provenance_checks,即可在同一次响应中收到 完整的验证结果。这些信号可用于内容审查、 事实核查、标注以及信任与安全工作流。

如需在浏览器中检查文件,请使用 openai.com/verify 上的网页工具。

有关请求参数和响应模式,请参阅 内容溯源 API 参考

结果为 not_detected 表示工具未在 上传的文件中找到受支持的信号。如果内容的元数据 已被移除或有篡改迹象、水印已被削弱、 内容来自旧版生成模型,或是在提供溯源信号 之前创建的,该内容仍可能由 OpenAI 生成。该工具目前无法检测 其他公司的 AI 模型生成的内容,因此 not_detected 结果 也不能排除这种可能性。

内容溯源检查的内容

内容溯源会检查受支持的文件中是否存在以下信号:

信号适用于检查内容
C2PA 内容凭证图像包含签发者和 AI 使用详情的已签名元数据
SynthID图像和音频直接嵌入受支持媒体中的水印

C2PA 元数据提供有关文件来源的更多背景信息。编辑、转换或分享文件可能会移除其元数据。SynthID 水印是图像或音频本身的一部分,经过某些转换后仍可能保留。

该 API 检查受支持的 OpenAI 信号。它不是通用的 AI 检测工具,无法识别所有 AI 系统生成的内容。可见水印和标签与该 API 检查的溯源信号不同。

验证文件

使用 OpenAI SDK,将图像或音频文件作为 file 字段发送。SDK 会 构建多部分请求,并从 OPENAI_API_KEY 环境变量中读取您的 API 密钥:

验证图像
import { createReadStream } from "node:fs";
import OpenAI, { toStreamingFile } from "openai";

const client = new OpenAI();

const result = await client.contentProvenanceChecks.create({
  file: toStreamingFile(createReadStream("myimage.png"), "myimage.png", {
    type: "image/png",
  }),
});

console.log(result);

请使用以下版本或更高版本的 OpenAI SDK:Python 2.52.0、Go 3.49.0 和 Ruby 0.75.0。

如需验证 Opus 音频,请使用同一端点,并将上传文件的媒体类型 设置为 audio/ogg

curl https://api.openai.com/v1/content_provenance_checks \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F "file=@./example.opus;type=audio/ogg"

响应包含完整的结果。例如,验证图像会返回:

{
  "object": "content_provenance_check",
  "created_at": 1778000000,
  "results": [
    {
      "type": "c2pa",
      "outcome": "detected",
      "validation_state": "trusted",
      "issuer": "OpenAI OpCo, LLC",
      "model": "gpt-image",
      "generated_at": "2026-07-27T18:34:12Z"
    },
    {
      "type": "synthid",
      "outcome": "not_detected",
      "model": null,
      "generated_at": null
    }
  ]
}

object 字段用于标识响应,created_at 表示检查的 创建时间,以秒为单位的 Unix 时间戳表示。results 中的条目取决于 上传的文件:图像包含 C2PA 和 SynthID 结果,音频则包含 SynthID 结果。API 会省略不适用的检查,而不是返回 not_detected

API 会在返回响应之前完成验证。您无需创建后台任务、轮询其他端点,也无需将文件上传至 Files API。

如果请求失败,请检查 HTTP 状态,以及返回的 error.code(如有)。 文件格式错误、不受支持或被阻止时,会返回 400;组织没有 访问权限时,会收到 404;请求超过速率限制时,会返回 429。仅对 速率限制或服务器错误等暂时性故障重试。有关通用指导, 请参阅 API 错误代码

理解验证结果

请分别解读 results 中的每个适用条目。图像结果包含 C2PA 和 SynthID 条目,音频结果则包含一个 SynthID 条目。 响应中不包含顶层 outcome 字段。

C2PA 结果

C2PA 结果描述图像内容凭证的状态:

{
  "type": "c2pa",
  "outcome": "detected",
  "validation_state": "trusted",
  "issuer": "OpenAI OpCo, LLC",
  "model": "gpt-image",
  "generated_at": "2026-07-27T18:34:12Z"
}

各字段的用法如下:

  • outcome 表示是否检测到 OpenAI 签发的 AI 生成凭证, 值为 detectednot_detected
  • validation_state 表示清单的状态为 trustedvalidinvalidnot_present
  • issuer 在相关信息可用时标识清单的签发者。
  • model 在相关信息可用时标识生成内容所用的模型。
  • generated_at 在相关信息可用时 标识内容的生成时间。

只有当状态为 trustedvalid 的清单将 OpenAI 标识为签发者,并包含 AI 生成操作时,结果才会是 detected。第三方 清单、不包含 AI 生成操作的清单、状态为 invalid 的清单,或 状态为 not_present 的清单,都会产生 not_detected 结果。issuervalidation_state 仍可描述清单,即使结果为 not_detected

不要将状态为 invalid 的清单视为可靠的溯源证据。 not_present 结果表示该图像没有可用的 C2PA 清单。

SynthID 结果

SynthID 结果说明验证工具是否在图像或音频文件中检测到了受支持的水印:

{
  "type": "synthid",
  "outcome": "detected",
  "model": null,
  "generated_at": null
}

结果为 detected 表示文件包含可识别的水印。 结果为 not_detected 表示验证工具未检测到该水印。 这并不能排除内容由 AI 生成或修改的可能性。modelgenerated_at 在相关信息可用时分别提供生成内容所用的模型和生成时间; 这两个字段中的任一个都可能为 null

支持的格式和可用性

API 支持以下文件格式:

  • 图像: PNG、JPEG 和 WebP。
  • 音频: MP3、Opus、AAC、FLAC、WAV 和 PCM。

每个上传文件的大小不得超过 50 MiB。音频解码后的时长必须不超过 60 秒。

设置上传的 file 部分的媒体类型。例如,PNG 图像使用 image/png, Opus 音频使用 audio/ogg。不要添加单独的 type 字段,也不要 手动设置 multipart/form-data 请求头。curl-F 选项 会设置请求的内容类型和多部分边界。每个请求发送一个文件。

内容溯源检查不适用 零数据保留

严格的速率限制有助于防止 API 被滥用。组织可以 申请提高限制, OpenAI 会根据具体情况逐一审查申请。

如果 API 返回 429 rate_limit_exceeded,请降低请求速率, 并在响应包含 Retry-After 头时遵循其指示。有关通用的重试指导,请参阅 速率限制

负责任地使用验证结果

将验证结果作为更全面审查流程中的证据:

  • detected 视为存在某种受支持信号的证据,而不是文件的完整 历史记录。
  • not_detected 理解为未检测到证据,而不是证明 内容由人类创作或并非使用 OpenAI 生成。
  • 在认定图像来自某个特定提供商之前,请检查 C2PA 签发者。
  • 尽可能验证原始文件。压缩、裁剪、截屏、移除元数据和转换格式都可能消除或削弱信号。
  • 请考虑内容的来源产品、模型、文件格式和创建日期。并非所有由 OpenAI 生成的内容都包含受支持的信号。
  • 在涉及重大影响的工作流中,应将自动化决策与人工审查相结合。
  • 不要通过反复查询来对水印进行逆向工程、移除水印或规避水印。
  • 请勿根据验证结果推断提示、账户或具体创作者。

使用内容溯源 API 须遵守 OpenAI 服务协议

有关平台范围内的监控和保留设置的信息,请参阅 数据控制