Tanod Images
Image toolkit: resize, convert, compress, crop, metadata, hashes, favicons, OCR, QR codes, barcodes.
| Endpoint | https://tanod.dev/mcp/images (streamable-http) |
|---|---|
| Registry version | 0.1.0 |
| Now | 20 tools · grade B (84) · pin ts_5982f218e1d6f1c11cce85e082919622 · protocol 2025-06-18 |
| First / last listed | 2026-10-26 01:27 UTC / 2026-10-26 01:27 UTC |
| Grade over time | 2026-10-26: B (84), 20 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: image_resize image_convert image_compress image_crop image_rotate image_thumbnail image_metadata image_strip_metadata image_watermark image_colors image_hash image_dedupe image_favicon image_blurhash read_qr_barcode ocr_image make_qr_code make_barcode convert_color_check_contrast render_mermaid
image_resize | imagepeek: Resize an image. For several sizes in one call use image_thumbnail; for a box or ratio use image_crop. Returns the image resized to `width` and/or `height` (or by `scale`) with `fit` inside (default), contain (letterboxed on `background`), cover (centre crop) or fill (stretched), Lanczos by default; never upscaled unless `upscale` is true (then `upscale_prevented` says so). Reads PNG, J params: url, image_base64, format, quality, auto_orient, width, height, scale, fit, resample, upscale, background, progressive, optimize, lossless, output |
image_convert | imagepeek: Convert an image to PNG, JPEG, WebP, GIF, TIFF, BMP, ICO or AVIF. To shrink the file use image_compress. Returns the image converted `to` png, jpeg, webp, gif, tiff, bmp, ico (16-256 px icon sizes) or avif, with `quality`, progressive JPEG, optimized PNG or lossless WebP; transparency is flattened onto `background` (default white) for jpeg and bmp. Reads PNG, JPEG, WebP, GIF, TIFF, BMP, params: url, image_base64, to*, quality, progressive, optimize, lossless, background, auto_orient, output |
image_compress | imagepeek: Compress an image, optionally to a byte budget. To change the format only use image_convert. Returns a smaller JPEG, WebP, AVIF or PNG with metadata stripped: at `quality`, or with `max_bytes` the highest quality that fits (`target_met` false when none does); PNG can be quantised to `colors`. It never returns a larger file (the original comes back with `returned_original: true`). Reads params: url, image_base64, format, quality, max_bytes, colors, lossless, progressive, keep_icc, auto_orient, output |
image_crop | imagepeek: Crop an image to a box or an aspect ratio. To scale instead use image_resize. Returns the image cropped to a box (`left`, `top`, `width`, `height`; out of bounds is a 422 crop_out_of_bounds) or to an `aspect` ratio such as 16:9 placed by `gravity` (center or a side or corner); the reply carries the applied `box`. Reads PNG, JPEG, WebP, GIF, TIFF, BMP, ICO and AVIF; other formats and ima params: url, image_base64, format, quality, auto_orient, left, top, width, height, aspect, gravity, output |
image_rotate | 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 params: url, image_base64, format, quality, auto_orient, angle, expand, background, flip, output |
image_thumbnail | imagepeek: Make 1-8 thumbnails of an image in one call. For one exact resize use image_resize. Returns 1-8 thumbnails in one call, each `sizes` entry {width, height} (at most 4096), by `fit` cover (smart centre crop with `gravity`, default) or contain; not upscaled unless `upscale`. The 15 MB output cap covers all of them together. The images come back in `images`. Reads PNG, JPEG, WebP, GIF, TIFF params: url, image_base64, format, quality, auto_orient, sizes*, fit, gravity, upscale, output |
image_metadata | imagepeek: Read an image's EXIF, GPS, XMP, IPTC and ICC metadata. To remove the metadata use image_strip_metadata. Returns an image's header and metadata without decoding its pixels: format, dimensions, mode, frames, dpi, ICC profile, EXIF (camera, lens, dates, exposure, ISO, orientation), GPS (latitude and longitude in decimal degrees, altitude, date), XMP, IPTC, comments and PNG text keys; every params: url, image_base64 |
image_strip_metadata | imagepeek: Strip an image's EXIF, GPS, XMP, IPTC and comment metadata. To read the metadata use image_metadata. Returns the image without EXIF (GPS included), XMP, IPTC, comments and text chunks: JPEG, PNG, WebP and GIF are stripped losslessly at the byte level (pixel data unchanged), TIFF, BMP, ICO and AVIF re-encoded; an EXIF rotation is baked into the pixels first unless `auto_orient` is false. params: url, image_base64, keep_icc, auto_orient, output |
image_watermark | imagepeek: Add a text watermark to an image. For PDFs use pdf_watermark. Returns the image with a text watermark (1-200 printable characters, DejaVu Sans Mono) at one of 9 positions, or `tile`d in a staggered grid, with `opacity`, `font_size` (default 5% of the short side), `color`, `angle` and `margin`; text larger than the image is shrunk to fit. Reads PNG, JPEG, WebP, GIF, TIFF, BMP, ICO and AV params: url, image_base64, format, quality, auto_orient, text*, position, opacity, font_size, color, angle, tile, margin, output |
image_colors | imagepeek: Extract the dominant colours of an image. For a placeholder string use image_blurhash. Returns an image's palette of `k` colours (hex, rgb, share), the dominant one and the average colour with its luminance, from a 200 px sample (median cut refined by k-means; transparent pixels ignored). Reads PNG, JPEG, WebP, GIF, TIFF, BMP, ICO and AVIF; other formats and images over 40 megapixels ar params: url, image_base64, k, auto_orient |
image_hash | imagepeek: Compute perceptual hashes of an image, optionally compared. To group duplicates among up to 100 images use image_dedupe. Returns perceptual hashes of an image (aHash, dHash, pHash, wHash; 64 or 256 bits, imagehash-compatible) and, with a second image (`compare_url` or `compare_base64`), the Hamming distance and similarity per algorithm and `likely_same` (pHash distance at most bits / 6) params: url, image_base64, algorithms, hash_size, compare_url, compare_base64, auto_orient |
image_dedupe | imagepeek: Find duplicate images in a batch: group near-duplicates and pick the biggest. For a pair use image_hash. Returns groups of duplicate and near-duplicate images among up to 100 URLs (perceptual hash and Hamming distance), the highest-resolution image of each group as the suggested keeper, and per image its hash, size and any fetch error. Every member is within `threshold` bits (default 6 params: urls*, threshold, algorithm |
image_favicon | imagepeek: Generate a favicon set from an image. For plain sizes use image_thumbnail. Returns a favicon set from one image: favicon.ico (16, 32, 48 px), favicon-32x32.png, apple-touch-icon.png (180 px, flattened on `apple_background`, white by default), icon-192.png and icon-512.png, plus the HTML <link> snippet and the web-manifest icons; a source under 512 px is upscaled, with a note. The images params: url, image_base64, fit, background, apple_background, auto_orient, output |
image_blurhash | imagepeek: Generate a BlurHash placeholder string for an image. For the palette use image_colors. Returns the BlurHash string of an image (the published woltapp algorithm, identical to the reference package), with `x_components` and `y_components` 1-9 (default 4 x 3), for blurred placeholders while the real image loads. Reads PNG, JPEG, WebP, GIF, TIFF, BMP, ICO and AVIF; other formats and images params: url, image_base64, x_components, y_components, auto_orient |
read_qr_barcode | imagepeek: Read every QR code and barcode in an image. To make a QR code use make_qr_code; for other text use ocr_image. Returns every code found: `type` (QR, EAN-13, EAN-8, UPC-A, UPC-E, Code128, Code39), decoded `text`, `kind` (url, wifi, vcard, payment_emv, ...), corner `points`, `bbox`; a QR holding an EMVCo payment payload (PIX, QR Ph, SGQR, PromptPay; starts 000201) also gets a parsed `emv` params: url, image_base64, parse_emv |
ocr_image | sitepeek: OCR the text in a public image. For a scanned PDF use pdf_ocr; for QR codes and barcodes use read_qr_barcode. Returns width, height, format, text (lines and paragraphs kept), words and confidence_mean (0-100, mean word confidence). Non-images, oversize images and private addresses are a 422 (not charged). Typically 1-5 s. Price: USD 0.0025. Free: 5 static renders per IP per UTC day. The params: url*, lang |
make_qr_code | utilpeek: make a QR code image. For 1-D barcodes use make_barcode; to read a code use read_qr_barcode. Returns `svg` (text) or `data_base64` (PNG), or with `output` "url" a 24 h download link, plus `version`, `modules`, `width_px`, `height_px` and `bytes`. Data too long for a QR code at the chosen level is a 422 (not charged). Encoded locally, nothing is fetched; typically under 0.1 s. Price: USD params: data*, format, scale, error, border, output |
make_barcode | utilpeek: make a 1-D barcode image. For QR codes use make_qr_code; to find the product behind a number use lookup_barcode_product. Returns `svg` (text, with width_mm/height_mm) or `data_base64` (PNG, with width_px/height_px; `output` "url": a 24 h link), plus `encoded` and `bytes`. A supplied check digit (ean13, ean8, upca, isbn13) must be right: a wrong one is a 422 invalid_checksum (not charged) params: data*, type, format, text, output |
convert_color_check_contrast | utilpeek: Convert a color between hex, RGB, HSL and OKLCH and check WCAG contrast. For contrast alone use check_wcag_contrast. Returns a CSS color (hex, rgb(), hsl() or a CSS name) as hex, rgb, hsl, hsv, naive cmyk, OKLCH and WCAG relative luminance; with a `background`, the WCAG 2.x contrast ratio and AA / AAA pass or fail for normal and large text and UI components (unrounded: #777 on white is 4 params: color*, background |
render_mermaid | pdfpeek: Render Mermaid diagram code to an SVG or PNG image. Returns Mermaid diagram code drawn as an SVG or PNG file in an offline sandboxed browser: `format` svg | png, `theme` (default, dark, forest, neutral, base), `scale` 1-4 for PNG (default 2, sharp when zoomed). File base64 in `file` (output=url gives a 24 h link). A syntax error is a 422 invalid_diagram with the line number; over 8,000 x params: code*, format, theme, scale, output |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.