Pricing · never metered

A fixed price per month. No meter running.

The offers differ only in storage, bandwidth and price: everything else is included in each of them. Uploads, deliveries and traffic are never counted to bill you.

Prices with VAT, known in advance No payment on the site Your media always served

Starter

€5.99incl. VAT per month

Including VAT (20%): €1.00, so €4.99 excl. VAT.

Storage
150 GB
Bandwidth
150 GB per month

Beyond it: never billed, never cut off.

Get started

You start on DEV, then request Starter from your customer space: an operator activates it. No payment on the site.

Included in every offer

  • Images compressed on upload, final URL in the response
  • Video and audio re-encoded in place, same URL
  • A permanent URL for every file
  • Scoped API keys, members and permissions
  • Versioned server assets, outside storage
  • Live statistics and alerts
The full comparison

Pro

€15.99incl. VAT per month

Including VAT (20%): €2.66, so €13.33 excl. VAT.

Storage
1 TB
Bandwidth
1 TB per month

Beyond it: never billed, never cut off.

Get started

You start on DEV, then request Pro from your customer space: an operator activates it. No payment on the site.

Included in every offer

  • Images compressed on upload, final URL in the response
  • Video and audio re-encoded in place, same URL
  • A permanent URL for every file
  • Scoped API keys, members and permissions
  • Versioned server assets, outside storage
  • Live statistics and alerts
The full comparison

Ultimate

€39.99incl. VAT per month

Including VAT (20%): €6.66, so €33.33 excl. VAT.

Storage
3 TB
Bandwidth
3 TB per month

Beyond it: never billed, never cut off.

Get started

You start on DEV, then request Ultimate from your customer space: an operator activates it. No payment on the site.

Included in every offer

  • Images compressed on upload, final URL in the response
  • Video and audio re-encoded in place, same URL
  • A permanent URL for every file
  • Scoped API keys, members and permissions
  • Versioned server assets, outside storage
  • Live statistics and alerts
The full comparison

No offer bills per upload, per delivery or per GB of traffic, and none ever will.

Your own FTP or FTPS server: on request, on any offer. It is a technical setting, not an offer, and storage then has no ceiling on our side.

Unit prices, in every offer

The meters we will not install. No offer has them.

Per upload

€0

Screenshots, clips or voice notes, whatever the month brings.

Per delivery

€0

A file opened ten thousand times costs as much as one opened once.

Per GB of traffic

€0

Past the included bandwidth: never a bill, never a cut-off.

Per transcode

€0

Video and audio shrink in place, at no extra cost.

Per API request

€0

A pace, not a meter: 120 requests per minute per key, by default.

Comparison

Price, storage, bandwidth. Everything else is identical.

Included in every offer On request enabled by an operator, on any offer
37 lines

Swipe the table to see every offer.

Comparison of the offers
What an offer includes DEV€0 per month Starter€5.99 per month Pro€15.99 per month Ultimate€39.99 per month
The offer· 5
Price per monthVAT included, 20% VAT €5.99 €15.99 €39.99
Price excluding VATThe price with VAT, minus the VAT €4.99 €13.33 €33.33
StorageWhat bounds your uploads, in decimal GB and TB 150 GB 1 TB 3 TB
Bandwidth per monthReset on the 1st of every month 150 GB 1 TB 3 TB
Beyond the bandwidthAlerts at 80 and 100%, once this instance measures traffic Never billed, never cut off Never billed, never cut off Never billed, never cut off
Upload· 9
ImagesJPG, PNG, WEBP, GIF, AVIF, BMP, TIFF · SVG always refused Included Included Included
Video re-encodingIn place, same URL Included Included Included
Audio re-encodingIn place, same URL Included Included Included
Maximum size per fileImage · video · audio 32 MB · 512 MB · 64 MB 32 MB · 512 MB · 64 MB 32 MB · 512 MB · 64 MB
Compression on uploadWebP quality 82 by default, final URL in the response Included Included Included
Compatible routesv3, v2, legacy API and LBUpload, same responses Included Included Included
DeduplicationAn identical file is stored and counted once Included Included Included
Versioned server assetsStable URL, outside storage, never purged by retention Included Included Included
Rate limitPer key, by default, adjustable key by key 120 req./min 120 req./min 120 req./min
Delivery· 5
Permanent linkImmutable cache for a year Included Included Included
Delivery kept when storage is fullOnly new uploads stop Included Included Included
Delivery kept beyond the bandwidthNever a cut-off Included Included Included
Your FTP or FTPS serverNo storage ceiling on our side On request On request On request
Custom domainBeing rolled out On request On request On request
Team· 5
Members and invitationsInvitation link valid for 14 days Included Included Included
Fine-grained permissions13 permissions, granted one by one Included Included Included
Scoped API keys7 scopes, never more than their author's rights Included Included Included
Allowed addresses per keyOthers receive ip_not_allowed Included Included Included
Activity logWhat changed, and who changed it Included Included Included
Analytics· 5
Live customer spaceNew uploads and alerts in real time Included Included Included
Analysis periodsHourly up to 7 days, daily beyond 24 h to 90 days 24 h to 90 days 24 h to 90 days
Fill forecastDrawn over the last 28 nights Included Included Included
Bandwidth of the month"Not measured" when the measurement is missing, never 0 Included Included Included
Usage APIGET /api/v1/usage, hourly series Included Included Included
Security· 5
EXIF and GPS location removedBy default, on encoding Included Included Included
Player images re-encodedSVG always refused, and by default a booby-trapped file does not survive it Included Included Included
Keys never stored in clearsha256 fingerprint, key shown only once Included Included Included
Recycle binNothing is deleted by default, 7-day recycle bin Included Included Included
Protected accounts12 characters minimum, leaked passwords refused Included Included Included
Support· 3
Documentation and OpenAPIPublic, written in English Included Included Included
One page per error code34 codes, each with its cause and its fix Included Included Included
Public statusA page and GET /api/v1/status, for your probes Included Included Included

The limits shown are this instance's today, read from its configuration. "On request": an operator enables it for your organisation, whatever its offer.

Why a fixed price?

Traffic goes up. The bill does not.

Aperture was born when a host moved to metered billing. Here, the price of an offer does not move with your players: uploads, deliveries and traffic never run on a meter.

AGAperture GameA month on Starter Example
Cumulative deliveries Metered billing
61,870 deliveries €0
Uploads received4,002€0
Deliveries61,870€0
Bandwidth121%: media still served, nothing billed181.5 GB of 150 GB€0
Storage93 GB of 150 GBincluded
Metered billing€0
Price of Starter, VAT included€5.99
01

What costs is the disk and the network

An offer sets the included space and bandwidth, and its price follows from them. Nothing else is paid for: not the upload, not the delivery, not the transcoding.

02

Never a bill, never a cut-off

Past the month's bandwidth, your media keep being served: nothing is billed or cut off. Alerts at 80 and 100% will start once this instance measures traffic.

03

A rule, not a promotion

No feature may bring back metered billing. It is the founding rule of the project, and the reason it exists.

Storage

When storage fills up. Your links stay online.

Pick a threshold: here is what your customer space and your scripts see.

The refusal at 100% cannot be adjusted: a full disk would stop the database of the whole platform. Server assets do not count towards storage.

Storage · Aperture Game Example
Managed storage62%
93 GB of 150 GB
Customer space

Nothing to report

Forecast drawn over the last 28 nights.

API response to an upload
# Upload accepted. Headers returned to your script:
X-Quota-Limit: 150000000000
X-Quota-Used: 93000000000
X-Quota-Remaining: 57000000000
Delivery of the files already online Normal
Managed storage80%
120 GB of 150 GB Filling up
Customer space

Aperture Game crossed 80% of its storage

120 GB of 150 GB. This alert does not come back until the threshold is crossed again.

just now
API response to an upload
# Upload accepted. Headers returned to your script:
X-Quota-Limit: 150000000000
X-Quota-Used: 120000000000
X-Quota-Remaining: 30000000000
Delivery of the files already online Normal
Managed storage90%
135 GB of 150 GB Nearly full
Customer space

Aperture Game crossed 90% of its storage

135 GB of 150 GB. This alert does not come back until the threshold is crossed again.

just now
API response to an upload
# Upload accepted. Headers returned to your script:
X-Quota-Limit: 150000000000
X-Quota-Used: 135000000000
X-Quota-Remaining: 15000000000
Delivery of the files already online Normal
Managed storage100%
150 GB of 150 GB Full
Customer space

Storage full: new uploads are refused

Delete media, set up retention or request a bigger offer.

just now
API response to an upload
# HTTP 413: upload refused, nothing is written
{
  "status": "error",
  "error": {
    "code": "quota_exceeded",
    "message": "Storage quota reached for this organization.",
    "details": {
      "limit_bytes": 150000000000,
      "used_bytes": 150000000000,
      "required_bytes": 412000
    },
    "docs": "https://aperture-app.preview.moncompanion.cloud/docs/errors/quota_exceeded"
  },
  "meta": {
    "request_id": "01K2R7M8QF3V9XZ4B6NCDT0YAH"
  }
}
Delivery of the files already online Normal
Questions

Storage and bandwidth, no small print. Short answers.

New uploads are refused with the code quota_exceeded (HTTP 413), before anything is written. Everything already online keeps being served: delivery never stops.

Yes, at 80, 90 and 100% of your storage, the first time each threshold is crossed. The alert arrives live in your customer space, and every upload returns the X-Quota-Used and X-Quota-Remaining headers so your scripts can plan ahead. E-mail alerts are not active yet.

Your media keep being served: nothing is billed, nothing is cut off. This instance does not measure traffic yet: your customer space says "not measured", never 0, and alerts at 80 and 100% of the included bandwidth will start once it does. The counter starts again from zero on the 1st of every month, at midnight (Europe/Paris time zone).

The bytes stored after compression, in decimal GB (1 GB is a billion bytes). An identical file uploaded twice is counted once. A kept original counts on top of its compressed version. Server assets, the organisation's logo and the compression test bench stay outside storage. The counter is recomputed every night.

Request it from your customer space. Payment is settled outside the site, then an operator accepts the request and your organisation moves to the new offer. There is no online payment.

Delete media: they go to the recycle bin, and the file is erased after 7 days. Turn on a retention rule, by age or after a period without requests. Tighten compression (WebP quality 82 by default). Or request a bigger offer.

No. No feature will bring back metered billing: an offer has a fixed price per month, and that is all.

Yes, on request and on any offer: it is a technical setting, not an offer. Your files then live on your server, storage has no ceiling on our side, and the quota headers return unlimited.

A special case?

The guides cover storage, quota and every error code.

Read the guides
Get started

The price stays fixed. Your server can grow.

Create your organisation, generate a key, paste the URL into lb-phone or screenshot-basic. The first upload shows up live.

No payment on the site · v3, v2, legacy API and LBUpload compatible routes