Wait for an avatar video in one request? Sume sync stops at 30 s

Sume sync and subscribe modes are the same bounded wait of at most 30 seconds. For avatar videos use async with polling or a webhook, not a long HTTP hold.

5 min readSume
All posts

No. Sume's sync mode holds the submit call for at most wait_timeout_seconds, capped at 30 seconds, and subscribe is an alias of sync with the same wait. A talking video job should be submitted in async mode (the default) and then polled, or delivered by webhook.

The four modes

From Jobs and results, read 2026-10-08:

Communication modes, as of 2026-10-08
ModeWhat returnsUse for
async (default)202 with the job envelope and poll URLsProduction avatar videos
syncSame envelope after a wait of up to 30 s for a terminal stateShort jobs you can afford to hold
subscribeAlias of sync; same bounded waitClients ported from other queue APIs
webhookSigned terminal event to a public HTTPS URLServers that should not poll

What to do after a sync call

If the job is not terminal when the call returns, poll status_url as with async. Subscribe does not give you progress events. For progress, submit async and read GET /v1/jobs/{id}/events, or use a webhook. Webhooks send terminal events only, so they will not show intermediate state.

A pattern that works

  • Submit with mode async and an Idempotency-Key.
  • Store status_url, result_url and events_url.
  • Poll with exponential backoff until terminal is true.
  • When result_ready is true, GET result_url and download the video artifact.
  • If you also register a webhook, keep the poll as a fallback; delivery is an optimization, not the only recovery path.

Why the cap exists

A hold of 30 seconds is long for an HTTP request already. Avatar video lengths are 4 to 60 seconds of output, so rendering is not expected to fit inside that wait. Waiters are also limited, and the docs say the wait may be shorter when waiter capacity is not available. Build for the poll, and treat a fast sync response as a bonus. Duration rules are on Generate avatar video.

Choosing between poll and webhook

Poll when your caller already holds a connection or runs a worker loop; it needs no public endpoint. Use a webhook when you have a server that can receive HTTPS, verify the signature and store the event. Many teams use both, with the poll as a safety net.

Backoff keeps load down: start at a couple of seconds, double until you reach a ceiling of around half a minute, and stop at your own deadline. For batches, check queue capacity before adding more jobs.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume