{
  "service": "api-base64",
  "description": "Encode UTF-8 text to standard Base64 or URL-safe base64url; decode to UTF-8 or hex. Validate Base64 without committing to output.",
  "limits": {
    "max_input_bytes": 262144,
    "max_wrap_width": 120
  },
  "endpoints": {
    "info": "GET /",
    "transform_get": "GET /?op=encode|decode&text=…  |  ?op=encode&url=…  |  optional decode_format=utf8|hex  wrap=0|4-120",
    "transform_post": "POST /  JSON: { op, text?, url?, decode_format?, wrap? }",
    "validate_get": "GET /validate?text=…",
    "validate_post": "POST /validate  JSON: { text }",
    "embed": "GET /embed/"
  },
  "notes": [
    "decode: pass Base64 in text= (GET/POST). decode_format=hex returns lowercase hex of raw bytes (no UTF-8 check).",
    "encode: wrap= N inserts newlines every N chars (standard or url_safe output).",
    "url field: URL-safe encode only (op=encode)."
  ]
}