How bdrop.studio marks AI-generated content
Why this page exists
Every Drop bdrop.studio produces — the cover art, the track, and, where your Drop includes them, the video and the Studio Analysis Report — carries a machine-readable marker embedded directly in the file. Nothing changes in what you see or hear: no watermark, no visible tag, no logo. The marker lives in the file's own metadata, the same place a photo stores its camera model or a PDF stores its author.
Article 50(2) of the EU AI Act requires this: an AI provider must mark generated content in a machine-readable way, and must make it possible for anyone to check that marking. This page is the second half of that duty — it states exactly what we embed, in which file, and the exact command any recipient, journalist, or authority can run to read it out themselves. The tools are free and standard: exiftool (exiftool.org), ffprobe (part of FFmpeg), and pdfinfo. For the drop page's text, no tool is needed at all — the marking sits in the page's HTML source, one view-source away.
The five artefact types
Cover art (PNG / JPEG)
An XMP metadata packet, inserted into the image file without touching a single pixel:
- Iptc4xmpExt:DigitalSourceType = http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia (the IPTC-standard value for "generated by a trained algorithm")
- photoshop:Credit = AI-generated | bdrop.studio
Verify it
exiftool -XMP-iptcExt:DigitalSourceType -XMP-photoshop:Credit your-cover.pngWhat you'll see
A "Digital Source Type" field carrying the trainedAlgorithmicMedia URL above, and a "Credit" field reading "AI-generated | bdrop.studio".
The track (MP3)
Two ID3v2.3 frames, written directly into the audio file:
- A TXXX (custom text) frame — description "AI-GENERATED", value "true; system=bdrop.studio"
- A COMM (comment) frame — text "AI-generated content (EU AI Act Art. 50(2) marking)"
Verify it
exiftool -a -u -g1 your-track.mp3What you'll see
A comment field reading "AI-generated content (EU AI Act Art. 50(2) marking)", and a user-defined text field carrying the description "AI-GENERATED" and the value "true; system=bdrop.studio". (Exact field labels vary slightly by reader — the frame content itself is exact.)
The video (MP4)
A container-level comment tag, written as an unconditional final step on every render. No video or audio stream is touched — only the container metadata:
- comment = AI-generated content — bdrop.studio
Verify it
ffprobe -v quiet -show_entries format_tags=comment -of default=noprint_wrappers=1 your-video.mp4What you'll see
TAG:comment=AI-generated content — bdrop.studio
The Studio Analysis Report (PDF)
Four fields in the PDF's own Document Info dictionary:
- Subject = AI-generated content — bdrop.studio
- Keywords = AI-generated content — bdrop.studio
- Creator = bdrop.studio
- Producer = bdrop.studio
Verify it
pdfinfo your-report.pdfWhat you'll see
Subject, Keywords, Creator, and Producer lines carrying the values above. (exiftool your-report.pdf shows the same fields.)
The drop page text
A <script type="application/ld+json"> block, rendered in the page body of every Drop page — private gift Drops included — whenever that page shows song lyrics or agent feedback:
- @type = CreativeWork
- digitalSourceType = http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia (the IPTC-standard value for "generated by a trained algorithm")
- description = "The song lyrics and AI agent feedback (verdict quotes, full analysis, and calls to action) on this page are generated by AI (EU AI Act Art. 50(2) marking)."
Verify it
curl -s https://bdrop.studio/drop/your-slug | grep -A5 'application/ld+json'What you'll see
A <script type="application/ld+json"> block containing "@type":"CreativeWork" and "digitalSourceType":"http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia". You can also find it by viewing the page source (or your browser’s devtools) and searching for "application/ld+json" — the block is not rendered visibly, but it is present in the HTML your browser receives. On a private Drop that's out of rotation, this command returns nothing — the block only ships where the page's own content does.
The Crate’s structured data
A <script type="application/ld+json"> block on The Crate (bdrop.studio/crate), listing every drop shown there as a schema.org MusicRecording:
- digitalSourceType = http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia (the IPTC-standard value for "generated by a trained algorithm") — on every listed MusicRecording, unconditionally
Verify it
curl -s https://bdrop.studio/crate | grep -o '"digitalSourceType":"http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia"' | wc -lWhat you'll see
A count equal to the number of drops listed on the page at the time you run it — one occurrence per listed track. We have not signed the EU Transparency Code of Practice; this is a documented best-effort marking, not a conformity claim.
The “what AI weighs” research log
The two pages of the “what AI weighs” research log (bdrop.studio/what-ai-weighs and /what-ai-weighs/what-a-tonne-costs) were drafted and designed with AI. Their schema.org Article block carries the same mark as every other artefact type:
- digitalSourceType = http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia (the IPTC-standard value for "generated by a trained algorithm") — on both pages, unconditionally
Verify it
curl -s https://bdrop.studio/what-ai-weighs | grep -o '"digitalSourceType":"http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia"'What you'll see
One occurrence, from the Article block in the page source. The same command works on /what-ai-weighs/what-a-tonne-costs. The pages are AI-drafted and editorially reviewed; every figure on them is either sourced to a named study or explicitly marked as editorial judgement.
The studio games
The studio games (studio-rules.vercel.app — the hub and every game on it) were coded, written and designed with AI. Each page's schema.org WebPage block carries the same mark as every other artefact type:
- digitalSourceType = http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia (the IPTC-standard value for "generated by a trained algorithm") — on the hub and on every game page, unconditionally
Verify it
curl -s https://studio-rules.vercel.app/allow-invaders | grep -o '"digitalSourceType":"http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia"'What you'll see
One occurrence, from the WebPage block in the page source. The same command works on the hub itself and on /nobody-clears, the second game. Each page also states in plain sight that it was built by the studio's agents.
A note on Anna
Anna is an AI persona by bdrop.studio. Posts are AI-generated and editorially reviewed.
A note on scope
This page documents our current marking-and-detection implementation under Article 50(2) of the EU AI Act. It is a factual disclosure, not a declaration of full legal conformity — bdrop.studio has not signed the EU Transparency Code of Practice, and this page is not a certification. Last updated: 31 August 2026.
Questions about this page or about a specific file: see the contact details in our Impressum.