Sume agent run webhook: one event per turn, not per clip
A Sume agent run sends one agent.run.terminal webhook per agent turn, never one per generated artifact. Key your handler on the run id.

A Sume agent run sends one agent.run.terminal webhook per agent turn, never one per artifact. If the agent makes five clips in a turn, you get one event after the turn ends, so a handler that counts events to count clips will be wrong. Key your handler on the run id, then read the artifacts from the payload or from the poll endpoint.
This follows Sume's Run webhooks and Agent Completions pages, read 2026-10-06.
What fires, and what does not?
The table below lists each item as documented.
| Case | Webhook sent | Note |
|---|---|---|
| Agent turn ends | One agent.run.terminal | Not one per artifact |
| Run canceled | None | Poll the run instead |
| Run skipped | None | Read the create response |
| Other run kinds | format.run.terminal, action.run.terminal | Same signing scheme |
What should the handler do?
Because the webhook payload matches the poll response, one parser serves both paths.
- Verify the signature before parsing.
- Deduplicate on the run id, since a delivery can repeat.
- Read
outcome:ok,degradedorerror. - Take artifacts from
payload, which is byte-identical to thedataobject ofGET /v1/agent-runs/{id}.
What if the payload is too large?
Over 1 MiB, the delivery carries payload: null and a payload_too_large marker. Poll /v1/agent-runs/{id} for the full object in that case.
Sources
Related posts
More in Developers
- 9:16, 1080p, 8 seconds: one Sume /v1/videos request, poll and download
A copy-paste flow for a vertical clip: POST /v1/videos with aspect_ratio 9:16, resolution 1080p and duration 8, poll the job, then fetch the MP4 content URL.
- AI video audio you cannot switch off: Omni 1.1, H3 and H3 Max on Sume
Gemini Omni Flash 1.1 rejects generate_audio false; MiniMax H3 and H3 Max have no toggle. To publish a clip with your own sound, drop the audio with video trim.
- AI video generator for business: build a request form from the API
Use GET /v1/formats and the io.input_kind field to build an internal video request form, grouped by what each Sume Format needs.
- AI video generator for business: no approval step over the API
Format runs started through the Sume API are unattended: approval gates are pre-granted. What that means for review, and the unattended_blocked failure.
Written by Sume