Image Converter & Compressor for AI Agents avatar

Image Converter & Compressor for AI Agents

Pricing

from $1.00 / 1,000 image converteds

Go to Apify Store
Image Converter & Compressor for AI Agents

Image Converter & Compressor for AI Agents

Convert to WebP, AVIF, JPEG, PNG, GIF or TIFF from image URLs. Compress to a target file size (maxBytes), resize, auto-rotate, strip EXIF/GPS by default. Returns a download URL, dimensions and % saved. MCP, n8n, Make, API. $1 per 1,000 images. Failed images free.

Pricing

from $1.00 / 1,000 image converteds

Rating

0.0

(0)

Developer

ENT-E

ENT-E

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Share

Convert to WebP or AVIF, compress to a target file size, resize, and strip EXIF/GPS metadata from any image URL, in one API call at $1 per 1,000 images. Nothing to install, no server to run.

Convert to WebP, AVIF, JPEG, PNG, GIF or TIFF from a URL

You send a public image URL (or a batch of them) and choose a format. The Actor converts, resizes and compresses each image, stores the result in your run's key-value store, and returns one row per image with a download link (outputUrl), the final dimensions, the output size and the percentage saved.

  • Formats out: webp (default), avif, jpeg, png, gif, tiff
  • Formats in: JPEG, PNG, WebP, AVIF, GIF, TIFF, BMP and more (for animated GIFs, only the first frame is used)
  • Compress to a target size: set maxBytes and quality is lowered automatically until the image fits (JPEG, WebP, AVIF)
  • Resize: cap the size with maxWidth and/or maxHeight
  • Privacy: EXIF and GPS metadata are removed by default (stripMetadata: true)
  • Handled for you: images are auto-rotated using their EXIF orientation, and transparency is flattened when you output JPEG
  • Failed images are free: a bad URL or unreadable file comes back as a status: "error" row, and the run continues

Why use it

  • Nothing to install. No image libraries, no Docker, no server, no build step in your pipeline.
  • A specific result per call. "This photo as WebP, under 150 KB, max 1200 px wide, GPS removed" is one JSON object.
  • Low, predictable cost. $0.001 per converted image, the same whatever the format or size. Failed images cost nothing.
  • Fits your stack. Call it from MCP clients like Claude and Cursor (through Apify's MCP server), n8n, Make, Zapier or the API.
  • Structured output. Every row has outputUrl, width, height, outputBytes and savedPercent, so an agent or workflow can check the result and move on.

Use cases

Convert to WebP (and AVIF converter)

Serve modern formats without a build pipeline. WebP is the default. Switch to avif for smaller files where browsers support it.

{
"url": "https://example.com/images/hero.png",
"target": "webp",
"quality": 80
}
{
"url": "https://example.com/images/hero.png",
"target": "avif"
}

Compress image to target size

Upload forms, email templates, marketplaces and model APIs often cap file size. Set maxBytes (in bytes, for example 150,000 for about 150 KB) and the Actor lowers quality to fit.

{
"url": "https://example.com/uploads/product-photo.jpg",
"target": "jpeg",
"maxBytes": 150000
}

Remove EXIF / GPS metadata

Photos from phones can carry location and device data. Metadata is stripped by default, so a plain conversion already removes it. Set it explicitly to make the intent clear in your workflow.

{
"url": "https://example.com/uploads/customer-photo.jpg",
"target": "jpeg",
"stripMetadata": true
}

Resize image API

Generate a consistent max width for cards, thumbnails or model input.

{
"url": "https://example.com/images/banner.jpg",
"target": "webp",
"maxWidth": 800,
"maxHeight": 800
}

Bulk image compressor

Process a whole catalog or media library in one run. Top-level settings (target, quality, maxWidth, maxHeight, maxBytes, stripMetadata) apply to every file, and each file can override any of them.

{
"target": "webp",
"quality": 75,
"maxWidth": 1600,
"files": [
{ "url": "https://example.com/catalog/sku-001.jpg" },
{ "url": "https://example.com/catalog/sku-002.png" },
{ "url": "https://example.com/catalog/sku-003.jpg", "target": "avif", "maxWidth": 800 },
{ "url": "https://example.com/catalog/sku-004.jpg", "quality": 60, "maxBytes": 80000 }
]
}

Image optimization for websites

Make site images lighter for faster pages: resize to the largest size you display, convert to WebP and set a byte budget.

{
"url": "https://example.com/blog/cover.png",
"target": "webp",
"maxWidth": 1200,
"maxBytes": 120000
}

n8n image compression (and Make / Zapier)

Drop it into a workflow after a form upload, a CMS trigger or a scraper. Map each result's outputUrl into your storage or CMS step.

{
"url": "{{ $json.imageUrl }}",
"target": "webp",
"maxBytes": 200000
}

Pricing

Pay per event, only for images that convert successfully:

EventPrice
Image converted (per successful image)$0.001 ($1 per 1,000 images)
Actor start (per run, one event per GB of memory, minimum one; default 512 MB = 1 event)$0.00005 per event

Failed images are free.

Worked cost examples

  • 1,000 images: 1,000 × $0.001 = $1.00
  • A 10,000-SKU product catalog to WebP: 10,000 × $0.001 = $10.00
  • A 250-image blog migration to AVIF: 250 × $0.001 = $0.25
  • Add $0.00005 per run for the actor start at the default 512 MB memory.

The price is the same for every format, quality setting and image size. To cap spend on a run, set a maximum total charge in the run options.

Input reference

FieldTypeDefaultDescription
urlstring–Public URL of one image (JPEG, PNG, WebP, AVIF, GIF, TIFF, BMP...).
filesarray–Batch of images, e.g. [{"url": "...", "target": "avif", "maxWidth": 800}]. Each item can override any setting below; top-level values are the defaults for every item. Plain URL strings also work.
targetstringwebpOutput format: webp, avif, jpeg, png, gif, tiff.
qualityinteger80Quality from 1 to 100 for JPEG, WebP and AVIF (ignored for PNG, GIF, TIFF). With maxBytes, this is the starting quality.
maxWidthinteger–Maximum width in pixels. Downscales proportionally, never upscales.
maxHeightinteger–Maximum height in pixels. Downscales proportionally, never upscales.
maxBytesinteger–Target maximum file size in bytes (minimum 1000). Quality is lowered automatically to fit. Applies to JPEG, WebP and AVIF.
stripMetadatabooleantrueRemove EXIF/GPS metadata.

Limits: up to 50 MB and 100 megapixels per image. Only process images you have the rights to.

Output reference

One dataset row per input image. Converted files are stored in the run's default key-value store, and outputUrl points to the file.

{
"sourceUrl": "https://example.com/images/hero.png",
"target": "webp",
"status": "ok",
"outputUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/<key>.webp",
"mime": "image/webp",
"width": 1200,
"height": 675,
"outputBytes": 98304,
"input": { "format": "PNG", "width": 2400, "height": 1350, "mode": "RGBA", "sizeBytes": 528310 },
"savedPercent": 81.4
}

A failed image has only sourceUrl, target, status: "error" and error.

FieldDescription
sourceUrlThe URL you sent.
targetThe output format used.
status"ok" for a converted image, "error" for a failed one (not charged).
outputUrlDownload URL of the converted image.
mimeMIME type of the output.
width, heightFinal dimensions in pixels.
inputSource metadata: format, width, height, mode, sizeBytes.
outputBytesOutput file size in bytes.
savedPercentSize reduction compared with the source file, in percent (negative if the output is larger).
errorError message (failed images only).

How to use it

Use from MCP (Claude, Cursor)

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=ent-e/image-converter-compressor"
}
}
}

Sign in to Apify with OAuth on first connection, then ask, for example: "Convert this image to WebP under 100 KB and strip the GPS data." Because this Actor is pay-per-event, agents can also pay per run through Apify's agentic payments.

Use from n8n

Add the Apify node (@apify/n8n-nodes-apify), choose the Run an Actor and get dataset operation, select ent-e/image-converter-compressor, paste your input JSON, and use each item's outputUrl. Or use Run an Actor followed by Get Dataset Items with the run's defaultDatasetId. No community nodes? Use an HTTP Request node with the API call below.

Use from Make

Add the Apify Run an Actor module with Run synchronously set to Yes, then Get Dataset Items with the run's defaultDatasetId, and map outputUrl into the next module. Make waits at most 120 seconds for a synchronous run. For big batches, use the Watch Actor Runs trigger or an HTTP "Make a request" module calling the API below.

Use from Zapier

Use the Apify Run Actor and Fetch Results action, or Run Actor followed by Fetch Dataset Items, and map outputUrl into your next step.

Use from the API

curl -X POST "https://api.apify.com/v2/acts/ent-e~image-converter-compressor/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/photo.png", "target": "webp", "maxWidth": 1200, "maxBytes": 150000}'

Synchronous calls wait up to 5 minutes. For very large batches, start an asynchronous run (POST /v2/acts/ent-e~image-converter-compressor/runs) and read the dataset when it finishes.

FAQ

How do I convert an image to WebP from a URL?

Send {"url": "https://...", "target": "webp"}. WebP is the default target, so {"url": "..."} alone also works. You get a download link to the WebP file.

Is there an AVIF converter option?

Yes. Set "target": "avif". AVIF also supports maxBytes for a target file size.

How do I compress an image to a specific file size, like 100 KB?

Set maxBytes in bytes, for example 100000. Quality is lowered automatically until the image fits. This works for JPEG, WebP and AVIF output. Check outputBytes in the result.

Does it remove EXIF and GPS location data?

Yes, by default. stripMetadata is true unless you set it to false.

Can I bulk compress images?

Yes. Pass a files array with as many URLs as you need. You pay $0.001 per image that converts, and failed images are free.

Can I use it for n8n image compression or in Make?

Yes. Run the Actor from the Apify integration or an HTTP request, then map outputUrl from the results into your next step.

What happens to transparency when converting PNG to JPEG?

JPEG has no alpha channel, so transparency is flattened automatically. Use webp, avif or png to keep transparency.

ENT-E media toolkit

Every tool takes a public file URL, needs nothing installed, charges per file, doesn't charge for failures, and works from MCP, n8n, Make, Zapier and the API.