Documentation menu

Concepts

Billing

What each request costs, what is never billed, how plans and pay as you go work, and worked examples.

Meters and prices

A request is billed when it succeeds and returns a file that is not your original. The price depends on the kind of file. Prices are in US dollars.

MeterApplies toUnitPrice per unit
ImagesCompressing or converting an image. See also "What counts as one image".One file$0.010 for the first 10,000 in a month, then $0.0022
PDFsCompressing a PDFEach started 100 pages$0.04
DocumentsConverting a Word document, spreadsheet or presentationOne file$0.04
AudioCompressing or converting audioEach started minute$0.005
VideoCompressing or converting videoOne video unit$0.0025
FilesConverting a font or a tableOne file$0.005
  • Started means rounded up. A PDF of 101 pages is two units. Audio of 61 seconds is two minutes. The minimum is one unit.
  • The image tiers count every unit on the images meter, across all keys of the account, in one month.
  • The price does not depend on the size of the file in bytes, or on the options you choose, except for video.

Video units

A video is billed in units. The number of units is the started minutes of the video, times a weight for its resolution, times 1.5 if the output codec is H.265 or VP9.

Shorter side of the outputUnits per minute, H.264Price per minute, H.264Units per minute, H.265 or VP9Price per minute, H.265 or VP9
Up to 720 pixels8$0.0212$0.03
Up to 1080 pixels14$0.03521$0.0525
Above 1080 pixels28$0.0742$0.105
  • The resolution is the shorter side of the frame, so a portrait video of 1080 by 1920 counts as 1080.
  • On a compress request it is the resolution of the output. Lowering video.resolution can lower the price.
  • The default codec for compress is H.265. WebM output is always VP9. A convert request writes H.264, or VP9 for WebM.

What is never billed

  • Failed requests. Any response with an error, and any job that ends as failed or canceled.
  • Kept-original results. When a compress request cannot make the file smaller and returns your input, with kept_original: true. See Kept original.
  • Test-mode requests. Everything done with a key starting smol_test_.
  • Requests that process nothing. Creating an upload, sending its content, reading or listing jobs, downloading a result, fetching a receipt, asking for an estimate, reading usage, and managing presets and webhook endpoints.

A result with increased: true is billed. You asked for a conversion or a resize, and it was made, even though the file grew.

What counts as one image

Three things are billed on the images meter although the input is not always an image:

RequestBilled as
A PDF page rendered to PNG or JPEG with convertOne image, whatever the number of pages in the PDF
An image converted to PDFOne image
Metadata removed from an image or a PDF with strip metadataOne image, whatever the number of pages

Plans

Every plan is a monthly fee that comes back as usage: the fee pays for at least its own amount of usage, counted at the prices above. A larger plan includes more usage than it costs and raises your limits.

PlanMonthly feeUsage included each month
Pay as you go$20$20
Starter$49$55
Growth$199$240
Scale$799$1,040
  • Included usage is applied to the usage of the month it was paid for. What is left over does not carry forward.
  • Usage beyond the included amount is billed at the same unit prices.
  • You choose and change plans in the dashboard.

Pay as you go

  • Pay as you go is the smallest plan. It costs $20 a month, charged when you start and then every month.
  • All of the $20 counts towards your usage for that month. Like every plan's included usage, what is left over does not carry forward.
  • Usage beyond the $20 is charged once a month at the unit prices. If that unbilled usage reaches $25 before the month ends, it is charged at that point.

Spend cap

Every account has a monthly spend cap. When the value of the month's usage reaches it, live requests are refused with spend_cap_reached until you raise the cap or the month ends. The default is $100 on pay as you go. See Limits for the defaults on each plan and the exact behaviour.

We email the account's address when the month's usage passes 50%, 80% and 100% of the cap, once for each. If a single large charge passes several at once, you get one email, for the highest.

Emails about your account

These are the only emails the API sends. They are plain text and go to the address you sign in with.

  • A plan became active, a payment failed, or a plan ended.
  • Usage passed 50%, 80% or 100% of the spend cap.
  • A live API key was created. The email shows the key's first and last characters, never the key.
  • The account was suspended because a payment was disputed.

Worked examples

500 photos, 20 of them already small

You compress 500 JPEGs. 480 come back smaller. 20 could not be made smaller and come back with kept_original: true.

arithmetic
480 images × $0.010 = $4.80
 20 kept original   = $0.00
total               = $4.80

25,000 images in one month

arithmetic
first 10,000 images × $0.010  = $100.00
next  15,000 images × $0.0022 = $ 33.00
total                         = $133.00

This is more than the default spend cap on pay as you go, which is $100. On that plan, raise the cap in the dashboard before a month like this one.

A 250-page PDF

arithmetic
compress:            250 pages = 3 started hundreds × $0.04 = $0.12
render page 3 to PNG: 1 image  × $0.010                     = $0.01
strip metadata:       1 image  × $0.010                     = $0.01

A podcast episode of 3 minutes 20 seconds

arithmetic
4 started minutes × $0.005 = $0.02

A video of 2 minutes 30 seconds, output at 1920 by 1080

arithmetic
H.265: 3 started minutes × 14 × 1.5 = 63 units × $0.0025 = $0.1575
H.264: 3 started minutes × 14       = 42 units × $0.0025 = $0.1050

A month on the Starter plan

The plan costs $49 and includes $55 of usage.

a month with $46.50 of usage
3,000 images             × $0.010 = $30.00
  400 PDFs under 100 pages × $0.04 = $16.00
  100 minutes of audio    × $0.005 = $ 0.50
usage                              = $46.50   (within the $55 included)
invoice                            = $49.00
a month with $70.00 of usage
usage                    = $70.00
included                 = $55.00
usage beyond the plan    = $15.00
invoice = $49.00 + $15.00 = $64.00

A month on pay as you go

a month with $28.40 of usage
monthly fee, counted towards usage = $20.00
usage                              = $28.40
covered by the fee                 = $20.00
usage beyond the plan              = $ 8.40
total for the month                = $28.40
a month with $6.00 of usage
monthly fee        = $20.00
usage              = $ 6.00   (within the $20 included)
total for the month = $20.00

Checking what was billed

  • A direct request returns Smol-Billed: true or false.
  • A job has a billed field. It is set when the job finishes.
  • GET /v1/usage returns usage per meter and per day. The dashboard shows the same figures, and your invoices.
  • POST /v1/estimate gives the price of a request before you send the file.