Image Converter & Compressor for AI Agents
Pricing
from $1.00 / 1,000 image converteds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
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
maxBytesand quality is lowered automatically until the image fits (JPEG, WebP, AVIF) - Resize: cap the size with
maxWidthand/ormaxHeight - 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,outputBytesandsavedPercent, 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:
| Event | Price |
|---|---|
| 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
| Field | Type | Default | Description |
|---|---|---|---|
url | string | – | Public URL of one image (JPEG, PNG, WebP, AVIF, GIF, TIFF, BMP...). |
files | array | – | 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. |
target | string | webp | Output format: webp, avif, jpeg, png, gif, tiff. |
quality | integer | 80 | Quality from 1 to 100 for JPEG, WebP and AVIF (ignored for PNG, GIF, TIFF). With maxBytes, this is the starting quality. |
maxWidth | integer | – | Maximum width in pixels. Downscales proportionally, never upscales. |
maxHeight | integer | – | Maximum height in pixels. Downscales proportionally, never upscales. |
maxBytes | integer | – | Target maximum file size in bytes (minimum 1000). Quality is lowered automatically to fit. Applies to JPEG, WebP and AVIF. |
stripMetadata | boolean | true | Remove 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.
| Field | Description |
|---|---|
sourceUrl | The URL you sent. |
target | The output format used. |
status | "ok" for a converted image, "error" for a failed one (not charged). |
outputUrl | Download URL of the converted image. |
mime | MIME type of the output. |
width, height | Final dimensions in pixels. |
input | Source metadata: format, width, height, mode, sizeBytes. |
outputBytes | Output file size in bytes. |
savedPercent | Size reduction compared with the source file, in percent (negative if the output is larger). |
error | Error 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.
- Media Converter for AI Agents (FFmpeg): audio/video to MP3, Whisper-ready 16 kHz WAV, MP4, WebM, GIF or thumbnails, with trim and batch.
- Image Converter & Compressor: convert to WebP or AVIF, compress to a target file size, resize, strip EXIF/GPS.
- Podcast Loudness Normalizer: normalize to -16, -14, -23 or -24 LUFS with a true-peak ceiling, plus a before/after report.
- Video to Captions: SRT, VTT, TXT and word-level JSON from any video or audio URL, with Whisper.
- Video to Shorts: vertical 9:16 clips with burned-in animated captions for TikTok, Reels and Shorts.