Api Endpoint

Tanod imagepeek

imagepeek (Tanod) image compression: to a quality or a byte budget. Use when an image must be shrunk to a quality level or a maximum file size. Add output=url for a 24 h link.

Open interactive test console

Offering

Provider
tanod.dev
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Creative
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://tanod.dev/v1/image/compress
MIME type
application/json
First seen
2026-10-16T01:51:02.144Z
Last seen
Tags
image-compression, compress-image, byte-budget, image, imagepeek, image-resize, exif, favicon, compress

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.003 USDC
Atomic price: 3000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.003 USDC
Atomic price: 3000 · Network: eip155:137 · Asset: USDC · Scheme: exact
Payment option 3
0.003 USDC
Atomic price: 3000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Payment option 4
0.003 USDC
Atomic price: 3000000000000000 · Network: eip155:56 · Asset: USDC · Scheme: exact
Payment option 5
0.003 USDC
Atomic price: 3000 · Network: eip155:42161 · Asset: USDC · Scheme: exact
Payment option 6
0.003 USDC
Atomic price: 3000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 7
0.003 USDC
Atomic price: 3000 · Network: eip155:137 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "3000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "3000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "3000",
    "payTo": "RMk9k3VC8dr4hhjgFh88rGhjAbzfBzHxJJ5n2fTcqus"
  },
  {
    "scheme": "exact",
    "network": "eip155:56",
    "asset": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
    "amount": "3000000000000000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:42161",
    "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
    "amount": "3000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "3000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "3000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  }
]

Observed health

Status
Healthy
Latest latency
856 ms
Average latency
1375 ms
HTTP status
204
Last checked
Reachability
90.9% over 11 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "additionalProperties": false,
      "properties": {
        "auto_orient": {
          "default": true,
          "description": "Apply the EXIF orientation first (default true).",
          "type": "boolean"
        },
        "colors": {
          "anyOf": [
            {
              "maximum": 256,
              "minimum": 2,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "png: quantise to this many colours."
        },
        "format": {
          "anyOf": [
            {
              "enum": [
                "jpeg",
                "png",
                "webp",
                "avif"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Output format: jpeg, png, webp or avif (default: the input's)."
        },
        "image_base64": {
          "anyOf": [
            {
              "maxLength": 13333464,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The image as standard or url-safe base64 (at most 10 MB decoded; a data:image/...;base64, prefix is fine); or use url."
        },
        "keep_icc": {
          "default": true,
          "description": "Keep the ICC colour profile (default true).",
          "type": "boolean"
        },
        "lossless": {
          "default": false,
          "description": "webp only: lossless encoding (default false).",
          "type": "boolean"
        },
        "max_bytes": {
          "anyOf": [
            {
              "maximum": 15000000,
              "minimum": 1000,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Size target: the highest quality that fits."
        },
        "progressive": {
          "default": false,
          "description": "jpeg only: progressive encoding (default false).",
          "type": "boolean"
        },
        "quality": {
          "anyOf": [
            {
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Target (or, with max_bytes, highest) quality."
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 2048,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Public http(s) URL of the image (at most 10 MB; private, internal and IP-literal hosts are refused); or use image_base64."
        }
      },
      "type": "object"
    },
    "bodyType": {
      "enum": [
        "json",
        "form-data",
        "text"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "auto_orient": {
              "default": true,
              "description": "Apply the EXIF orientation first (default true).",
              "type": "boolean"
            },
            "colors": {
              "anyOf": [
                {
                  "maximum": 256,
                  "minimum": 2,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "png: quantise to this many colours."
            },
            "format": {
              "anyOf": [
                {
                  "enum": [
                    "jpeg",
                    "png",
                    "webp",
                    "avif"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "Output format: jpeg, png, webp or avif (default: the input's)."
            },
            "image_base64": {
              "anyOf": [
                {
                  "maxLength": 13333464,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "The image as standard or url-safe base64 (at most 10 MB decoded; a data:image/...;base64, prefix is fine); or use url."
            },
            "keep_icc": {
              "default": true,
              "description": "Keep the ICC colour profile (default true).",
              "type": "boolean"
            },
            "lossless": {
              "default": false,
              "description": "webp only: lossless encoding (default false).",
              "type": "boolean"
            },
            "max_bytes": {
              "anyOf": [
                {
                  "maximum": 15000000,
                  "minimum": 1000,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "Size target: the highest quality that fits."
            },
            "progressive": {
              "default": false,
              "description": "jpeg only: progressive encoding (default false).",
              "type": "boolean"
            },
            "quality": {
              "anyOf": [
                {
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "Target (or, with max_bytes, highest) quality."
            },
            "url": {
              "anyOf": [
                {
                  "maxLength": 2048,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "Public http(s) URL of the image (at most 10 MB; private, internal and IP-literal hosts are refused); or use image_base64."
            }
          },
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "after_bytes": {
              "type": "integer"
            },
            "before_bytes": {
              "type": "integer"
            },
            "bytes": {
              "type": "integer"
            },
            "content_type": {
              "type": "string"
            },
            "data_base64": {
              "type": "string"
            },
            "encodes": {
              "type": "integer"
            },
            "final_url": {
              "type": "string"
            },
            "format": {
              "type": "string"
            },
            "height": {
              "type": "integer"
            },
            "input": {
              "properties": {
                "animated": {
                  "type": "boolean"
                },
                "bytes": {
                  "type": "integer"
                },
                "format": {
                  "type": "string"
                },
                "frames": {
                  "type": "integer"
                },
                "has_alpha": {
                  "type": "boolean"
                },
                "height": {
                  "type": "integer"
                },
                "width": {
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "notes": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "operation": {
              "type": "string"
            },
            "quality_used": {
              "type": [
                "integer",
                "null"
              ]
            },
            "returned_original": {
              "type": "boolean"
            },
            "saved_bytes": {
              "type": "integer"
            },
            "saved_ratio": {
              "type": "number"
            },
            "source": {
              "type": "object"
            },
            "source_url": {
              "type": "string"
            },
            "target_met": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "width": {
              "type": "integer"
            }
          },
          "required": [
            "operation",
            "input",
            "notes",
            "format",
            "content_type",
            "bytes",
            "width",
            "height",
            "data_base64"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}