The image compression API

An image compression API shrinks and converts images from your code. Three endpoints: ask for AVIF under an exact byte cap and get it, or a named error.

  • AVIF-first
  • Exact byte caps
  • HTTPS + JSON, no SDK

500 credits free every month · purchased credits never expire

# 1 · an upload slot; PUT the file to the url it returns
curl -X POST https://api.blinkimg.com/v1/uploads \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d "{\"filename\": \"photo.jpg\",
       \"contentLength\": $(wc -c < photo.jpg)}"
curl -X PUT --upload-file photo.jpg "$UPLOAD_URL"
# 2 · the job: AVIF, guaranteed under 100 KB
curl -X POST https://api.blinkimg.com/v1/jobs \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"uploadId": "UPLOAD_ID",
       "options": {"format": "avif", "targetBytes": 100000}}'
# 3 · once GET /v1/jobs/JOB_ID says "succeeded"
curl https://api.blinkimg.com/v1/jobs/JOB_ID/result \
  -H "Authorization: Bearer $KEY"
Live

This page is the API’s first customer

Drop a file and watch the same endpoints your key would call.

Output format
– / –

Drop images or browse

JPEG · PNG · WEBP · AVIF · HEIC · up to 50 at once · max 30 MB each

Advanced settings
SmallerAutoBetter

Auto tunes each image.

A hard cap for the number your form demands.

A floor for forms that refuse small files.

Max resolution

Empty side keeps the ratio. Never enlarges.

Response this page just received

Waiting for a file

Drop a file into the tool. The job it creates lands here, exactly as the API returns it: the options you picked, the bytes in and out, the status.

Same endpoint, same job options, same engine.Nothing on this page is a mock.

The whole surface

Three endpoints. That is the integration.

Plain HTTPS and JSON. No SDK to install, no client library to keep current. The OpenAPI 3.1 description lists every field.

  • POST/v1/uploadsAn upload slot: a signed URL to PUT the bytes to.
  • POST/v1/jobsThe job: format, quality or a byte cap, resize, metadata. GET it back until it has succeeded.
  • GET/v1/jobs/{id}/resultA signed link to the finished file, or a named error.
  • Options that map to real controls

    format, quality (or content-aware auto), targetBytes (exclusive with quality: a byte budget is a quality decision), minBytes for a form’s floor, resize bounds that never enlarge, and stripMetadata.

  • Batches, ZIP and PDF

    /v1/batches groups jobs, /zip archives the results with filenames kept, and /pdf assembles images into one A4 document. They are the flows the site’s own batch tool runs.

  • Deterministic failure

    An impossible targetBytes or minBytes fails with a named error, never a silently overweight or underweight file. It is the same guarantee pages like compress image to 50 KB make to people.

For AI assistants

The same API as an MCP server

Claude, ChatGPT and coding agents call it as tools at https://api.blinkimg.com/mcp, over Streamable HTTP, on the same credits as these endpoints.

  • Connect with one click

    Apps with MCP sign-in, Claude and ChatGPT among them, take the address. You sign in on blinkimg.com once and allow the app. No key to paste.

  • Or send your key

    Developer tools send Authorization: Bearer bk_... or X-API-Key: bk_..., the same key these endpoints take.

  • 6 tools, one balance

    • upload_image
    • compress_image
    • convert_image
    • get_job
    • analyze_page
    • get_quota

    Set up the MCP server in Claude, ChatGPT, Cursor or VS Code: every client’s setup, the example prompts and what each tool costs.

Pricing

Priced against the incumbent’s real published schedule

The incumbent column prices the same volume on its full published schedule (500 free, $0.009/image to 10,000, $0.002 above), checked on its live calculator. Same free tier, cheaper at every paid volume.

VolumeBlinkimgThe incumbentDifference
Free tier credits500 every month500 every monthequal
5,000 images$15~$40.502.7× more there
25,000 images$59~$115.502.0× more there
100,000 images$199~$265.501.3× more there
1 credit
compresses one image, whatever it weighs; converting takes 2
500 free
every month, reset on the 1st; plan credits roll over
Never expires
purchased credits carry over
One balance
covers the web tool and the API
1 price per original
an attachment makes every size and format of one image; thumbnails cost nothing

Competitor figures from their live calculator, checked on 3 September 2026. See TinyPNG vs Blinkimg side by side. Also measured: the iLoveIMG alternative and the compressjpeg.com alternative.

Measured, not estimated

The same numbers the rest of this site publishes

One 576.8 KB source photo, encoded by the engine your key would call.

SourceThe source photo, photo.jpgphoto.jpg · 576.8 KB
  • AVIF (auto)Smallest123.9 KB−78.5%
  • JPEG (auto)273.9 KB−52.5%
  • JPEG under a 100 KB cap99.7 KBguaranteed fit

Every byte count is the size of the actual file our engine produced from the named source, the same bytes you would download, not an estimate. The reference photo is one of our own photographs, an iguana on a branch, and the camera photo is a real one too. Drop your own file into the tool above to rerun any of them. How we measure names the sources and the settings.

Be sure first

When this image API is the wrong choice

Two cases where another kind of tool serves you better.

  • You need a full media CDN

    This is a processing API, not a delivery network. Pair it with any CDN, but transformation-at-edge products are a different category.

  • Video, or RAW files

    Images only, by design: JPEG, PNG, WebP, AVIF, HEIC. Depth over breadth is the whole bet.

Still the right fit? Take the key.

500 credits a month, no card. The code at the top works the moment the key exists.

Everything else

Seven questions we actually get

What it does, what it costs and which formats it takes are answered above, not hidden in an accordion.

Is the API live right now?

Yes. The tool at the top of this page calls the same public endpoints your key would, with a rate limit on top. If this page works, the API works, and the whole Blinkimg site runs on it.

What happens to files I send through it?

We process your files and wipe them automatically: we keep nothing, never archive, and never train on anything. The API shares this policy with the tool because it is the same pipeline. We strip EXIF and GPS from outputs unless your job says otherwise. Privacy is pipeline behaviour, not a plan tier.

Can it hit an exact file size?

Yes. Pass targetBytes and the engine guarantees the output at or under it. We find that option in no major image API's published docs (September 2026). It binary-searches quality, shrinks dimensions only under extreme caps, and returns a named error if the budget is truly impossible. "Every hero under 80 KB" becomes one parameter.

Are there SDKs, or just HTTP?

Just HTTP, and we won’t pretend otherwise. The API is deliberately plain HTTPS and JSON with an OpenAPI 3.1 description. Every language’s standard HTTP client already works: the cURL, Node and Python at the top of this page are the whole integration.

Is it an image manipulation API or an image editing API?

An image manipulation API, not an editing one. A job resizes within bounds and never enlarges. It converts to JPEG, PNG, WebP or AVIF, sets a quality or a byte cap, and strips metadata. A batch can come back as one ZIP or one PDF. Crop, rotate, flip and filters are not in the API: the site’s editor does those in your browser.

How is it different from browser-image-compression or ngx-image-compress?

Both are JavaScript libraries that re-encode an image inside the visitor’s browser, on a canvas. This API encodes on our servers, with the engine this whole site runs. It reads HEIC, writes AVIF, and meets a targetBytes cap or fails with a named error. It works from any language, not only a web page. Keep a browser library when a file must never leave the device.

What are the rate limits?

We shape keyed requests at 120 writes a minute, with generous read rates for polling. That keeps a 50-job batch saturated. Credits are the real meter: the month's free allowance, the plan's credits and any packs you buy, drawn from one balance.

Page updated

Guides

The longer answers, with the same measured numbers, on the blog.

What people say

Every rating counts in the average, low ones too. We remove only spam, abuse and fakes.

Average rating

5.0

15 ratings, 6 written

  • 515
  • 40
  • 30
  • 20
  • 10

How did it go?

One tap. No account needed.

Filter:

Written reviews