Label Kit wraps your image, text and audio generation calls. It attaches C2PA and IPTC provenance, gives you a disclosure label, keeps an audit log, and checks it all in CI. One dependency, no vendor lock-in.
In development. Not legal advice. No sign-up form: we count ๐ and comments on a public GitHub issue.
Providers must mark synthetic image, video, audio and text in a machine-readable, detectable way.
For marking duties on systems already on the market before August.
Or โฌ15M, whichever is higher. Applies to non-EU providers whose output reaches the EU.
Sources: Regulation (EU) 2024/1689, Art. 50 and Art. 99 ยท EC AI Act Service Desk ยท Code of Practice on AI-generated content.
Drop-in wrapper for OpenAI, Gemini, Stable Diffusion and others.
Signed C2PA manifest and IPTC digitalSourceType, plus an optional watermark.
A ready-made "AI-generated" label snippet for your UI.
labelkit verify fails CI if any output ships unmarked.
# planned API (sketch) from labelkit import wrap client = wrap(OpenAI(), signer="keys/org.pem", log="audit.jsonl") img = client.images.generate(model="gpt-image-1", prompt="โฆ") # โ PNG carries a signed C2PA manifest + IPTC trainedAlgorithmicMedia # โ audit.jsonl gets {id, model, time, manifest_hash} $ labelkit verify ./public/generated --fail-on-missing
We'll build this only if enough teams need it. If you ship AI-generated content to EU users, ๐ the issue and tell us in one line what you generate and where it shows up.