mirror of
https://github.com/wiltodelta/remove-ai-watermarks.git
synced 2026-10-15 05:50:45 +02:00
Collect provider samples from Higgsfield, Runway and Dreamina plus Google Photos, Gemini, Grok and YouTube re-encodes into data/captures/2026-09 with a hash-checked manifest, and use them to fix attribution and false positives: - Attribute aggregator outputs: Higgsfield job metadata, Dreamina's re-signed manifests, Runway's own C2PA signer, TC260 video producers. - Veto any visible video mark when a valid C2PA claim names another vendor (a Gemini Omni clip read as Sora on steam), and gate Kling and Hailuo matches on edge, anchor and white-label evidence. - Veto the Gemini sparkle when trusted provenance names another vendor. - Report SynthID as present for Google Photos AI edits: Google's checker found it on all four measured edits, though manifests record no action. - Add Vidu video and Wan image marks, TC260 audio placements, and record the AIGC key in metadata records. - Document the research sweep, the Dreamina badge decision, and verified Google statements on SynthID in Photos. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
48 lines
2.3 KiB
Bash
48 lines
2.3 KiB
Bash
# HuggingFace token (optional; only needed for gated/private models)
|
|
# Get yours at: https://huggingface.co/settings/tokens
|
|
# HF_TOKEN=
|
|
|
|
# OpenAI API key (optional; only for development scripts/openai_provenance_check.py)
|
|
# Create and manage keys at: https://platform.openai.com/api-keys
|
|
# OPENAI_API_KEY=
|
|
|
|
# Local photo-classifier weights (optional; otherwise fetched from Hugging Face)
|
|
# Directory contents are documented in docs/photo-classify.md.
|
|
# RAIW_CLASSIFY_WEIGHTS=/path/to/classifier-weights
|
|
|
|
# Local VideoSeal checkpoint cache (optional; development benchmarks only)
|
|
# Defaults to ~/.cache/remove-ai-watermarks-dev/videoseal.
|
|
# VIDEOSEAL_CACHE_DIR=/path/to/videoseal-cache
|
|
|
|
# Hugging Face cache root (optional; shared by model downloads and prompt caches)
|
|
# HF_HOME=/path/to/huggingface-cache
|
|
# Fallback cache root when HF_HOME is unset (optional)
|
|
# XDG_CACHE_HOME=/path/to/cache
|
|
|
|
# Gemini API key (optional; only for generating Google provider samples by hand)
|
|
# Paid tier: Nano Banana 2 Lite and Gemini Omni Flash have no free tier.
|
|
# Create and manage keys at: https://aistudio.google.com/apikey
|
|
# GEMINI_API_KEY=
|
|
|
|
# Named OpenAI keys for provider-oracle slots (optional; keep each value secret)
|
|
# OPENAI_API_KEY_1=
|
|
# OPENAI_API_KEY_2=
|
|
# OPENAI_API_KEY_3=
|
|
|
|
# Azure Content Safety resource for direct Microsoft Content Provenance checks
|
|
# Resource keys are read into memory through the authenticated Azure CLI.
|
|
# AZURE_CONTENT_SAFETY_ENDPOINT=https://your-resource.cognitiveservices.azure.com/
|
|
# AZURE_CONTENT_SAFETY_SUBSCRIPTION_ID=
|
|
# AZURE_CONTENT_SAFETY_RESOURCE_GROUP=
|
|
# AZURE_CONTENT_SAFETY_ACCOUNT_NAME=
|
|
# AZURE_ORACLE_STORAGE_RESOURCE_GROUP=
|
|
|
|
# ThorData residential proxies (optional; only for explicitly selected Web oracle routes)
|
|
# Generate these URLs in the ThorData endpoint generator; do not commit credentials.
|
|
# The Web runner pins a rotating user-and-password route to one sticky session per manifest.
|
|
# THORDATA_ROUTE_US=http://td-customer-USERNAME-country-US:PASSWORD@HOST.pr.thordata.net:9999
|
|
# THORDATA_ROUTE_DE=http://td-customer-USERNAME-country-DE:PASSWORD@HOST.pr.thordata.net:9999
|
|
# THORDATA_ROUTE_GB=http://td-customer-USERNAME-country-GB:PASSWORD@HOST.pr.thordata.net:9999
|
|
# THORDATA_ROUTE_NL=http://td-customer-USERNAME-country-NL:PASSWORD@HOST.pr.thordata.net:9999
|
|
# THORDATA_ROUTE_JP=http://td-customer-USERNAME-country-JP:PASSWORD@HOST.pr.thordata.net:9999
|