An example of how to comply with China's AI-content labelling rules using JPEG Trust
China's Measures for Labelling AI-Generated Synthetic Content, together with the mandatory standard GB 45438-2025, require both visible labels and hidden machine-readable metadata. The rules are already in force and actively enforced. JPEG Trust can carry both a C2PA manifest and the prescribed TC260 metadata.
What the rules require
China's system is broader and more operationally detailed than the EU's or California's. It covers text, images, audio, video and virtual scenes, and distinguishes between explicit (visible) and implicit (metadata) labels — generally requiring both.
A visible or audible notice on the content — a mark on an image, a notice around a video player, an audible cue in audio — that should travel with downloads.
Machine-readable information in the file's metadata: whether it is AI-generated, the provider, a content ID, and later distribution information.
Distributing platforms must inspect metadata, label or flag content, let users declare AI use, and add their own propagation information.
Users publishing AI content must actively declare it. Removing, altering, forging or concealing labels — or providing tools to defeat them — is prohibited.
Explicit vs implicit labels
Unlike California's offered visible label, China generally requires both an explicit label that a viewer can see or hear and an implicit machine-readable label in the file. A single C2PA manifest alone may not be enough.
Explicit label
A disclosure perceptible to the person consuming the content, appropriate to the medium.
- A mark placed appropriately on an image
- A label in a video's opening frame and around the player
- Should remain with downloaded, exported or copied content
Implicit label
Structured metadata embedded in the file, following the TC260 AIGC schema.
- Whether the content is AI-generated or synthetic
- Provider name or registration code and a content ID
- Later distribution platform and distribution ID
TC260 AIGC metadata structure
Technical guidance associated with GB 45438-2025 defines a specific XMP metadata structure for images. JPEG Trust can write and read these fields alongside its normal provenance.
http://www.tc260.org.cn/ns/AIGC/1.0/For JPEG images, the XMP packet is stored in the APP1 segment; PNG and TIFF use their corresponding metadata locations.
The propagation chain
China requires more than reading the creator's original manifest. The distribution platform becomes part of the provenance chain by adding its own propagation information.
Content producer
An AI provider generates and signs the content, embedding the explicit and implicit labels.
Distribution platform
A platform inspects the metadata, preserves the labels and records its own propagation event.
Downstream consumer
Anyone downstream can verify the labels, the producer and the propagation history.
How JPEG Trust supports it
A standard C2PA manifest alone may not be enough for a Chinese implementation. JPEG Trust can carry both representations in the same JPEG without one replacing the other.
Cryptographically signed assertions, action log and tamper-evident hash — JPEG Trust's normal representation.
The prescribed implicit-label fields in the TC260 namespace, stored in the JPEG APP1 segment.
TC260 implicit-label XMP
<!-- TC260 AIGC implicit label, stored in the JPEG APP1 (XMP) segment --> <rdf:Description xmlns:aigc="http://www.tc260.org.cn/ns/AIGC/1.0/"> <aigc:Label>1</aigc:Label> # 1 = AI-generated <aigc:ContentProducer>Acme AI</aigc:ContentProducer> <aigc:ProduceID>urn:uuid:7f3a...</aigc:ProduceID> <aigc:ContentPropagator>PlatformA</aigc:ContentPropagator> <aigc:PropagateID>dist-20260902-001</aigc:PropagateID> </rdf:Description>
CLI example
# Embed both a C2PA manifest and the TC260 AIGC implicit label jpegtrust embed ai_output.jpg cn_metadata.json -o labelled.jpg \ --profile cn-aigc \ --aigc-label 1 \ --aigc-producer "Acme AI" \ --aigc-produce-id urn:uuid:7f3a... # Inspect both representations jpegtrust extract labelled.jpg
How JPEG Trust can verify labelled content
A platform or consumer can verify both the TC260 implicit label and the C2PA signature to confirm the content is labelled and unaltered.
Limitations
- JPEG Trust does not render the explicit on-screen or audible label or moderate platform decisions — those remain the provider's and platform's responsibility.
- Providers must retain certain records for at least six months and handle user-declaration workflows separately.
- GB 45438-2025 and its technical guidance evolve; field names and encodings should be checked against the current standard.
- Detecting AI content that carries no metadata at all is outside JPEG Trust's provenance model.
Get started
JPEG Trust is available as a Python package, a browser-based tool, and an HTTP API. Choose the integration that fits your workflow.
Python package
Install with pip. Embed, extract, and verify from any Python script or backend.
pip install jpegtrustAI Content Transparency Around the World
See how China's labelling framework lines up against the EU AI Act and California.
How the three regimes compare →Verification
Validate signatures and the TC260 implicit label from the package, CLI or API.
Verification guide →