Skip to content

ResearchStudy

How a video take is priced

The desk’s own formulas, live — by the second, by the token, per image, per character — and the frame a bill taught us to count.

Finding
Twelve seconds of Seedance, billed by the token, are 289 frames, not 288.
Published

The claim

A price on a button can only be honest if its formula is the provider’s. Close is not enough: a button that rounds a short count says less than the take costs.

The short answer

Each provider prices a take its own way — by the second, by the token, per image, per character — and the desk carries each formula. It rounds the estimate to a ten-thousandth of a dollar; the button rounds it up to the cent. Change a setting in the calculator below: it prints the formula it used.

The instrument

Instrument

Price a take

The desk’s built-in catalogue and its own functions, imported into this page. Change anything: the formula follows.

Model

The desk’s formula

  1. 1,280 × 720 px × (24 × 12 + 1) frames ÷ 1,024
  2. =260,100 tokens
  3. ×$0.0000107 a token
  4. =$2.7831
Button preview · nothing is sent

The button rounds the estimate up to the cent. An estimate, not an invoice: the provider’s own cost replaces it when it reports one.

Recorded These are the settings of a real bill: $2.78307 on October 6, 2026, through OpenRouter.

Rates from the desk’s catalogue (models.ts, checked against the providers’ documentation on 2026-10-03). The desk reads OpenRouter’s rates live; here the token rate is the one the bill of 2026-10-06 shows.

It opens on a real bill. Clear “Include the take’s first frame” to see what the desk said before the fix, and change the length: on most lengths the old count puts the button under the bill.

How each provider prices a take

The calculator applies four formulas from the desk’s built-in catalogue:

  • BytePlus, direct, bills Seedance 2.5 by the second, at a rate per resolution: $0.103 at 480p, $0.231 at 720p, $0.569 at 1080p.
  • OpenRouter bills the same model by the token: width × height × frames ÷ 1,024, where a clip of n seconds has 24 n + 1 frames — its first frame, then 24 a second.
  • Seedream 5.0 Pro costs $0.045 an image at 1K, $0.09 at 2K, plus $0.003 for each reference image.
  • ElevenLabs counts characters: $0.30 per 1,000 in the desk’s catalogue.

The 289th frame

During a test run of the desk on October 6, 2026, 12 seconds of Seedance 2.5 at 720p, 16:9, through OpenRouter were billed $2.78307. At $0.0000107 a token, that is 260,100 tokens — 1,280 × 720 pixels × 289 frames ÷ 1,024.

The desk had counted 288 frames, 24 a second. Its estimate came to $2.7734, and the button said $2.77 for a take billed $2.78 to the cent. The difference is one frame: 900 tokens, $0.00967.

Twelve seconds of Seedance 2.5 at 720p, priced by the token
CountFramesTokensAmountWhat the button said
The desk, before the fix288259,200$2.7734$2.77 under the bill
The desk, today289260,100$2.7831$2.79 covers the bill
The bill recorded289260,100$2.78307—
Rounded up to the cent, as the buttons are today, the old count would still say $2.78 — under the $2.78307 bill. Counting the first frame is what makes the button cover the take.

Since then videoTokens counts fps × seconds + 1. The same take now estimates at $2.7831 and its button says $2.79. Rounding up alone would not have saved it: the old count, rounded up, still says $2.78.

Why a vertical take costs the same

At a named resolution, video models keep the pixel area of the 16:9 frame across ratios — at 720p, 1280 × 720, 960 × 960 or 720 × 1280. The desk’s dimensions keeps that area, so a vertical take is priced like a horizontal one. Only a ratio that does not divide evenly moves the count, slightly: try 21:9 in the instrument.

Limits

  • The rates are the desk’s built-in catalogue, checked against the providers’ documentation on 2026-10-03. The desk reads OpenRouter’s rates live; this page cannot, so its token rate is the one the bill shows.
  • An estimate is not an invoice. The provider’s own cost replaces it in the project when the provider reports one.
  • ElevenLabs bills characters on the creator’s own plan; the desk’s rate is for estimating.
  • One bill checked the token formula to the token. The per-second and per-image rates are the providers’ published prices, not bills we measured here.

What it means for Kiju

  • The formulas live in one file of the engine, core/src/models.ts, and this page imports that same file: the figures above are the desk’s figures, computed in your browser.
  • Where a provider bills by the token, a bill that disagrees with the formula is a bug in the desk. This one became a test and a fix.

Sources

  • Kiju’s engine: core/src/models.ts — estimateVideo, estimateImage, estimateVoice, videoTokens, dimensions, upToCents, the catalogue BYTEPLUS_MODELS and ELEVEN_MODELS.
  • The bill: a test run of the desk on 2026-10-06, recorded in videoTokens’s own comment.