{
  "name": "SynthID Remover",
  "description": "API service that removes invisible SynthID watermarks and generator metadata (C2PA/EXIF/XMP) from AI-generated images. Probabilistic: every job returns a residual-confidence verdict; refunds are automatic on failed jobs.",
  "url": "https://synthidremover.org",
  "version": "1.0.0",
  "provider": {"organization": "SynthID Remover", "url": "https://synthidremover.org"},
  "capabilities": {
    "streaming": false,
    "pushNotifications": true
  },
  "endpoints": [
    {"name": "clean", "method": "POST", "path": "https://api.synthidremover.org/v1/clean", "description": "Submit one image for watermark removal. Body: {image_b64, tier?}. Returns job_id; poll GET /v1/jobs/{id}."},
    {"name": "clean_batch", "method": "POST", "path": "https://api.synthidremover.org/v1/clean/batch", "description": "Up to 50 images per request, one tier per batch."},
    {"name": "af_screen", "method": "POST", "path": "https://api.synthidremover.org/v1/af/screen", "description": "Pipeline + screen-recapture anti-forensics post-stage, +1 credit."},
    {"name": "af_vector", "method": "POST", "path": "https://api.synthidremover.org/v1/af/vector", "description": "Pipeline + vector re-render for flat content, +1 credit."},
    {"name": "strip", "method": "POST", "path": "https://api.synthidremover.org/v1/strip", "description": "Free synchronous metadata removal (C2PA/EXIF/XMP), no re-encode."},
    {"name": "status", "method": "GET", "path": "https://api.synthidremover.org/v1/jobs/{id}", "description": "Job status; COMPLETED returns output.result_url, gpu_seconds, residual verdict."}
  ],
  "authentication": {"type": "apiKey", "in": "header", "name": "X-Api-Key"},
  "pricing": {
    "unit": "credit",
    "bands": [
      {"pixels": "<=500K", "credits": 1},
      {"pixels": "500K-1.4M", "credits": 2},
      {"pixels": "1.4M-2M", "credits": 3}
    ],
    "modifiers": {"priority_tier": 1, "anti_forensics": 1}
  },
  "constraints": {
    "max_pixels": 2000000,
    "max_edge_px": 4096,
    "max_body_mb": 32,
    "formats": ["png", "jpeg", "webp"],
    "result_ttl_hours": 72,
    "probabilistic": true
  }
}
