Pricing
Billing is per unique transformation — one derivative of one image, once per month. Two million cache hits on the same derivative is one billable unit.
What each plan includes
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| Projects | 1 | 5 | 25 | Custom |
| Origins | 1 | 5 | 25 | Custom |
| Monthly unique transformations | 500 | 10,000 | 50,000 | Custom |
| Team members | 1 | 5 | 25 | Custom |
| Analytics retention (days) | 7 | 30 | 90 | 365 |
| WebP | Yes | Yes | Yes | Yes |
| AVIF | No | Yes | Yes | Yes |
| Custom presets | No | Yes | Yes | Yes |
| Custom domain | No | Yes | Yes | Yes |
| Webhooks | No | Yes | Yes | Yes |
| Audit log | No | No | Yes | Yes |
| SSO / SCIM | No | No | No | Yes |
What happens when you hit a limit
- You are warned at 80% of your monthly allowance, in the dashboard and by email.
- At 100%, optimization degrades: we serve your original images instead of derivatives. Your site keeps working, it just stops getting smaller.
- Account access is never suspended for exceeding a usage allowance.
- The decision is recorded and shown in the dashboard, so you can see exactly when it started.
We do not silently return broken images, and we do not auto-upgrade you to a paid plan. Both are common and both are hostile.
Honest notes on these numbers
- These are launch prices for a product in its first release. They may change; existing customers get notice before any increase applies to them.
- We do not currently charge for bandwidth. If that changes it will be announced, not introduced quietly on an invoice.
- Usage shown in the dashboard comes from a durable ledger, not from sampled analytics. A period is marked provisional until it has been reconciled.