国内公开分发前的教学自检:显式 AI 标识、隐式 aigc_meta、素材授权、禁未授权肖像与伪造新闻场景。
先看清成品
- 合规样例通过;缺标识/未授权/商用未确认 → 多条 reasons。
- 2 项 pytest 通过。
合规提醒:即梦网页与火山 API 均须遵守平台规则与国内 AI 生成合成内容标识要求。不上传未授权肖像/作品,不做未经同意的换脸仿声,不生成违法或伪造新闻画面。商用以会员/合同为准。教学客户端用 X-Access-Key 对接 mock;生产请用火山 SDK 做 Signature V4。本文不编造价格。
运行说明:无正式 VOLC AK/SK。A/B 用 mock 提交与轮询;未对 visual.volcengineapi.com 做真实签名调用。C 为发布前标识自检。2026-10-23(Asia/Shanghai)pytest 通过。
做完之后你会得到什么?
| 成果 | 说明 |
|---|---|
aigc_label_check.py |
清单 |
| 样例 JSON | ok/bad |
test_113c.py |
测试 |
需要准备哪些环境?
| 项目 | 说明 |
|---|---|
| Python | 3.10+ |
关键事实
| 事实 | 来源 |
|---|---|
| 国家与平台对 AI 生成合成内容有标识要求 | 产品说明 |
| 接口可传 aigc_meta / logo_info(异步回调等场景) | 官方 4.0 |
| 本清单不能替代法务与平台审核 | 重要 |
文件结构
113-jimeng-ai-C-src/
├── aigc_label_check.py
├── sample_ok.json
├── sample_bad.json
└── test_113c.py
第 1 步:清单
#!/usr/bin/env python3
"""国内发布前的 AI 生成内容标识自检(教学清单,不替代平台规则)。
对照:是否显式标注 AI 生成、是否写入隐式标识字段、素材是否授权、是否仿冒真实人物/新闻。
"""
from __future__ import annotations
import argparse, json, sys
from pathlib import Path
REQUIRED_TRUE = [
"explicit_ai_label",
"assets_authorized",
"no_unauthorized_likeness",
"no_fake_news_scene",
]
def check(meta: dict) -> dict:
reasons = []
for k in REQUIRED_TRUE:
if not meta.get(k):
reasons.append(f"{k} must be true")
if meta.get("platform") == "cn_public" and not meta.get("implicit_aigc_meta"):
reasons.append("cn_public publish should set implicit_aigc_meta when supported")
if meta.get("commercial") and not meta.get("plan_allows_commercial"):
reasons.append("commercial use not confirmed")
return {"ok": not reasons, "reasons": reasons}
def main(argv=None) -> int:
ap = argparse.ArgumentParser(description=__doc__)
ap.add_argument("meta_json")
args = ap.parse_args(argv)
r = check(json.loads(Path(args.meta_json).read_text()))
print(json.dumps(r, ensure_ascii=False, indent=2))
return 0 if r["ok"] else 1
if __name__ == "__main__":
raise SystemExit(main())
第 2 步:测试
import json, subprocess, sys
from pathlib import Path
HERE = Path(__file__).resolve().parent
def test_ok():
r = subprocess.run([sys.executable, str(HERE/"aigc_label_check.py"), str(HERE/"sample_ok.json")],
capture_output=True, text=True)
assert r.returncode == 0 and json.loads(r.stdout)["ok"]
def test_bad():
r = subprocess.run([sys.executable, str(HERE/"aigc_label_check.py"), str(HERE/"sample_bad.json")],
capture_output=True, text=True)
assert r.returncode == 1
assert len(json.loads(r.stdout)["reasons"]) >= 2
第 3 步:运行
$ pytest 113c
.. [100%]
2 passed in 0.05s
怎么检查结果?
- ok → exit 0。
- bad → reasons ≥ 2。
调试示例
「朋友圈内部看不用标」。 一旦公开分发或商用,按平台与法规执行;清单默认按 cn_public 从严。
常见问题
| 现象 | 原因 | 处理 |
|---|---|---|
| 只内网预览 | 可放宽 platform | 仍禁未授权素材 |
| 剪映发布 | 跟平台开关 | 保留导出记录 |
| 数字人 | 另审肖像授权 | 见专用条款 |
模板规则
- 公开必标识。
- 无授权不练不发。
- 商用查合同。
项目资源
| 用途 | 地址 |
|---|---|
| 即梦文档中心 | https://docs.volcengine.com/docs/JimengAI |
| 火山产品页 | https://www.volcengine.com/product/jimeng |
| 即梦网页 | https://jimeng.jianying.com |
标识做对,创作才站得住。