Do failed or canceled AI generations cost money on Sume?

Sume bills image jobs all or nothing, releases holds for failed video jobs where applicable, and lets you cancel only before work starts. What the docs say.

3 min readSume
All posts

Per Sume's docs, a failed image generation is not billed, and failed video jobs release their reservation where applicable. A canceled job can be canceled only before generation starts. The detail depends on the job type.

Images

The image docs are the most direct: billing is all or nothing. A completed generation is billed in full. A failed or canceled one is not charged, and a client disconnect is treated as a failed generation, so it carries no charge.

Video and other paid jobs

The admission docs describe the general flow: Sume reserves the estimated amount at submit, a successful completion captures it, and failed jobs or failed queue admission release or refund the reservation where applicable. The phrase "where applicable" matters: read the job's usage row to see whether it ended captured or refunded instead of assuming.

What the docs say about each outcome, read 2026-10-04
OutcomeBilledSource of the rule
Image completesYes, in fullImage models docs
Image fails or is canceledNoImage models docs
Video completesYes, hold capturedGeneration admission docs
Video failsHold released or refunded where applicableGeneration admission docs
Queue admission failsHold released or refunded where applicableGeneration admission docs

Cancellation timing

POST /v1/jobs/{id}/cancel succeeds only before generation work starts. Once a job is processing, a cancel request returns a 409 such as job_not_cancelable or job_generation_already_started. So cancel queued jobs you do not need, early.

Checking a specific job

To see what happened to one job, call GET /v1/usage?job_id=... and read the rows. A row with status captured is spend. A row with refunded was given back, and one with reserved is still a hold. The summary's final field says whether any hold is still open. If a job failed and its row is still reserved with a settle_state such as pending_usage, the usage types note that the settle sweeper still owns that hold, so wait for it before you assume spend.

Include the request id in any support message. The error docs say the request id is safe to share and that API keys and signed URLs should not be included.

What is not covered

A clip that completes and that you dislike is a completed job, and it is billed. Retry-safe submits need an Idempotency-Key; a replay with the same key returns the original job rather than creating and billing a second one.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume