No-code HTTP step: submit a Wan 3.0 job and get a callback_url
Any automation tool with an HTTP request step and a webhook trigger can run wan-3.0 on Sume. The request body, the HTTPS callback_url, and what to store.

Any automation tool that can send an HTTP request and receive a webhook can generate Wan 3.0 video on Sume. Add one HTTP step that POSTs to https://api.sume.com/v1/videos with an Authorization: Bearer header and a JSON body, set callback_url to a webhook URL your tool gives you, and a second flow runs when the clip is done.
The callback_url must be HTTPS. Sume sends its own webhook envelope with an x-sume-webhook-signature header, not the OpenRouter format (video generation docs).
The request step
Method POST, URL https://api.sume.com/v1/videos, header Authorization: Bearer <key>, header Content-Type: application/json, and a body like this. Map the prompt and the image URL from the row that triggered the flow.
{
"model": "wan-3.0",
"prompt": "Slow push-in on the product, soft studio light",
"duration": 5,
"resolution": "720p",
"frame_images": [{
"type": "image_url",
"image_url": {"url": "https://example.com/row-photo.jpg"},
"frame_type": "first_frame"
}],
"callback_url": "https://hooks.example.com/video-done"
}What to store
The submit returns 202 with id, polling_url, status and model. Write the id back to the row so the webhook flow can match the finished clip to it. If your tool cannot receive webhooks, run a scheduled flow that calls GET /v1/videos/{id} and checks status.
| Resolution | Price per row | 100 rows |
|---|---|---|
| 480p | $0.32 | $32.00 |
| 720p | $0.63 | $63.00 |
| 1080p | $1.25 | $125.00 |
Protect the spend
A spreadsheet that triggers a paid job per row can run away. Add a column that marks a row as done, filter on it, and send an Idempotency-Key equal to the row id so a retry of the same row returns the original job rather than starting a second one. A reused key with a different body returns 409 (video generation docs).
Checking the webhook
Treat the callback as a hint, not proof. When it arrives, confirm the job with a GET on the polling URL before you publish the file, and verify x-sume-webhook-signature with your signing secret if your tool lets you run a code step. Never accept a callback when the secret is empty.
Practical notes
A good starting flow has three steps: a trigger when a row is added, the HTTP step above, and a webhook-triggered flow that writes the finished video link back. Test it on one row at 480p, where a 5-second job is $0.32, before you turn it on for a whole sheet.
If something fails, the poll response has an error field with a public message, for example when an image URL cannot be downloaded. Put that message in a status column so a person can fix the row.
Sources
Related posts
More in Developers
- Node 22 script: create a Sume bulk queue and poll it to the end
Dependency-free Node 22 ESM script: POST a bulk queue from items.json, back off the poll, survive 429 and 503, and exit non-zero when any item failed.
- Node: flip a video backend to Sume a day before the Veo 3.1 shutdown
Google ends three Veo 3.1 preview ids on Oct 22 and its page gives a date, not an hour. A 19-line Node switch moves traffic to Sume early, with an override.
- Omni draft grid: four 360p variants, then one final. What it costs
Google's Draft Room idea, run through the Sume API: four 8-second 360p drafts that change one thing each, then a 1080p final. Total $2.70, with a script.
- Pandas DataFrame to a Sume bulk queue in 100-row chunks
Turn a product DataFrame into Sume Format bulk queues: one item per row, 100 rows per queue, a stable key per chunk, and SKU order saved beside each queue id.
Written by Sume