Cheapest paid call per Sume endpoint: a CI smoke-test budget
A smoke run touching 14 paid Sume endpoints at their catalog minimum costs about $0.60. Per-endpoint table plus 20, 30 or 528 runs a month.

If your CI proves that each Sume endpoint still works, the cheapest request per endpoint adds up to about $0.60 for 14 paid calls: Video Router and Image Router at their catalog minimums, Music, speech, background removal, upscale, and the flat-price media tools at 1 to 20 cents each. A nightly run is about $18 a month; a weekday-hourly run is about $317.
The catalog publishes a minimum, an estimate and a maximum for each paid endpoint. A smoke test should buy the minimum: it checks authentication, admission, the job lifecycle and result shape, and it does not need a good clip.
What does one of each endpoint cost at the minimum?
The figures below are the minimum cents the catalog publishes for each SKU. They are the cost of the smallest request the catalog considers valid, for example one second of audio for speech to text or one character for text to speech. The Sume API pricing page lists the public rates; confirm live values with GET /v1/catalog.
| Endpoint at its smallest request | Minimum (cents) |
|---|---|
| Image Router (cheapest catalog image) | 1 |
| Video Router (cheapest catalog clip, shortest request) | 2 |
| Music Router | 13 |
| Speech to text, 1 second of audio | 1 |
| Text to speech, 1 character | 1 |
| Background removal | 3 |
| Image upscale | 20 |
| Video upscale, 1 second | 1 |
| Timeline render, under 1 output minute | 10 |
| Timeline audio join | 1 |
| Timeline compose | 2 |
| Video filter | 2 |
| Video trim | 2 |
| Audio detach | 1 |
| Total, one of each | 60 ($0.60) |
Why are some minimums one cent when the price is far below a cent?
A single TTS character is about 0.005 of a cent, and a one-second speech-to-text request is a fraction of the $0.01 per minute rate. The catalog rounds a quote up to a whole cent, so each of those shows as 1. The wallet math in micros is smaller, which is why a real smoke run costs a little less than the table total suggests; use micros when you reconcile, as the Usage docs describe.
What does the monthly bill look like?
Multiply the total by how often the suite runs. Hourly runs are the expensive pattern; most teams need the full paid suite only on release branches.
| Schedule | Runs per month | Cost per month |
|---|---|---|
| Every merge, 20 merges a month | 20 | $12.00 |
| Nightly, 30 runs | 30 | $18.00 |
| Hourly on weekdays, ~ 22 days x 24 | 528 | $316.80 |
How to keep the smoke test cheap
A few habits keep the line item small without weakening the test.
- Run the paid suite on merge to main or nightly, and run unpaid checks such as
GET /v1/balanceon every pull request. - Use
POST /v1/timeline-1.0/planfor timeline logic. The docs describe it as unbilled and it returnsestimated_cost_usd_micros. - Reuse one hosted input clip across trim, filter, detach and timeline calls instead of generating a new one.
- Assert on job status and the shape of the result, not on pixels.
- Use an idempotency key per run so a retried CI job does not submit twice.
- Fund a dedicated wallet or workspace for CI so a runaway loop cannot touch production money.
What the minimum will not tell you
Admission can reject the cheapest request for reasons unrelated to price, such as queue capacity. The Generation admission page lists the 402 and queue_full responses; a CI test should treat queue_full as retry-later and 402 as a failed funding check, not a product regression.
Sources
Related posts
More in Developers
- Check an episode against TikTok upload specs before you post
TikTok's media guide lists MP4/H.264, 360 to 4096 px a side, 23 to 60 FPS and a 4GB cap. Use Sume video inspect to read your file's probe before uploading.
- Did the AI edit touch pixels outside the mask? Check it in numpy
BFL promises edits that leave the rest unchanged. Verify that claim on any model's output with a numpy diff outside your edit box, in about 15 lines.
- Is my avatar ready? GET /avatars with status=ready and a handle filter
Check whether one Sume avatar handle is ready before an avatar video render, using the list route's status=ready and handle query parameters in Python.
- Chinese text to speech API: set language zh or it reads as English
Sume TTS only guesses Korean and Japanese when the language is missing. For Mandarin send language zh and pick a voice tagged zh, then test one line.
Written by Sume