Pre-flight a mixed project for $0: plan, filter check, balance
Three reads cost nothing before you spend on a mixed project: timeline plan for billed minutes, video-filter check for the 2-cent encode, and a balance read.

Before a mixed project spends anything, three calls are free: POST /v1/timeline-1.0/plan returns the billed minutes and estimated cost of the final render, POST /v1/video-filter/check validates a filter program that would cost $0.02 to encode, and GET /v1/balance shows what the wallet can still reserve. None of them creates a job or reserves credits. They do not cover image, voice, music or video generation, which have no free check in the docs.
Timeline plan: the billed minute
The plan call runs the schema check, the Sume-host URL check and the compiler. It returns duration_seconds, segment_count, billable_minutes and estimated_cost_usd_micros. It does not download media, so it cannot predict short-source pad or loop warnings. The render costs $0.10 per output minute, rounded up, minimum one minute.
| Cut length | Billed minutes | Render cost |
|---|---|---|
| 58 s | 1 | $0.10 |
| 60 s | 1 | $0.10 |
| 61 s | 2 | $0.20 |
| 95 s | 2 | $0.20 |
| 121 s | 3 | $0.30 |
What the table decides
A 61-second cut bills two minutes: $0.20 against $0.10 for 60 seconds. That is a dime, but it is also a signal that the cut is one second over a boundary. Trimming one second of the voice-over spine is cheaper than paying for a second billed minute. A 121-second cut crosses into a third minute for the same reason.
Run the plan for every candidate cut and compare billable_minutes before you create the render job. The plan does not need an Idempotency-Key.
Filter check and balance read
The video-filter check runs the same schema, allowlist and source preflight as the encode and returns diagnostics instead of a 400. A valid program also gets an estimate and a next_action of submit_video_filter. A program that passes can still fail on the encoder (bad expression, memory, time), so the check lowers the odds of a $0.02 failure, it does not remove them.
Finish with a balance read. Add up your planned reserves first: for example three 2K stills at $0.15, six 5-second wan-3.0 shots at $0.625 each, and a $0.10 render come to $4.30 of images, video and render. If the balance is lower, the 402 will arrive anyway, so top up before the first paid submit.
What stays unchecked
Stills, voice, music and video generation have no free check in the docs, so their cost is the catalog price and nothing else. The way to preflight them is arithmetic: multiply seconds, characters or images by the listed rate and compare the sum with the balance. For a 30-second explainer on wan-3.0 at 720p that sum is $4.4464, of which the render the plan call covers is $0.10.
Spend the free calls where a mistake is cheap to avoid: the billed minute, the filter program, and the balance. They have no side effects, so run them as often as you like, including after every edit to the cut. One caution: the plan figure is an estimate of the render only, and the render job still needs an Idempotency-Key when you submit it for real.
Sources
Related posts
More in Developers
- Pre-flight an Omni Flash request against the Sume model catalog
A short Python check that reads supported durations, resolutions and aspect ratios for gemini-omni-flash-1.1 via /v1/videos/models.
- Preflight a 3-minute Short with Timeline plan before you pay
POST /v1/timeline-1.0/plan compiles a Short without a job or a reserve and returns billable minutes and the estimate. A runnable Python check for six slots.
- A Preview video model in production: pin a Sume id or use sume/auto?
Vidu calls Q4 a Preview. On Sume, pin a model id for a repeatable look, or use sume/auto, which hides the family and defaults to 720p and 8 seconds.
- Check probe.has_audio before paying $0.20 for Short captions
A silent clip makes speech-based captions fail with caption_no_speech. A probe-only Video inspect with frames false shows has_audio first. Captions are $0.20.
Written by Sume