For immediate release · October 1, 2026
The world’s best image compression API is now live.
Smol API returns the smallest images at the highest quality, in one HTTPS request. It is the engine behind the Smol Mac app, opened to every product that handles pictures: nothing stored on direct requests, nothing charged when a file can’t be made smaller, and one cent per image.
curl -X POST "https://api.smolmac.com/v1/compress" \
-H "Authorization: Bearer $SMOL_API_KEY" \
--data-binary @photo.jpg -o photo.min.jpgSmol today opened the Smol API, a hosted compression API that runs the same engine as the Smol Mac app. One HTTPS request compresses, converts or strips metadata from an image and returns the smallest file Smol can make at the quality asked for. It is live now at api.smolmac.com, with paid plans open and the full documentation published.
The Mac app earned its reputation on a narrow promise: a far smaller file that still looks right, without a settings panel to study first. Until today that engine only ran where a person could drag a file onto it. The API puts it behind upload forms, content pipelines, build steps and storefronts, anywhere an image is created by software and paid for in bandwidth.
It is the same engine in the literal sense. The API runs the same encoders at the same versions with the same settings, and Smol checked that claim file by file before launch: of 182 file-and-setting combinations run through both, 142 outputs match the Mac app, most of them byte for byte, 36 differ on purpose where the API fixes how rotation, colour or transparency is handled, and in 4 the app could not process the file while the API could. 0 differ without an explanation.
“An image API should do one thing a developer never has to think about again: hand back the smallest file that still looks right. If we can’t make your file smaller, you get it back and you don’t pay.”
Images are the centre of the launch, but the API covers everything the app’s Classic engine does: PDFs, audio, Word, Excel and PowerPoint files, tables and fonts. Pricing is per file, plans start at $20 a month with every dollar of it usable, and a test key runs the real engine on published sample files at no cost.
Measured, not estimated
What it does to a file.
These are byte counts from Smol’s own test files, sent to the compress endpoint at its default settings with no tuning per file. The same runs produced the same bytes in the Mac app.
| File | Request | Before | After | Smaller by |
|---|---|---|---|---|
| photo-food.jpg | compress | 1,614,027 | 371,580 | 77.0% |
| photo-desk.jpg | compress | 872,266 | 80,070 | 90.8% |
| photo-portrait.jpg | compress | 805,676 | 257,058 | 68.1% |
| photo-interior.jpg | compress | 749,008 | 237,061 | 68.4% |
| photo.png | compress | 2,062,684 | 801,973 | 61.1% |
| photo.png | compress to avif | 2,062,684 | 211,685 | 89.7% |
| photo.png | compress to webp | 2,062,684 | 142,336 | 93.1% |
| alpha-cutout.png | compress | 962,424 | 166,552 | 82.7% |
| alpha-cutout.png | compress to avif | 962,424 | 87,320 | 90.9% |
| alpha-cutout.png | compress to webp | 962,424 | 47,764 | 95.0% |
| artwork.png | compress | 47,769 | 21,042 | 56.0% |
| artwork.png | compress to avif | 47,769 | 5,117 | 89.3% |
Sizes are in bytes. The default settings are quality 75 and a fit inside 2000 × 2000 pixels; the four JPEG photos were larger than that, so they were resized as well as recompressed. Your files will differ: a file that is already well optimised may not shrink at all, and then the request costs nothing.
Three operations
Compress, convert, strip metadata.
Send any supported file and the API works out what it is from its contents, not its name. Text formats such as CSV and JSON need a file name.
POST /v1/compress
Compress
Make a file smaller, in its own format or a more efficient one: ask for AVIF or WebP output and a PNG photo shrinks the most. One quality number from 0 to 100 works across every image format, with 75 as the default. Resize in the same request.
POST /v1/convert
Convert
Change the format at high quality: a HEIC photo to JPEG, a font to WOFF2, a Word file to PDF (as a job). Convert aims to keep quality. For the smallest image, use compress and name the output format.
POST /v1/strip-metadata
Strip metadata
Remove camera, location, author and software details without touching a pixel. Rotation and colour stay correct. PDFs are rewritten, so removed data cannot be recovered.
curl -X POST "https://api.smolmac.com/v1/compress?image.format=avif" \
-H "Authorization: Bearer $SMOL_API_KEY" \
--data-binary @photo.png -o photo.avifWhat happens to your files
Make files smaller. Keep nothing.
A compressor has to read a file to shrink it, so the promise is not that Smol cannot see it. The promise is how briefly it exists on Smol’s side, and that you can check.
A direct request stores nothing: the file streams in, the result streams out, and no copy is written to storage. Larger files run as jobs. A job deletes its input as soon as it finishes and keeps the result for one hour by default, adjustable from one minute to 24 hours, then deletes that too.
A job can return a receipt signed with Ed25519 that records what was done and when the files were deleted. The public keys are published, so the signature can be verified without trusting Smol’s word for it. The developer pages, docs and dashboard load no advertising or analytics scripts.
Beyond images
Everything the app’s Classic engine does, as an endpoint.
| Kind | Reads | Writes | What you can do |
|---|---|---|---|
| Images | jpg · png · webp · avif · heic · gif · tiff · bmp · raw | jpg · png · webp · avif · gif | Compress, convert, resize, strip metadata |
| PDFs | pdf · png · jpg | Five presets from email-sized to print; render a page; strip metadata | |
| Audio | mp3 · aac · m4a · wav · flac · ogg · opus · wma | aac · m4a · mp3 · ogg · opus · wav · flac · alac | Five bitrate tiers, or name the bitrate |
| Documents | docx · xlsx · pptx · odt · ods · odp · rtf | pdf and office formats | Convert between office formats and to PDF |
| Tables and fonts | csv · tsv · json · ndjson · md · html · ttf · otf · woff · woff2 | the same, plus xlsx for tables | Convert between table formats and font containers |
| Video | mp4 · mov · webm · mkv | mp4 · mov · webm · mkv | Limited preview, enabled per account |
Built for production
- Direct requests up to 25 MB
- The file goes in the request body and the result comes back in the response. Nothing is written to storage.
- Jobs for large files
- Upload up to 5 GB depending on plan, run the work as a job, and collect the result from a signed link or have it written to your own storage.
- Signed receipts
- Every job can return a receipt signed with Ed25519 that states what was done and when the files were deleted. The public keys are published, so you can verify it yourself.
- Webhooks
- Job events are delivered to your endpoint with an HMAC signature. Endpoints can be paused, tested and have their secret rotated from the dashboard.
- Idempotency keys
- Send an Idempotency-Key when you create a job, and a retry within 24 hours returns the first job instead of starting, and billing, a second one.
- Presets and estimates
- Save a set of options under a name, and ask what a request will cost before you send it.
- A spend cap you set
- Choose a monthly limit in the dashboard. Requests stop when it is reached, and you get an email at 50, 80 and 100 percent.
- Test keys on real files
- A test key runs the real engine on sixteen published sample files at no cost, so an integration can be built and checked before any money moves.
- An OpenAPI 3.1 description
- The full API is described in a machine-readable file at /v1/openapi.json, checked against the API’s router by a test.
- No ad scripts on developer pages
- The developer pages, the docs and the dashboard load no advertising or analytics scripts, and no page view is sent to an ad platform.
Pricing
One cent per image. Nothing when it can’t help.
You pay for files the API made smaller or converted. Plans start at $20 a month, and all of it counts towards your usage; the larger plans include more usage than they cost.
- Images
- $0.01 each for the first 10,000 in a month, then $0.0022 each
- PDFs
- $0.04 per 100 pages
- Documents
- $0.04 each
- Audio
- $0.005 per minute
- Tables and fonts
- $0.005 per file
- A compress request that cannot make the file smaller
- Free. You get the original back.
- A request that fails
- Free.
- Anything sent with a test key
- Free.
Pay as you go
$20 a month
Includes $20 of usage each month.
5 requests a second · 3 jobs at once · files up to 500 MB
Starter
$49 a month
Includes $55 of usage each month.
20 requests a second · 10 jobs at once · files up to 2 GB
Growth
$199 a month
Includes $240 of usage each month.
50 requests a second · 30 jobs at once · files up to 5 GB
Scale
$799 a month
Includes $1,040 of usage each month.
150 requests a second · 100 jobs at once · files up to 5 GB
Start
From nothing to a smaller file.
- STEP 01
Create a developer account
Sign in at smolmac.com/dashboard with your email address. An existing Smol account works. No card is needed to get a test key.
- STEP 02
Make a test key and send a sample file
Create a test key in the dashboard and send one of the published sample files to POST /v1/compress. Test requests run the real engine and cost nothing.
- STEP 03
Choose pay as you go or a plan
Add a card in the dashboard. Pay as you go is $20 a month, all of it usable; Starter, Growth and Scale include more usage than they cost and raise the limits.
- STEP 04
Switch to a live key
Create a live key, set a spend cap if you want one, and send your own files. Usage appears in the dashboard and on GET /v1/usage.
The docs cover it step by step: quickstart, compressing images, converting files, large files and the API reference.
Honest limits
What to know before you build on it.
The headline claim is ours
We believe this is the best image compression API available. We have not yet published a head-to-head benchmark against other services, and the sizes on this page are from our own test files at default settings. Test keys are free: run your own images and judge the result.
There is no free tier
Test keys work on our sample files only. Your own files need a card on file. A compress request that cannot make the file smaller, and any request that fails, costs nothing.
Your file leaves your machine
The Mac app processes everything locally. An API cannot. What we promise instead is how briefly a file exists on our side, and a signed receipt you can check. If a file must never leave your Mac, use the app.
Neural compression is not in the API
The API runs the app’s Classic engine. Neural compression, which analyses each image with a machine-learning model on your Mac, remains an app feature.
Video and HEIC output are in limited preview
Video compression is enabled per account while we finish licensing, and HEIC output is enabled by support on request. HEIC input works for everyone.
Already-optimised files may not shrink
If a compress request would produce a larger file, the API tries once more at a stronger setting for most formats, and otherwise returns your original, marked as kept and not billed. Convert and strip-metadata requests always return their output and are billed.
Available now
Live at api.smolmac.com.
The Smol API is open to everyone today. Sign in with an email address, test on the sample files for free, and add a card when you are ready to send your own.
Questions
The Smol API, answered.
What is the Smol API?
The Smol API is a hosted HTTPS API that compresses, converts and strips metadata from files using the same engine as the Smol Mac app. It handles images, PDFs, audio, office documents, tables and fonts, and it is live at api.smolmac.com.
How do I compress an image with the Smol API?
Send the image as the body of a POST request to https://api.smolmac.com/v1/compress with your API key in the Authorization header. The compressed image comes back in the response. Files up to 25 MB can be sent this way; larger files are uploaded and run as jobs.
Which image formats does the Smol API support?
It reads JPEG, PNG, WebP, AVIF, HEIC, GIF, TIFF, BMP and camera raw files, and writes JPEG, PNG, WebP, AVIF and GIF. HEIC output is in limited preview.
How much does the Smol API cost?
Images cost $0.01 each for the first 10,000 in a month and $0.0022 each after that. Plans start at $20 a month, all of which counts towards your usage, and the larger plans include more usage than they cost. There is no free tier, but test keys are free on our sample files.
Am I charged if a file cannot be made smaller?
No. If a compress request cannot produce a smaller file, and you did not ask for a different format or size, you get your original back and the request is not billed. Failed requests are not billed either.
Does the Smol API keep my files?
A direct request stores nothing: the file streams through and is gone. A job deletes its input as soon as it finishes and keeps the result for one hour by default, adjustable from one minute to 24 hours. It can give you a signed receipt that records the deletion.
Is the output the same as the Smol Mac app?
Yes, by design. We ran 182 file-and-setting combinations through both. 142 outputs match the app, most of them byte for byte, 36 differ on purpose where the API fixes rotation, colour or transparency handling, and in 4 the app could not process the file (an animated GIF) while the API could. None differ without an explanation.
Does the API include Smol’s Neural compression?
No. The API runs the Classic engine. Neural compression remains a feature of the Mac app.
Is there an SDK?
There is a TypeScript package with a command-line tool and a Python package. Both wrap the same HTTPS API, which can also be called directly with curl or any HTTP client. The docs cover all three.
Where is the documentation?
At smolmac.com/docs: a quickstart, guides for images, PDFs, audio, large files, webhooks and receipts, and a reference page for every endpoint, option and error.
About
About Smol
Smol makes powerful file compression simple. The Smol Mac app combines professional encoders and ML-guided image analysis with a drag-and-drop interface, processes every file locally, and is a one-time $29 purchase. The Smol API brings the app’s Classic engine to developers as a hosted service, priced per file.
Media contact
Press and partnerships
For interviews, product information, API access for review, or partnership inquiries, contact [email protected].
Previous release: Smol 1.0.35 adds Google Antigravity support