Images Agents Pricing Docs Blog View as Markdown (Agent) Get started
Human Agent

Image hosting that
scales with your SaaS.

User avatars, screenshots, file attachments — handle it all with a simple API. No egress fees means your costs don't spike when your product takes off.

Get started
App avatars, screenshots and attachments flowing through a vault to a global edge network while traffic rises and cost stays flat

Zero egress fees

Your image serving costs stay flat no matter how popular your product gets. No bandwidth penalties, no surprise bills.

Scoped, revocable keys

Label and revoke API keys individually, and use upload-only keys with allowed origins in the browser. Use different keys for staging and production.

Global CDN

Images served from edge locations worldwide. Fast load times for your users no matter where they are.

Simple integration

One API call to upload, one CDN URL back. Drop it into any backend — Node, Python, Go, Ruby, whatever you're running.

Predictable pricing

Flat monthly pricing with generous limits. Start free, upgrade when you need more. No credit-based billing.

Built for developers

Clean REST API, proper error codes, pagination, OpenAPI spec. Everything you'd expect from a modern API.

On-the-fly transforms

Resize and crop avatars, thumbnails, and previews with URL params — ?w=400&fit=cover. No image pipeline to build; WebP/AVIF conversion included.

EU data residency

Your users' images and metadata are stored at rest in the EU — Cloudflare R2 (EU) plus an EU-region Postgres database. GDPR-friendly by default, with cookieless analytics and no consent banner.

Recipes that work today

Replace the path with your own image. Each variant is generated on the first request, then cached at the edge for a year.

Avatars

Square crops sized for your UI, converted to WebP. Use gravity=face instead of auto to center on faces in portrait photos.

.../img_abc123.jpg?w=128&h=128&fit=cover&gravity=auto&fmt=webp

In our test, a 128 px WebP avatar was 3.3 KB.

Previews at fixed sizes

Three named sizes, so your UI doesn't hard-code pixel widths.

.../img_abc123.jpg?size=s
.../img_abc123.jpg?size=m
.../img_abc123.jpg?size=l

s is 256 px wide, m 640 px, l 1280 px.

Uploads that clean up after themselves

Set a time-to-live and the image is deleted automatically. Good for previews, drafts and temporary exports.

{"url": "https://example.com/draft.png", "expires_in": 3600}

From 60 seconds to 30 days. Sent to POST /v1/images with an API key.

Start hosting images in 30 seconds

Free tier: 200 MB storage, 500 uploads/month. No credit card.

Read the quickstart