Binding law — in force
AI-generated content must carry both explicit and implicit labels (China)
Chinese online information service providers that offer generative/synthesis services must label AI-generated synthetic content (text, image, audio, video, virtual scenes) two ways: explicit labels — visible/audible notifications clearly perceivable by users at the start/end/appropriate positions, with any other generative-synthesis scenario adding conspicuous labels suited to its application (Art. 4) — and implicit labels — machine-readable metadata embedded in the file header containing the content's attribute info, the provider's name/code, and a content reference number (digital watermarks encouraged) (Art. 5). Downloaded/exported files must retain explicit labels. Detect a synthetic-media generation path with no explicit label or no implicit metadata labeling.
Who it applies to
- Duty falls on: provider
- Online information service providers in China offering generative/synthesis services (under the Algorithmic Recommendation, Deep Synthesis, and GenAI rules). Effective 2025-09-01. Implemented with mandatory national standard GB 45438-2025.
The guard to add
Add both a visible AI-generated label and implicit metadata naming the provider and a content ID to synthetic content before the file is saved, returned, or exported.
A labeling step between the generator call and every save, return, or download path does two things: it adds an explicit label users can perceive (text drawn onto images or video frames, an audible notice in audio, a label beside generated text in the UI), and it writes implicit metadata into the file (a PNG text chunk, XMP block, or C2PA manifest) carrying the AI-generated attribute, the provider's name or code, and a unique content ID. Export and download routes go through the same step so files leave with both labels; a digital watermark can complement the metadata.
Where it goes: 9 AI output handling, 1 application source code.
What this provision adds:
- Place the explicit label where users clearly perceive it, at the start, end, or another appropriate position of the content, and keep it in downloaded or exported files.
- Embed the implicit label in the file's metadata header with the content's attribute information, the provider's name or code, and a content reference number; a digital watermark is encouraged.
- Use the GB 45438-2025 'AIGC' metadata field with Label, ContentProducer, and ProduceID for the implicit label.
Example (OpenAI Images + Pillow), before:
b64 = client.images.generate(model='gpt-image-1', prompt=prompt).data[0].b64_json
img = Image.open(io.BytesIO(base64.b64decode(b64)))
img.save(path)After:
b64 = client.images.generate(model='gpt-image-1', prompt=prompt).data[0].b64_json
img = Image.open(io.BytesIO(base64.b64decode(b64))).convert('RGB')
font = ImageFont.truetype('NotoSansCJK-Regular.ttc', 24)
ImageDraw.Draw(img).text((12, img.height - 36), 'AI生成 / AI-generated', fill=(255, 255, 255), font=font)
meta = PngInfo()
# implicit label: AI-generated attribute, provider name or code, content reference (Art. 5);
# take the exact metadata field names from the national standard GB 45438-2025 (not encoded here)
meta.add_text('ai_generated_label', json.dumps({'ai_generated': True, 'provider': PROVIDER_CODE,
'content_id': str(uuid.uuid4())}))
img.save(path, format='PNG', pnginfo=meta)Control: GenAI content lacking explicit and implicit labels. The same guard addresses 1 item with binding law in 1 jurisdiction. Engineering guidance, not legal advice.
Rule id cn-genai-labeling.dual-label-genai-content · review status: primary source derived