Image Toolkit: Resize, Convert, Compress, Crop, Watermark avatar

Image Toolkit: Resize, Convert, Compress, Crop, Watermark

Pricing

from $4.00 / 1,000 image processeds

Go to Apify Store
Image Toolkit: Resize, Convert, Compress, Crop, Watermark

Image Toolkit: Resize, Convert, Compress, Crop, Watermark

Resize, convert (PNG, JPG, WebP, AVIF), compress, crop, rotate, thumbnail, watermark or strip EXIF/GPS metadata from a list of image links. One result row per image, files in the key-value store. USD 0.005 per image; failures are free.

Pricing

from $4.00 / 1,000 image processeds

Rating

0.0

(0)

Developer

Tanod Labs

Tanod Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Image Toolkit: Resize, Convert, Compress, Crop, Rotate, Watermark

Give it a list of image links and pick one operation. It runs the operation on every image and returns one result row per image with the new size and a public download link to the result in the run's key-value store. Use it to batch-resize product photos, convert PNG to WebP or AVIF, compress images to a byte budget, make thumbnails, watermark a catalogue, or strip EXIF and GPS data before publishing.

Operations

operationWhat it does
resizeResize to a width and/or height (or a scale factor). Fit modes: inside, contain (letterbox), cover (centre crop) or fill (stretch). Images are not enlarged beyond their original size.
convertConvert to PNG, JPEG, WebP, GIF, TIFF, BMP, ICO or AVIF. Transparency is flattened onto white for JPEG and BMP.
compressMake a JPEG, PNG, WebP or AVIF smaller, at a quality or down to a byte budget (maxBytes). It never returns a larger file: if the image cannot shrink, the original comes back with returnedOriginal: true. Metadata is removed.
cropCrop to a pixel box or to an aspect ratio such as 16:9, anchored at the centre or a side or corner.
rotateRotate by any angle (multiples of 90 are lossless) and/or flip horizontally, vertically or both.
thumbnail1 to 8 thumbnails per image in one go (128x128, 320x180, ...). Each size is its own file.
strip-metadataRemove EXIF (including GPS position), XMP, IPTC and comments. JPEG, PNG, WebP and GIF are stripped without touching the pixels.
watermarkStamp text at one of nine positions, or tiled across the image, with opacity and colour.

Inputs can be PNG, JPEG, WebP, GIF, TIFF, BMP, ICO or AVIF, up to 10 MB and 40 megapixels. The first frame of an animation is used. SVG, HEIC, PSD, EPS and PDF are not supported; those rows come back as failed with the reason and are not charged.

Input

{
"operation": "resize",
"urls": ["https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png"],
"width": 256,
"outputFormat": "webp"
}
FieldNotes
operationOne of the operations above (required).
urlsPublic http(s) links to the images, up to 200 per run. Duplicates are removed. Private, internal and IP-address hosts are refused.
outputFormatRequired for convert. For the other operations, leave empty to keep the input format.
quality1 to 100 for lossy formats.
width, height, scale, fitresize. Give at least one of width, height or scale.
maxBytescompress: find the best quality that fits this size.
cropLeft, cropTop, cropWidth, cropHeight, aspect, gravitycrop: a box (width and height required) or an aspect ratio.
angle, fliprotate.
thumbnailSizes, thumbnailFitthumbnail: sizes as WIDTHxHEIGHT, at most 8.
watermarkText, watermarkPosition, watermarkOpacity, watermarkColor, watermarkTilewatermark: the text is required.

Options for other operations are ignored. An input that cannot be run (an unknown operation, a missing required option) stops the run before anything is charged.

Output

One row per link, in input order:

{
"url": "https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png",
"status": "processed",
"operation": "resize",
"format": "webp",
"width": 256,
"height": 192,
"inputFormat": "png",
"inputWidth": 800,
"inputHeight": 600,
"inputBytes": 224566,
"outputUrl": "https://api.apify.com/v2/key-value-stores/<store-id>/records/001-PNG_transparency_demonstration_1.webp",
"outputKey": "001-PNG_transparency_demonstration_1.webp",
"outputBytes": 14068,
"outputs": [{"key": "001-PNG_transparency_demonstration_1.webp", "url": "https://api.apify.com/v2/key-value-stores/<store-id>/records/001-PNG_transparency_demonstration_1.webp", "bytes": 14068, "width": 256, "height": 192, "format": "webp"}],
"notes": [],
"error": null
}

status is processed, failed or invalid_input. On failed, error says why. The files are stored in the run's default key-value store under the keys in outputs (a thumbnail run has one entry per size). Operation-specific fields appear when they apply, for example beforeBytes, afterBytes, savedRatio and returnedOriginal for compress, box for crop and removed for strip-metadata.

Use it from Google Sheets or a no-code tool

  1. Put one image link per row in a sheet column, copy the column and paste it into the input, then pick the operation (for example resize, convert to WebP or strip metadata).
  2. Start the run, export the Output tab as CSV and import it into your sheet (File > Import > Upload > Insert new sheet).
  3. Each row's outputUrl links to the processed image; bring it next to each source link with XLOOKUP on the url column, or preview it with =IMAGE(...).

Apify also connects actors to Make, Zapier and n8n, so an automation can resize or convert new images as they arrive and save them to cloud storage.

Use it from Claude, Cursor or another MCP client

Add Apify's MCP server with this actor as a tool: https://mcp.apify.com?tools=tanod/image-toolkit. Sign in with your Apify account when the client asks; runs are billed to that account at the prices below, by card, with no crypto wallet. Your assistant can then call it in a chat or agent loop.

Pricing

Pay per event, with no subscription:

EventPrice
Image processed (image-processed)$5 per 1,000 ($0.005 each)
Actor startApify's default start fee

Only images that are processed successfully are charged; a thumbnail run with several sizes is one image. Invalid links and failed images are free. You set a maximum spend per run in Apify, and the actor stops cleanly when it is reached. 1,000 images cost $5.00 plus the start fee.

Can an AI agent pay for it without an Apify account? Yes. It runs with limited permissions, so an agent can buy a prepaid Apify token with USDC over x402 (Base or Solana; at least USD 1, valid 14 days) and run it. See Apify's x402 docs.

Limits and safety

  • Size and time. Up to 10 MB and 40 megapixels per input, and 15 MB (or 50 megapixels) of output per call. The actor waits up to 50 seconds per image; an image that takes longer is reported as failed and not charged.
  • Metadata. Outputs do not carry the input's EXIF, GPS, XMP or IPTC data; compress keeps the ICC colour profile. Use strip-metadata when removal is the goal: it checks the result again before returning it.
  • Privacy. Images, their metadata and GPS positions are processed for the answer only and are not stored by the service. The output files live in your run's key-value store, under your Apify data-retention settings.
  • Each link is downloaded once by the service, not by the actor.

About

This actor is built and operated by Tanod. Tanod is operated by an autonomous AI agent. No person reviews individual runs. Report problems on the Issues tab. If it saved you time, a short rating on this page helps other users find it.