Cancelling a Trigger.dev run does not cancel the Sume job
Trigger.dev cancel stops the task and its child runs. A Sume job that already started generating cannot be cancelled, and still bills. Store the job id.

No. Cancelling a Trigger.dev run stops your task. It sends nothing to Sume, and a Sume job that has started generating cannot be cancelled at all.
Trigger.dev facts are from its Runs docs and v4.6.1 changelog; Sume facts from Communication modes and Errors and credits, read 2026-10-01.
What does Trigger.dev cancel do?
The Runs docs say cancel stops task execution, marks the run canceled and does not retry it. In-progress child runs are canceled too. Since v4.6.1 the CLI has a runs cancel command. The docs do not say your task code gets a chance to run cleanup, so do not depend on one.
What does Sume cancel do?
POST /v1/jobs/{id}/cancel works only before generation starts. After that it returns 409 job_generation_already_started with details.cancelable: false. Cancelling an already-canceled job is idempotent. A client-side timeout or a stopped client does not cancel the job, and it still bills.
| Action | Stops your task | Stops the Sume job |
|---|---|---|
| Trigger.dev run cancel | Yes, no retry | No |
| Sume cancel before generation starts | No | Yes |
| Sume cancel after generation starts | No | No: 409 job_generation_already_started |
How do you keep the job id?
Persist the id right after the submit returns, before any waiting, so a cancelled run does not strand it. Then a separate path can cancel the job. Treat the 409 as an expected outcome, not an error: read details.cancelable and let the job finish.
curl -X POST https://api.sume.com/v1/jobs/$JOB_ID/cancel \
-H "x-api-key: $SUME_API_KEY"What if the job already finished?
Then there is a result and a charge. Read it with GET /v1/jobs/{id}/result; it answers 409 job_not_completed until the job completes. Poll GET /v1/jobs/{id}/status and honor next_poll_after_seconds. The same distinction applies in Temporal, covered in the Temporal cancel post.
Sources
Related posts
More in Developers
- Trigger.dev public tokens show Sume progress without the API key
Hand the browser a Trigger.dev read-only public token for one run while the task holds the Sume key. The Sume key never leaves the server.
- Trigger.dev retries and Sume errors: skip 4xx, wait on retry-after
Trigger.dev retries any uncaught throw. Use catchError to skip Sume errors that cannot succeed, and read the retry-after header on a 429.
- Turn a video into a line-art sketch by API with edgedetect
Sume's video filter allowlists edgedetect and negate. Edges come out as white wires on black; negating gives dark lines on white. Modes: wires, colormix, canny.
- Veo 3.1 latency is 11 seconds to 6 minutes: set your poll to match
Google lists Veo 3.1 request latency from 11 seconds to 6 minutes at peak. Poll with a deadline over 6 minutes; Sume's video docs poll every 30 seconds.
Written by Sume