Argil VIDEO_GENERATION_SUCCESS webhook vs Sume job.completed payload
Argil sends four webhook events with videoUrl in data; Sume sends signed terminal job.completed, job.failed and job.canceled events. Handler differences.

Argil registers a callback URL and sends four event names: VIDEO_GENERATION_SUCCESS, VIDEO_GENERATION_FAILED, AVATAR_TRAINING_SUCCESS and AVATAR_TRAINING_FAILED. Sume sends three terminal job events, job.completed, job.failed and job.canceled, each signed with HMAC SHA 256. If you are porting a handler from one to the other, the event names, the payload shape and the signature check all change.
The Argil facts are from its webhook events, success event and create webhook pages. The Sume facts are from Webhooks. All were read on 2026-10-02.
What does an Argil webhook look like?
You create a webhook with POST /webhooks, passing a callbackUrl and an events array with at least one event, authenticated with an x-api-key header. The success payload has an event field and a data object with videoId, videoName, videoUrl and extras.
The pages I read do not document a signature header, a secret field or a retry policy, so I am not claiming any. If you rely on Argil callbacks, confirm those points in Argil's own documentation before you depend on them.
What does a Sume webhook look like?
On a Sume model request you send mode: "webhook" with a public HTTPS webhook_url. Sume sends terminal events only, with no progress or partial deliveries. The body carries event, request_id, job_id, status and a payload with artifacts, each with a media.sume.com URL.
Deliveries are signed. The x-sume-webhook-signature header holds sume-v1=<hex> computed as HMAC SHA 256 over <timestamp>.<raw_body>, and x-sume-webhook-timestamp carries the timestamp. Sume retries up to 10 attempts, 30 seconds apart by default, with a 10 second timeout per attempt, and the docs tell you to use job_id as your idempotency key.
Mapping the events
Avatar training has no webhook event on Sume because creating an avatar is just another job; the same three terminal events cover it.
| Argil event | Sume event | Notes |
|---|---|---|
VIDEO_GENERATION_SUCCESS | job.completed | Argil: data.videoUrl; Sume: payload.artifacts[].url |
VIDEO_GENERATION_FAILED | job.failed | Sume adds an error object and status: ERROR |
AVATAR_TRAINING_SUCCESS | job.completed on the avatar job | Same event set as video jobs |
AVATAR_TRAINING_FAILED | job.failed on the avatar job | Same event set as video jobs |
| No cancel event on the pages read | job.canceled | Sume cancels before generation starts |
What should my handler change?
Branch on event rather than assuming one shape, verify the Sume signature against the raw body before parsing, and store job_id so a retry is harmless. Keep a polling fallback on GET /v1/jobs/:id/status, because Sume's docs call delivery an optimization and never the only recovery path. For the signature code, see verifying a Sume avatar-video webhook in Python.
Sources
Related posts
More in Comparisons
- Asset Studio 1-Click A/B Testing vs a Sume bulk run of hook variants
Google's Asset Studio adds Gemini Omni video and 1-Click A/B Testing. If your Q4 test spans channels, queue the hook variants as a Sume bulk run instead.
- Bannerbear 60 POSTs per 10 seconds vs Sume's per-minute budgets
Bannerbear allows 60 POST requests per 10-second window. Sume budgets writes and reads per minute by plan: 120 to 1200 writes, reads 40 times higher.
- Bannerbear video tools mapped to Sume endpoints, gap by gap
Bannerbear lists eleven video tools. Sume covers trim, crop, concat, captions and color via filters; picture-in-picture and GIF previews are not documented.
- Beatoven maestro music and SFX API vs Sume Music Router
Beatoven's API makes music and sound effects from text. Sume's Music Router makes one track per call at a fixed $0.125 and has no SFX route. The differences.
Written by Sume