- fal's llms.txt confirms fast-sdxl is stabilityai/stable-diffusion-xl-base-1.0, the exact checkpoint the local CLI defaults to -> local == prod weights. Recorded in CLAUDE.md and README. - README How it works + sample README: replace the old downscale->upscale description with native-resolution processing (matches the #10 fix); document --max-resolution as an opt-in OOM cap. - README roadmap: idna already bumped (uv-secure clean). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
OpenAI ChatGPT Images 2.0 sample
Reference image generated by OpenAI's ChatGPT Images 2.0 (gpt-image-2, launched 2026-04-21). Kept in the repo so the C2PA manifest parser and invisible-watermark pipeline can be re-verified against a real production output.
amur-leopard.png
- Resolution: 1055 x 1491, PNG, 3.0 MB
- Downloaded: 2026-04-22
- Content: AI-generated infographic about the Amur leopard (Panthera pardus orientalis), chosen to exercise the model's new accurate-text-rendering feature
Embedded C2PA manifest (caBX chunk, 23607 bytes)
Parsed by remove-ai-watermarks metadata --check:
| Field | Value |
|---|---|
claim_generator |
GPT-4o |
c2pa_spec |
2.2.0 |
digital_source_type |
http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia |
c2pa_actions |
created, converted |
| Signer | OpenAI OpCo, LLC / OpenAI Media Service API |
| Claim signing CA | Trufo C2PA Claim Signing CA (2025) -> Trufo C2PA Root CA (ECC P384) |
| Timestamp authority | OpenAI TSA Issuing CA -> OpenAI TSA Root CA |
The trainedAlgorithmicMedia tag is what triggers "Made with AI" labels on Instagram, Facebook, and X.
Invisible pixel-level watermark
OpenAI's system card for Images 2.0 states the model embeds an "imperceptible, robust, and content-specific" pixel-level watermark alongside C2PA. No public detector exists, so bypass cannot be verified empirically for this sample.
Reproducing the removal
# C2PA strip only
remove-ai-watermarks metadata amur-leopard.png --remove -o amur-leopard.clean.png
# Full pipeline (visible + diffusion regeneration + metadata)
remove-ai-watermarks all amur-leopard.png -o amur-leopard.all.png --device mps
Note: the diffusion step runs at native resolution by default (no pre-downscale), so fine text on a text-heavy infographic like this one is preserved. Pass --max-resolution N only if a very large image OOMs the GPU/MPS (that reintroduces a lossy downscale then upscale round-trip).