waitForJob pollInterval is a floor: Sume's hint can only lengthen it
Lowering pollInterval in waitForJob does not poll faster than the server asks. The SDK takes the larger of your interval and next_poll_after_seconds.

pollInterval in waitForJob is a minimum gap between status reads, with a 2 second default. If the status payload carries next_poll_after_seconds, the SDK waits for the larger of the two. So setting pollInterval: 500 does not make the SDK poll faster than the server asks, and a hint of 10 seconds beats a 2 second interval.
How the delay is picked
The SDK source says the hint carries queue backoff the client cannot see, so it raises the gap and never shortens it.
| pollInterval | next_poll_after_seconds | Wait |
|---|---|---|
| 2 s (default) | null or missing | 2 s |
| 2 s | 5 | 5 s |
| 500 ms | 5 | 5 s |
| 10 s | 5 | 10 s |
What to tune instead
A lower floor mainly helps short image jobs when the server gives no hint. For video, minutes-long jobs make a fast floor pointless. The default timeout is 20 minutes, which is where to adjust for long work.
import { createSumeClient, waitForJob } from "@sume-com/sdk";
const client = createSumeClient({ apiKey: process.env.SUME_API_KEY! });
const job = await waitForJob(process.argv[2]!, {
client,
pollInterval: 5_000, // floor; the server hint can still raise it
timeout: 30 * 60_000, // 30 minutes instead of the 20 minute default
});
console.log(job.status);Mind the read budget
Status polls are reads, and the rate limit is per key per minute by plan. A tight floor across many jobs spends that budget faster, so share one interval across the fleet.
Sources
Related posts
More in Developers
- Wan 3.0 lists 20 references; Sume caps 10 images, 5 videos, 5 audio
Wan 3.0's own page says up to 20 reference assets. Sume splits that into 10 images, 5 videos and 5 audio clips. Validate a request offline in Python first.
- What a 30-second Wan 3.0 job reserves on Sume: list times 1.25
Sume reserves the provider list price times 1.25 at submit. Work out the hold for a 30-second Wan 3.0 clip and other models in Python.
- Wan 3.0 file_url, web_url, enable_thinking: not in Sume v1
Sume's wan-3.0 id does not expose file_url, web_url or enable_thinking, and provider.options must stay empty. Use references and prompt fields instead.
- Sume webhook beat your database write: handle an unknown job_id
A fast Sume job can send its webhook before your submit handler commits the job id. Park the event in an inbox table and reconcile it, in runnable Python.
Written by Sume