Skip to main content

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)

Source distribution for synth-media-compliance-cli 0.1.0
File Size Uploaded
synth_media_compliance_cli-0.1.0.tar.gz 13.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for synth-media-compliance-cli 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page