Favicon Generator

Produces a complete favicon set — ICO plus PNG sizes and Apple touch icons — with the HTML link tags to reference them.

POST /v1/image/favicon-generate $0.01 per call

Specification

Endpoint
POST /v1/image/favicon-generate
Price
$0.01 per call · tier standard_data
Payment
x402 on X Layer (chain 196) · settled in USDG or USDT0 · scheme exact
Data source
Local sandboxed processing of the uploaded image
Timeout
60 seconds
Max request
20 MB
Version
1.0.0

Calling it

The first call returns a 402 with the payment challenge. Retry with a signed authorisation in the X-PAYMENT header — see the payment guide for the exact shape.

curl -i -X POST "https://api.dana-edu.pp.ua/v1/image/favicon-generate" \
  -H "content-type: application/json" \
  -d '{ ... }'

Response

Real output, captured by running this endpoint at build time — not written by hand. Volatile fields such as timestamps are elided. Captured 2026-07-30.

{
  "source": {
    "width": 64,
    "height": 64,
    "mode": "RGB",
    "format": "PNG",
    "has_alpha": false,
    "megapixels": 0.004
  },
  "cropped_to_square": false,
  "sizes_generated": [
    16,
    32,
    180,
    512
  ],
  "png_icons": [
    {
      "size": 16,
      "filename": "<varies per call>",
      "size_bytes": 282,
      "content_base64": "<base64 payload elided from the published example>"
    },
    {
      "size": 32,
      "filename": "<varies per call>",
      "size_bytes": 346,
      "content_base64": "<base64 payload elided from the published example>"
    },
    {
      "size": 180,
      "filename": "<varies per call>",
      "size_bytes": 1551,
      "content_base64": "<base64 payload elided from the published example>"
    },
    {
      "size": 512,
      "filename": "<varies per call>",
      "size_bytes": 6344,
      "content_base64": "<base64 payload elided from the published example>"
    }
  ],
  "ico": {
    "filename": "<varies per call>",
    "embedded_sizes": [
      16,
      32,
      48
    ],
    "size_bytes": 1092,
    "content_base64": "<base64 payload elided from the published example>"
  },
  "total_bytes": 9615,
  "html_snippet": "<link rel=\"icon\" href=\"/favicon.ico\" sizes=\"any\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/favicon-16x16.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/favicon-32x32.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"512x512\" href=\"/favicon-512x512.png\">\n<link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/favicon-180x180.png\">"
}

Every response is wrapped in the same envelope: data plus warnings, sources, confidence, informational_only and a measured processing_ms. See the envelope reference.

Related endpoints