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
Release files for synth-media-compliance-cli 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| synth_media_compliance_cli-0.1.0.tar.gz | 13.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| synth_media_compliance_cli-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.2 kB
Release files / synth_media_compliance_cli-0.1.0.tar.gz
| Download URL | synth_media_compliance_cli-0.1.0.tar.gz |
|---|---|
| Size | 13.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fa51daa4818ac6bff1f60ccdad32492cbb498f7e68fe13902bcbbad5b8d7c795
|
|
BLAKE2b-256 checksum How to use checksums |
43ab49c9af7e83ef8ba61154c70cfa910760cf14588ec1244e79fd3f708bc6a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / synth_media_compliance_cli-0.1.0-py3-none-any.whl
| Download URL | synth_media_compliance_cli-0.1.0-py3-none-any.whl |
|---|---|
| Size | 14.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
704de37a2fb83f603fa612d19bdac8e0ca9b89c6846abf5a783d21a731fd8e61
|
|
BLAKE2b-256 checksum How to use checksums |
89247e26e3f03b00bbdaf5935e490e949259ba4265921fd1d1db4c4aefe04ef7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|