BFL webhooks vs polling_url, and Sume webhook mode with polling
BFL says webhook users need no polling_url change. On Sume, webhook mode still returns status_url, so verify the signed callback and keep polling as a backup.

BFL's integration guide says webhook users need no changes: the polling_url requirement applies only when you poll. Sume's webhook mode is push plus a safety net: wait for the terminal callback, verify its signature, and keep polling status_url as a backup.
Sources: BFL's guide, Sume's Jobs and results and Webhooks, read 2026-10-01.
What does BFL say about webhooks?
Under "Polling URL Usage", the guide notes that if you use webhooks to receive results, no changes are needed. The rule to use the returned polling_url covers only the async polling path.
How do I pick push or pull on Sume?
Send webhook_url, or its alias callback_url, without a mode and you get webhook. The response is a 202 with the job envelope and polling URLs, and the callback is stored. Omit mode and you get async, where you poll status_url until terminal is true.
Webhook events are terminal only: there are no progress or partial webhooks. Signatures arrive as x-sume-webhook-signature: sume-v1=<hex_signature> with a timestamp header; see debugging webhook delivery if callbacks do not arrive.
Why keep polling in webhook mode?
The docs say a webhook is "a delivery optimization, not your only recovery path" and ask you to keep status_url polling available for missed or retried deliveries.
| Path | BFL guide | Sume docs |
|---|---|---|
| Polling | Use the returned polling_url | Use status_url from the envelope |
| Webhook | No change needed | Verify sume-v1 signature on the terminal callback |
| Missed callback | Not covered in the guide | Poll status_url |
What should I do?
Store the job id and status_url at submit time even when you register a webhook. On callback, verify the signature over the raw body before trusting it. If a job has no callback after a reasonable wait, poll rather than resubmit.
Sources
Related posts
More in Developers
- Boost dull video colors by API: the vibrance filter intensity
Sume's video filter allowlists vibrance, with intensity from -2 to 2 and a default of 0. A small positive value lifts muted color; a negative one mutes it.
- C2PA 2.3 editing history: what trim and filter return in Sume
Content Credentials 2.3 shows clearer edit history such as resizing, markup and redactions. Sume trim and filter return a new MP4; inspect never makes one.
- California SB 1000: no user threshold, new verification tool
SB 1000 recasts the California AI Transparency Act: no user threshold, a disclosure verification tool, no manifest option. What Sume's docs list.
- Cartesia accent field: multilingual voices only; Sume uses voice id
Cartesia's accent field is for multilingual voices only and works independent of locale. Sume's TTS request has no accent field: pick a voice id and language.
Written by Sume