# Tanod imagepeek Image Rotate & Flip

> Tanod imagepeek Image Rotate & Flip 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).

Rotates and/or flips an image by a specified angle and axis, with optional EXIF auto-orientation and format conversion.

## Facts

- Endpoint: POST https://tanod.dev/v1/image/rotate?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-image-rotate-flip-524c02c0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_COOgkYwwbHPvHfMTs721X

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-image-rotate-flip-524c02c0 -d '<json body>'
```

Example prompt: Take this image at https://example.com/photo.jpg, rotate it 90 degrees clockwise, flip it horizontally, and give me back a PNG.

## When to prefer this

Choose this endpoint when you need a simple, pay-per-call REST API to rotate, flip, or reorient images without setting up local image processing libraries. Ideal for AI agents that need to correct image orientation on the fly (e.g. fixing EXIF rotation from camera uploads), mirror assets for design purposes, or batch-transform images as part of an automated workflow. Prefer it over general-purpose image editing APIs when you want a minimal footprint — it does exactly rotation and flip, nothing more, billed per call with no subscription.

## Known failure modes

- Image URL is unreachable or returns non-image content — request fails with an error
- Image exceeds 10 MB size limit — rejected with payload too large error
- Invalid angle outside -360 to 360 range — schema validation error
- Unsupported output format string — schema validation error
- Both url and image_base64 omitted — missing input error
- Background color string does not match hex or 'transparent' pattern — validation error
- Invalid base64 encoding in image_base64 field — decoding error

## 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 the transformed image as a binary payload in the requested output format (defaulting to the input format, except ICO which becomes PNG). The image has been rotated by the specified angle (clockwise), flipped on the selected axis, and optionally had its EXIF orientation applied first. Canvas expansion is on by default to avoid cropping rotated content.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "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."
  },
  "flip": {
   "enum": [
    "none",
    "horizontal",
    "vertical",
    "both"
   ],
   "type": "string",
   "default": "none",
   "description": "Mirror after rotating: none (default), horizontal, vertical or both."
  },
  "angle": {
   "type": "number",
   "default": 0,
   "maximum": 360,
   "minimum": -360,
   "description": "Degrees, clockwise."
  },
  "expand": {
   "type": "boolean",
   "default": true,
   "description": "Grow the canvas to hold the whole rotated image (default true); false keeps the size and clips the corners."
  },
  "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."
  },
  "quality": {
   "anyOf": [
    {
     "type": "integer",
     "maximum": 100,
     "minimum": 1
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Encoder quality 1-100 (lossy formats)."
  },
  "background": {
   "anyOf": [
    {
     "type": "string",
     "pattern": "^(#?[0-9a-fA-F]{6}([0-9a-fA-F]{2})?|transparent)$"
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Fill for uncovered corners: #rrggbb[aa] or transparent (default transparent, or white without alpha)."
  },
  "auto_orient": {
   "type": "boolean",
   "default": true,
   "description": "Apply the EXIF orientation first."
  },
  "image_base64": {
   "anyOf": [
    {
     "type": "string",
     "maxLength": 13333464
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "The image as standard or url-safe base64 (at most 10 MB decoded; a data:im
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "flip": "horizontal",
  "angle": 90,
  "bytes": 2821,
  "input": {
   "bytes": 2183,
   "width": 256,
   "format": "png",
   "frames": 1,
   "height": 256,
   "animated": false,
   "has_alpha": true
  },
  "notes": [],
  "width": 256,
  "format": "png",
  "height": 256,
  "source": {
   "url": "https://python-pillow.org",
   "library": "Pillow",
   "license": "MIT-CMU (HPND)"
  },
  "final_url": "https://tanod.dev/icon.png",
  "operation": "rotate",
  "source_url": "https://tanod.dev/icon.png",
  "data_base64": "iVBORw0KGgoAAAAN... (trimmed: 3,764 base64 characters in the reply)",
  "content_type": "image/png"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-imagepeek-image-rotate-flip-524c02c0/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)
