Price before you pay: four places Sume shows a cost before a job runs

Video models list pricing_skus, Timeline plan returns an estimate, video-filter check is free, and the usage ledger shows the reserve. Where to look and when.

4 min readSume
All posts

Short answer

Sume does not hide the price until the invoice. Four surfaces give you a number before a paid job runs, and each answers a different question. None of them is a promise of the final charge; the final charge is the captured amount in the usage ledger.

The four places

Cost signals before a Sume job runs (Sume docs, read 2026-10-05)
SurfaceWhat you getCreates a job or reserve?
GET /v1/videos/modelspricing_skus per model, such as a per-1,000-video-tokens rateNo
POST /v1/timeline-1.0/planbillable_minutes and estimated_cost_usd_microsNo
POST /v1/video-filter/checkDiagnostics and, for a valid program, an estimateNo
Submit then GET /v1/usageA reserved row with the estimated usageYes, the reserve

What each one is good for

The model list is how you compare models before choosing one. The Timeline plan is how you price a final render of many clips: it runs the schema and URL checks and the compiler, and it does not create a job, reserve credits or download media. The video-filter check does not create a job, reserve credits or use the encoder, and it needs no Idempotency-Key.

The reserve is the only signal that is also a commitment. At submit, Sume reserves the estimate when it accepts the request, and a balance too low to cover it fails with 402 insufficient_credits before provider work starts.

In the Agents flow

The quick start suggests a brief that asks for a draft before spending on the final render, and says the agent selects models and asks before it spends (Quick start). That is the same idea applied to a human review step instead of an API call.

A pre-flight habit

  • Plan or check first when a free dry run exists for the step.
  • Read the live pricing_skus for generation models; docs tables go stale.
  • Read GET /v1/balance and make sure the wallet covers the sum of the reserves you are about to take.
  • After the run, quote the debited_usd figure from GET /v1/usage?job_id=....

Why a free estimate is not a quote

Two of the four surfaces are explicit dry runs, the Timeline plan and the video-filter check, and neither reserves credits. The docs add caveats: a plan cannot predict short-source pad or loop warnings, and a filter program that passes the check can still fail on the box with a structured job error. The model list gives a rate, not a total, because the total depends on resolution, duration and any upscale you ask for.

So the useful sequence is to plan or check first, compute your own total from the rate, then submit and read the reserve. If the reserve is higher than your total, stop and find out why before you queue more jobs.

For a 30-second final from five 6-second Omni clips at 720p: five clips x 6 s x $0.125 = $3.75, then a timeline render at $0.10 per output minute, rounded up, so $0.10. The plan call returns billable_minutes and estimated_cost_usd_micros for the render part. The total is $3.85 if every clip is accepted the first time. Keep a margin for retakes.

The order matters because each surface answers a different question. The model list answers which rate applies, the plan and check calls answer whether the structure of a render is valid and what a render step costs, and the reserve answers what the wallet will hold for this exact request. Skipping straight to the last one is fine for a single clip, but for a batch the earlier steps are free and catch mistakes before they are multiplied.

Write the expected total down before you submit. If the first reserve disagrees with it, you have learned something about your request for the price of one job.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume