Runware deliveryMethod async vs Sume mode async: map the fields
Runware returns a taskUUID for async video, with getResponse polling or a webhookURL. Sume's equivalents: a job id, /v1/jobs/:id/status and mode webhook.

If your code already speaks Runware's async video flow, the move to Sume is a rename of three things. Runware's page (read 2026-10-07) says deliveryMethod: "async" queues the task and returns a taskUUID at once, that you can poll getResponse, or pass a webhookURL to have the result posted to you. Sume's job API has the same three pieces: a job id on submit, a status poll, and a webhook mode.
What differs is the contract details: Sume's job ids start job_, status is read from GET /v1/jobs/:id/status, and webhooks are terminal-only and signed.
Field mapping
Only the left column is Runware's wording, taken from its page; the right column is from the Sume docs.
| Concept | Runware | Sume |
|---|---|---|
| Ask for async | deliveryMethod: "async" | mode: "async" (the default) on the submit call |
| Handle on the task | taskUUID | Job id (request_id in the submit envelope; job.id) |
| Poll | getResponse | GET /v1/jobs/{id}/status, then GET /v1/jobs/{id}/result when result_ready |
| Push | webhookURL | webhook_url with mode: "webhook" (the /v1/videos route calls it callback_url) |
| Events | Result posted on completion | job.completed, job.failed, job.canceled only; no progress events |
What you must add on the Sume side
Three habits are not optional. First, send an Idempotency-Key on every paid submit, so a retry after a network error returns the original job instead of billing a second one. Second, verify the x-sume-webhook-signature header against the raw body before you trust a callback. Third, keep polling as a backstop: a webhook is a delivery optimization, and after ten failed attempts you still have a finished job that never told you.
Webhook URLs must be public HTTPS; Sume rejects localhost, private-network and non-HTTPS URLs.
A submit with a callback
This is the Sume side of the mapping: one POST to /v1/videos with an idempotency key and a callback_url. The response gives you the job id and a polling_url to store.
curl -X POST "https://api.sume.com/v1/videos" \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: clip-8823-v1" \
-d '{
"model": "seedance-2",
"prompt": "Slow push-in on a ceramic mug on a wooden table",
"callback_url": "https://example.com/hooks/sume"
}'
What not to port
Do not port a progress bar that depends on intermediate webhook events; Sume sends none. There is no SSE or WebSocket stream on the Developer API, and GET /v1/jobs/:id/events is a snapshot you pull. Show queued, processing and done, which are the states the API actually has.
Migration checklist
Porting a Runware async integration to Sume is mostly bookkeeping. Walk this list once and run it against a single cheap request before you move traffic.
Sume rejects unknown parameters with 400 unsupported_parameter rather than dropping them silently, so a request body copied from another vendor fails loudly on the first call, which is the behavior you want during a port.
- Replace the task identifier column in your database with the Sume job id, and add
status_urlandresult_urlbeside it. - Pick
asyncplus polling for work that can last longer than 30 seconds;syncandsubscribeare only a bounded wait of at most 30 seconds. - Register a public HTTPS callback, and verify the signature on the raw body.
- Keep the poll loop as the backup path, with exponential backoff and a client-side deadline.
- Send a fresh
Idempotency-Keyper logical request, and reuse it only for an exact retry.
Sources
Related posts
More in Comparisons
- Runway Act-Two at 5 credits a second vs Kling motion control on Sume
Runway's developer page lists Act-Two at 5 credits a second, or $0.05. Sume's Kling 3.0 motion control is $0.1575 a second. What each price buys, in dollars.
- Runway API credits to dollars: cost per second and per 100 clips
Runway's API credit is $0.01, so WAN3 is $0.05 to $0.20 per second and Seedance 2.5 is $0.20 to $0.68. Per-clip and 100-clip table, with the Sume comparison.
- Runway Dev usage exception request vs Sume 429 and 402
Runway Dev says higher usage needs an exception request. On Sume a burst hits 429 or 402. What each means for a batch of ad variants and how to retry.
- Runway Dev image_to_video, video_to_video: one Sume route?
Runway Dev names image_to_video, video_to_video and text_to_image paths. Sume's POST /v1/videos infers the mode from your fields. What it changes in ad code.
Written by Sume