Skip to content
Fotolane

Upload once, request any shape

Fotolane stores the original and renders every variant on demand. Size, crop, quality and format live in the URL: no build step, no asset pipeline, no second copy to keep in sync.

Read the docs See pricing

Tallinn Old Town under snow: church spires and red-roofed towers above the rooftops
The original: 5779 × 3858 px, 10.9 MB. Photograph by Ilya Orehov.
Tallinn Old Town under snow, as delivered

1280 × 1280 px, 152 KB

Delivered as image/avif, 1.4% of the original file.

GET /<id>/w_1280,ar_1:1,fit_cover,q_78.avif

Photograph
Width
Aspect
Fit
Quality
Format

The byte counts are measured, not estimated: every combination here was encoded once from the photograph.

What the address controls

Size and crop

w, h, ar and fit are read from the path. fit_cover crops to the box, fit_contain fits inside it, fit_pad fits and fills the rest. Unknown parameters are ignored rather than served as an error, so a typo never blanks a page.

Format and quality

The extension picks the encoder: .avif, .webp, .jpg or .png. q means the same thing in each of them, so switching format changes the bytes and not the look. Leave the extension off to get the original back, untouched.

One original

You keep one file per image and nothing else. A variant is rendered the first time someone asks for it and cached at the edge; one that goes 60 days without a request is dropped and rendered again on demand.

How an image travels

  1. You upload it once

    One endpoint takes whole files up to 64 MB, and resumable chunks for anything larger, up to 5 GB per object.
  2. The original stays in Tallinn

    It is written once and kept until you delete it.
  3. A page asks for a shape

    The first request for a variant renders it from the original.
  4. The edge keeps the result

    After that the origin is not touched again until the cache expires.
  5. Large files arrive in segments

    Originals and gallery prefetches stream as ordered segments, so a slow connection starts rendering early and picks up after a drop.

Two edge networks, one origin

Every project is reachable through two independent edge networks, with the same origin in Tallinn behind both. An outage at one partner is something our components route around.

Uploads go in through img.vikmen.run. Delivery sessions run on cdn.vikmen.run. Segments addressed by query are answered on either, and the upload and gallery components keep a session open on each. How the two hosts divide the work

Your
visitors

img.vikmen.run uploads, segments by query

cdn.vikmen.run delivery sessions, segments by query

Origin,
Tallinn