1实时数据
正在读取实时数据…
2检测方法
C2PA(Coalition for Content Provenance and Authenticity)是 OpenAI、微软、Adobe 等共同制定的内容凭证标准。参考:C2PA 官网、微软说明。
官方私钥签名
官方生图服务把签名写进图片文件。私钥只在官方手里,第三方无法伪造。
改一个字节就能发现
签名里记录了图片内容的哈希。图片被改动后,重算的哈希对不上。
只检测,不留存
出图结果原样返回给您;系统检测复制出的一份,只记录结果,不保存图片和提示词。
每张图逐项检查,任何一项不通过,这张图就记为未通过:
| 检查项 | OpenAI 官方(#185) | Azure OpenAI(#184) |
|---|---|---|
| 出图成功 | HTTP 200,返回了图片 | |
| 尺寸 | 实际宽高与请求一致 请求 auto 时不检查 | |
| 内容凭证 | 文件中存在 C2PA 签名块 | |
| 生成来源 | softwareAgent 为 API/gpt-image官方 API,不是 ChatGPT 网页版 | softwareAgent 为 Azure OpenAI ImageGen |
| 签发工具 | OpenAI Media Service API | Microsoft / Microsoft Responsible AI Image Provenance |
| 证书链 | OpenAI Media Service 证书 + OpenAI TSA 时间戳根证书 | Microsoft Corporation 证书 |
| 内容完整 | 按签名规则重算 SHA-256,与签名记录一致 整文件哈希;4K 图为分块哈希 | |
| 文件结构 | 区块顺序为 IHDR → caBX → IDAT → IEND,签名块位于图像数据之前 | |
| 计量 | 返回了 Token 用量 | |
只统计分组当前提供的模型。JPEG / WebP 输出不做「内容完整」和「文件结构」两项。
3自行验证
先拿到原始文件
请用接口直接返回的原始文件验证。图片经过转码、压缩、裁剪,或被聊天软件、图床处理过,签名会失效或被删除。
最快方法一:网页验证
打开 contentcredentials.org/verify 并上传图片,页面会显示签发方(OpenAI 或 Microsoft Corporation)和签发时间。
官方工具方法二:c2patool 命令行
从 c2pa-rs Releases 下载 c2patool,再下载 C2PA 信任列表后验证:
终端命令
curl -O https://contentcredentials.org/trust/anchors.pem
curl -O https://contentcredentials.org/trust/allowed.sha256.txt
curl -O https://contentcredentials.org/trust/store.cfg
c2patool 图片.png trust --trust_anchors anchors.pem --allowed_list allowed.sha256.txt --trust_config store.cfg结果里看这三个字段:
| 字段 | 含义 |
|---|---|
validation_state 为 Trusted | 签名可信 |
signature_info.issuer | 签发方:OpenAI 或 Microsoft Corporation |
assertion.dataHash.match 或 assertion.boxesHash.match | 内容完整,签名后没有被改动 |
本站脚本方法三:c2pa-check.py
下载 c2pa-check.py。脚本只用 Python 3 标准库,里面不含任何地址或 Key。
终端命令
# 分析本地图片:签名来源、签发工具、哈希、文件结构
python c2pa-check.py --inspect a.png b.png
# 用自己的 Key 出图并逐张检测(先加 --dry-run 看用例;去掉后每个用例都会真实出图计费)
python c2pa-check.py --base https://yyds.seqnode.com --key sk-您的Key --model gpt-image-2.5-flare --dry-run
python c2pa-check.py --base https://yyds.seqnode.com --key sk-您的Key --model gpt-image-2.5-flare --out run1脚本会打印每张图的签名来源(OpenAI API / ChatGPT 网页版 / Azure OpenAI / 无 C2PA)、哈希是否一致、首包与总耗时,并保存图片和 result.json。
4常见问题
| 问题 | 说明 |
|---|---|
| C2PA 能证明什么 | 两件事:图片由官方生图服务产生并签名;签名后内容没有被改动。签名中不包含调用方的账号信息。 |
| #184 的 url 链接多久失效 | #184 请求 response_format=url 时,返回的是微软 Azure 存储的原始链接,有效期约 24 小时,请及时下载。 |
| 大图为什么慢 | 大尺寸、高档位单张可能超过 1 分钟。建议用 url 返回,避免 Base64 传输耗时。 |
| 数据多久更新 | 每 5 分钟汇总一次近 24 小时和近 1 小时的检测结果。 |