Batch watermarking and compliance reporting for AI-generated media
Project description
synth-media-compliance-cli
Batch-process AI-generated media with compliance watermarks, C2PA signatures, and EU AI Act audit reports.
What is this?
A command-line tool for content studios and creators who need to retroactively add compliance metadata to hundreds of synthetic media files. It bridges the gap between real-time provenance tracking (via synth-provenance-api) and offline workflows, automating watermarking, cryptographic signing, and audit report generation to meet EU AI Act and GDPR enforcement requirements ahead of Q3 2026.
Features
- Batch watermarking – Apply compliance watermarks to images, videos, and audio in bulk
- C2PA signatures – Embed cryptographic provenance claims and chain-of-custody metadata
- Compliance tagging – Inject structured metadata (creation date, model info, generation parameters)
- Audit reports – Auto-generate EU AI Act and GDPR compliance documentation per file
- Format support – Process PNG, JPEG, MP4, WAV, and common media formats
- Dry-run mode – Preview changes before committing to disk
- Parallel processing – Leverage multiprocessing for large batches
Quick Start
Installation
pip install synth-media-compliance-cli
Or install from source:
git clone https://github.com/yourusername/synth-media-compliance-cli.git
cd synth-media-compliance-cli
pip install -e .
Basic Usage
Process a directory of images with default compliance settings:
synth-compliance process ./media/images --output ./media/signed
Add custom watermark text and generate audit reports:
synth-compliance process ./media/videos \
--watermark "AI-Generated • Disclosure Required" \
--report ./reports/audit.json \
--threads 4
Verify signatures on processed files:
synth-compliance verify ./media/signed --report-path ./reports/verification.json
Usage Examples
Batch processing with metadata injection
synth-compliance process ./raw_content \
--output ./compliant_content \
--model-name "Stable Diffusion XL" \
--model-version "1.0" \
--generation-date 2026-03-17 \
--creator-id studio_001 \
--dry-run
Generate GDPR-compliant audit trail
synth-compliance report ./compliant_content \
--format pdf \
--include-chains \
--output-dir ./compliance_reports
See examples/batch_process.sh and examples/verify_batch.py for advanced workflows.
Tech Stack
- Python 3.10+ – Core CLI and processing logic
- Click – Command-line interface framework
- Pillow – Image processing and watermarking
- FFmpeg – Video and audio handling
- C2PA SDK – Cryptographic provenance signing
- Pydantic – Metadata validation and serialization
- Pytest – Test suite
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file synth_media_compliance_cli-0.1.0.tar.gz.
File metadata
- Download URL: synth_media_compliance_cli-0.1.0.tar.gz
- Upload date:
- Size: 13.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa51daa4818ac6bff1f60ccdad32492cbb498f7e68fe13902bcbbad5b8d7c795
|
|
| MD5 |
38728e331d9155ba40d94c4bc4042e31
|
|
| BLAKE2b-256 |
43ab49c9af7e83ef8ba61154c70cfa910760cf14588ec1244e79fd3f708bc6a8
|
File details
Details for the file synth_media_compliance_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: synth_media_compliance_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
704de37a2fb83f603fa612d19bdac8e0ca9b89c6846abf5a783d21a731fd8e61
|
|
| MD5 |
8613077fc3792c8b1a8b868ad4843fc5
|
|
| BLAKE2b-256 |
89247e26e3f03b00bbdaf5935e490e949259ba4265921fd1d1db4c4aefe04ef7
|