imagepeek: rotate or flip an image
image_rotateRotate or flip an image clockwise by any angle, with optional canvas expansion and background fill, then return it as base64 or a temporary URL.
Instructions
imagepeek: Rotate or flip an image. To change the format use image_convert. Returns the image rotated clockwise by angle (multiples of 90 are lossless transposes; other angles are bicubic, expanded by default, corners filled with background) and/or flipped (horizontal, vertical, both). Reads PNG, JPEG, WebP, GIF, TIFF, BMP, ICO and AVIF; other formats and images over 40 megapixels are refused (not charged). Output: base64 data_base64, without EXIF, GPS, XMP or IPTC; over 15 MB or 50 megapixels is a 413 (not charged). Images are not logged; a result is kept only with output "url" (24 h). Typically 0.5-2 s. Price: USD 0.002. Free: 3 imagepeek calls per IP per UTC day. Docs: https://tanod.dev/learn/image-rotate-api.html
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public http(s) URL of the image (at most 10 MB; private, internal and IP-literal hosts are refused); or use image_base64. | |
| flip | No | Mirror after rotating: none (default), horizontal, vertical or both. | none |
| angle | No | Degrees, clockwise. | |
| expand | No | Grow the canvas to hold the whole rotated image (default true); false keeps the size and clips the corners. | |
| format | No | Output format (default: the input's; ICO in, PNG out). | |
| output | No | 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. | base64 |
| quality | No | Encoder quality 1-100 (lossy formats). | |
| background | No | Fill for uncovered corners: #rrggbb[aa] or transparent (default transparent, or white without alpha). | |
| auto_orient | No | Apply the EXIF orientation first. | |
| image_base64 | No | The image as standard or url-safe base64 (at most 10 MB decoded; a data:image/...;base64, prefix is fine); or use url. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| flip | No | ||
| angle | No | ||
| bytes | No | ||
| error | No | Only on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object. | |
| input | No | ||
| notes | No | ||
| width | No | ||
| format | No | ||
| height | No | ||
| sha256 | No | ||
| source | No | ||
| final_url | No | ||
| operation | No | ||
| expires_at | No | ||
| source_url | No | ||
| data_base64 | No | ||
| content_type | No |