Documentation Menu

Uploading + variants

Upload via UI or API, then resize via URL params.

Upload via dashboard

/tools/cloud-imagesUpload. Drag-drop multiple files. Each gets an ID and a base URL.

Upload via API

curl -X POST https://images.suzko.net/v1/upload \
  -H "Authorization: Bearer <your-api-token>" \
  -F "file=@local.jpg"

Response:

{
  "id": "abc123",
  "url": "https://images.suzko.net/abc123/original.jpg"
}

The id is what you reference in URLs.

Requesting variants

Variants are URL-encoded transformations applied on-demand:

https://images.suzko.net/abc123/<variant>

Built-in variants:

  • original — as-uploaded
  • w200, w400, w800, w1200, w2000 — width-fit
  • h200, h400, etc. — height-fit
  • square200, square400, square800 — center-cropped square
  • thumb — 150x150 thumbnail

Format auto-negotiation:

  • Modern browsers (Chrome, Edge, Safari ≥14, Firefox ≥93) get AVIF.
  • Slightly older browsers get WebP.
  • Anything else gets JPEG/PNG matching the original.

Custom transformations

For one-off transforms beyond the built-in variants:

https://images.suzko.net/abc123/w=600,h=400,fit=cover,quality=80

Supported keys:

  • w / h — width / height
  • fitcover, contain, crop, scale-down
  • quality — 1–100
  • format — force webp, avif, jpeg, png
  • blur — 1–250
  • sharpen — 0–10
  • rotate — 90, 180, 270

Custom variants

Define your own (e.g. hero = w=1600, h=600, fit=cover):

Image Zone → Variants → New variant. Then use it by name in URLs: https://images.suzko.net/abc123/hero.

Image listing

Dashboard shows every uploaded image with usage stats (how many requests in the last 7/30 days, last access). Useful for cleanup.

Deleting

Delete on an image removes it from the CDN immediately. Cached edge copies expire over the next hour. Don't delete things you've embedded in published content unless you're sure.