Cancel a queued Sume video job: refund rules and the 409 after start

A queued Sume job can be canceled before it starts; after that cancel returns 409 job_generation_already_started. What is held, with a 30-second example.

4 min readSume
All posts

You can cancel a Sume generation job only while it is still queued or otherwise before generation work starts. Once the provider work has begun, the cancel call returns 409 with the code job_generation_already_started and details.cancelable set to false, and the job then completes or fails on its own. Canceling a job that is already canceled is idempotent.

What is held while a job waits

When Sume accepts a paid generation request it reserves the estimated USD amount from the workspace balance. A queued job therefore holds money without having produced anything. For a 30-second Wan 3.0 clip at 480p the reservation is 30 x $0.0625 = $1.875. For the same length at 1080p it is 30 x $0.25 = $7.50.

Reservation for a queued 30-second Wan 3.0 job, as of 2026-10-09
ResolutionPer secondHeld while queuedJobs held on a $20 balance
480p$0.0625$1.87510
720p$0.125$3.755
1080p$0.25$7.502

When cancel helps

The docs say that, where applicable, failed jobs and failed queue admission release or refund the reservation, and that a successful completion captures it. Canceling a queued job you no longer need is the documented way to free capacity: the generation admission page lists it as the first response to a queue_full error, together with polling until a job reaches a terminal state and retrying with the same idempotency key.

Free workspaces process one job at a time and accept six in total (one processing, five queued), so on that plan five queued jobs can sit behind a running one. Each of them holds its reservation. If you queued five 30-second 1080p jobs by mistake, that is 5 x $7.50 = $37.50 held until they run or you cancel them.

  • Cancel before start: allowed.
  • Cancel after start: 409 job_generation_already_started, details.cancelable false.
  • Cancel when already canceled: returns without error.
  • The docs do not show a per-job queue position or an ETA.

Checking what is held

GET /v1/balance shows the workspace balance, and the generation_limits snapshot in each submit response shows how many jobs are active and queued. Together they tell you how much money sits in queued jobs: multiply the queued count by the per-job estimate. With six 30-second Wan 3.0 480p jobs open on Free, that is 6 x $1.875 = $11.25.

The docs do not publish a refund timer. They state that failed jobs and failed queue admission release or refund the reservation where applicable, so check the usage read after a cancel rather than assuming a number. If you submit through the Video Router with an Idempotency-Key, canceling and then resubmitting with a changed payload needs a new key, because the old key is bound to the first payload.

A safe pattern

Store each job id at submit. Poll the status with backoff. If a job is no longer needed and its status is still queued, call the cancel endpoint at once; if it returns 409, stop trying and let it finish, because the work has started. Details are in the generation admission docs and the error reference.

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

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume