Pricing

Do failed AI video generations cost credits? Reserve, capture, refund

No. Sume reserves a job's estimated USD cost at submit, captures usage only on completion, and releases or refunds the hold if the job fails or is canceled.

5 min readSume
All posts

No. A failed AI video generation job on Sume is not charged: Sume reserves the job's estimated cost when it accepts the request, captures usage only when the job completes, and releases or refunds the reservation when the job fails or is canceled before generation starts.

Sume bills in US dollars, so "credits" here means USD: the balance is USD-denominated, and compatibility fields can show rounded cents as credits. The lifecycle below comes from Generation admission, Core concepts, Jobs and results, and Usage, read on 2026-09-26.

What happens to the money when I submit a job?

Paid generation uses public Sume USD estimates. When Sume accepts a submit, it reserves the estimated amount from the workspace balance; a reserved hold is not spend yet. The job then runs, and the usage is captured on success or refunded on failure or cancellation before capture. The docs order the steps like this:

client submit
  -> Sume validates API key and request
  -> optional usage reservation
  -> provider-backed execution
  -> artifact mirroring to media.sume.com
  -> usage capture or refund
  -> terminal webhook delivery when configured
  -> result available from /v1/jobs/:id/result

Which outcomes cost nothing?

Only a completed job captures its reservation. Every other outcome gives the hold back, or never takes one:

From Generation admission, Jobs and results, and Usage, read 2026-09-26.
OutcomeWhat happens to the moneyCharged
402 insufficient_credits at submitSume cannot reserve the estimated cost, so the submit fails before provider work starts.No
429 queue_full at submitSume releases or refunds the reservation for the failed admission when applicable.No
Job ends failedThe reservation is released or refunded.No
Job ends canceledCancel succeeds only before generation starts, and the reserved usage is refunded.No
Job ends completedThe reserved usage is captured.Yes
Cancel after generation started409 job_generation_already_started: the job runs on and completes or fails normally.Only if it completes
Your client times outNothing is canceled. The job keeps running and settles as usual.Only if it completes

Can I cancel a job so I do not pay for it?

Yes, if generation has not started. POST /v1/jobs/:id/cancel succeeds only before generation work starts, so cancel queued jobs you no longer need before they start processing. Once generation has started, the API rejects the cancel with 409 job_generation_already_started and details.cancelable: false, so that usage settlement does not refund work already submitted for generation. Canceling a job that is already canceled is idempotent.

Jobs, Format runs, and agent runs cancel differently; Cancel AI video jobs and runs compares them.

curl -X POST https://api.sume.com/v1/jobs/job_123/cancel \
  -H "Authorization: Bearer $SUME_API_KEY"

How do I check that a failed job was refunded?

Read the job. GET /v1/jobs/:id carries a usage_summary when a usage ledger row exists. Its status is reserved, captured, or refunded; it lists the reserved, captured, refunded, and released amounts in USD micros and cents; and final turns true once the reservation has been captured or released. The released amount is what the hold gave back; the spendable balance restored can differ when the original credit lot expires before the release. The fields are in the API reference.

Or ask the ledger. GET /v1/usage with job_id sums that job: refunded_usd_micros counts holds given back after a failure, a cancellation, or queue_full, and is not spend, while debited_usd is what the wallet deducted. Never sum the rows yourself, because a refunded row keeps its hold amount in billable_amount_usd_micros.

curl "https://api.sume.com/v1/usage?job_id=job_123" \
  -H "Authorization: Bearer $SUME_API_KEY"

Does a failed Format run cost money?

It can: generation that finished before the failure stays billed, as Spend caps for unattended AI agents explains. Some failure codes say outright that nothing was billed: mcp_unavailable carries details.charged: false.

A Format run is one agent turn that can start several generation jobs, so check the run's total rather than one job's: usage.debited_usd_micros on the Format run receipt, or GET /v1/usage?run_id=, which also sums Action and Agent runs.

Will retrying charge me twice?

Not if you reuse the key. Retrying a submit is fine when it carries the same Idempotency-Key: the retry returns the original job instead of billing a second one. Do not resubmit a paid request just because your local worker timed out; keep the job id and poll it. Idempotency keys for AI video APIs covers key design.

Sources

Related posts

Written by Sume