# Tanod imagepeek Thumbnail Generator

> Tanod imagepeek Thumbnail Generator is a paid API for AI agents from tanod.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-11).

Generates 1–8 resized thumbnail versions of an image from a URL or base64 input, with configurable size, format, quality, fit mode, and gravity.

## Facts

- Endpoint: POST https://tanod.dev/v1/image/thumbnail?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-imagepeek-thumbnail-generator-1c50a100
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_SRvvb5W0rWNarQFd_EcGC

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tanod-imagepeek-thumbnail-generator-1c50a100 -d '<json body>'
```

Example prompt: Can you generate two thumbnail sizes from this product image — 200x200 and 400x300 — in webp format with cover fit and center gravity? The image URL is https://example.com/product.jpg.

## When to prefer this

Choose this endpoint when you need to generate multiple thumbnail sizes from a single source image in one API call, especially when you need fine-grained control over fit mode, gravity, output format, and quality. Prefer this over client-side resizing when working in serverless or agent contexts without image processing libraries, or when you need consistent, server-side thumbnail generation with EXIF auto-orientation.

## Known failure modes

- Image URL is not publicly accessible or exceeds 10 MB — returns an error
- Base64 payload exceeds ~10 MB decoded limit
- Invalid size dimensions (zero, negative, or over 4096) — schema validation error
- Unsupported or corrupt image format — processing error
- More than 8 sizes requested — schema validation error
- Neither url nor image_base64 provided — missing input error
- Network timeout fetching remote image URL

## How this service works

One MCP server and HTTP API with 193 pay-per-call tools for AI agents (security checks, chain data, finance, aviation, documents), plus free uptime and MikroTik monitoring and 130+ free browser tools. No signup; free daily tier. Operated by an AI.

## Output

Returns binary image data for each requested thumbnail size in the specified (or auto-detected) format. Each output respects the fit mode (cover/contain), gravity, quality, and upscale settings provided. EXIF orientation is applied automatically unless disabled.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "fit": {
   "enum": [
    "cover",
    "contain"
   ],
   "type": "string",
   "default": "cover",
   "description": "cover (default: fill each size, cropping the overflow) or contain (fit inside, no crop)."
  },
  "url": {
   "anyOf": [
    {
     "type": "string",
     "maxLength": 2048
    },
    {
     "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."
  },
  "sizes": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "width",
     "height"
    ],
    "properties": {
     "width": {
      "type": "integer",
      "maximum": 4096,
      "minimum": 1
     },
     "height": {
      "type": "integer",
      "maximum": 4096,
      "minimum": 1
     }
    },
    "additionalProperties": false
   },
   "maxItems": 8,
   "minItems": 1,
   "description": "1-8 {width, height}."
  },
  "format": {
   "anyOf": [
    {
     "enum": [
      "png",
      "jpeg",
      "webp",
      "gif",
      "tiff",
      "bmp",
      "ico",
      "avif"
     ],
     "type": "string"
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Output format (default: the input's; ICO in, PNG out)."
  },
  "output": {
   "enum": [
    "base64",
    "url"
   ],
   "type": "string",
   "default": "base64",
   "description": "base64 (default): the file comes back inline as base64. url: the file is stored for 24 hours and the reply carries a download link (url, expires_at, bytes, content_type, sha256) instead of the base64, which keeps the file out of your context window."
  },
  "gravity": {
   "enum": [
    "center",
    "north",
    "south",
    "east",
    "west",
    "northwest",
    "northeast",
    "southwest",
    "southeast"
   ],
   "type": "string",
   "default": "center",
   "description": "cover: the part to keep (default center; north, southeast, ...)."
  },
  "quality": {
   "anyOf": [
    {
     "type": "integer",
     "maximum": 100,
     "minimum": 1
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Encoder quality 1-100 (lossy formats)."
  },
  "upscale": {
   "type": "boolean",
   "default": false,
   "description": "Allow thumbnails larger than the input (default false)."
  },
  "auto_orient": {
   "type": "boolean",
   "default": true,
   "description": "Apply the EXIF orientation first."
  },
  "image_ba
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "input": {
   "bytes": 2183,
   "width": 256,
   "format": "png",
   "frames": 1,
   "height": 256,
   "animated": false,
   "has_alpha": true
  },
  "notes": [],
  "images": [
   {
    "bytes": 3265,
    "width": 128,
    "format": "png",
    "height": 128,
    "requested": {
     "width": 128,
     "height": 128
    },
    "data_base64": "iVBORw0KGgoAAAAN... (trimmed: 4,356 base64 characters in the reply)",
    "content_type": "image/png"
   },
   {
    "bytes": 581,
    "width": 256,
    "format": "png",
    "height": 144,
    "requested": {
     "width": 320,
     "height": 180
    },
    "data_base64": "iVBORw0KGgoAAAAN... (trimmed: 776 base64 characters in the reply)",
    "content_type": "image/png"
   }
  ],
  "source": {
   "url": "https://python-pillow.org",
   "library": "Pillow",
   "license": "MIT-CMU (HPND)"
  },
  "final_url": "https://tanod.dev/icon.png",
  "operation": "thumbnail",
  "source_url": "https://tanod.dev/icon.png",
  "total_bytes": 3846
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-imagepeek-thumbnail-generator-1c50a100/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tanod.dev](https://www.zero.xyz/host/tanod.dev/llms.txt)
