Sync Labs API rate limit: 100 per minute, and Sume headers
Sync Labs allows 100 POST /v2/generate and 600 GETs a minute. Sume has a per-plan requests-per-minute budget; read ratelimit headers and retry-after.

Sync Labs limits POST /v2/generate to 100 requests per minute and GET /v2/generate/* to 600 requests per minute, and returns a 429 when you exceed either. Sume documents a requests-per-minute budget per plan instead of those two numbers, and tells you to read the ratelimit-remaining header and back off on retry-after rather than counting requests yourself.
Sync facts are from its rate-limit guide; Sume facts from Authentication, read 2026-10-01.
What are the Sync Labs limits?
Limits are enforced per authenticated user when an API key is present, and per IP address otherwise. Separately, concurrency (generations in PENDING or PROCESSING) is set by plan and also returns 429 when exceeded. The guide advises against retrying a 429 in a tight loop and recommends exponential backoff.
What does Sume send back?
Every response carries rate-limit headers, and a 429 names the budget in error.details.scope (read or write).
| Header | Meaning |
|---|---|
ratelimit-limit | Requests allowed in the current window |
ratelimit-remaining | Requests left in the current window |
ratelimit-reset | Seconds until the window resets |
retry-after | Seconds to wait, sent on 429 |
How should a client handle a 429?
Wait for retry-after seconds, then retry. For submits, keep the same idempotency key so a retry cannot create a second paid job. Request rate is not generation capacity: how many jobs run at once is governed by the plan's concurrency limit, reported in generation_limits. A full queue is a different failure, 429 queue_full; see 429 vs 503.
Do polling reads count against the same budget?
The docs describe separate read and write budgets, and say the headers describe whichever budget the current request spent from. A jobs_status poll over MCP spends no write budget. Trust ratelimit-limit on the response for the deployment you are talking to.
Sources
Related posts
More in Developers
- Sync lip sync output: H.264 crf 17, HDR to SDR, alpha removed
Sync re-encodes lip sync output to H.264 at crf 17, turns HDR into SDR and drops alpha. Here is that next to what Sume returns for avatar video.
- Sync sync_mode bounce, cut_off, silence, remap vs Sume lengths
Sync offers bounce, cut_off, silence and remap when audio and video lengths differ. Sume has no such option: trim or split audio to the accepted window.
- Synthesia Billing API credit usage vs Sume's /v1/usage ledger
Synthesia added a Billing API endpoint for credit usage. Sume's equivalent is GET /v1/usage: reservations, captures and refunds, filterable by run or job.
- Synthesia dubbing file size limit: 5 GB or 2.5 hours
Synthesia dubbing accepts uploads up to 5 GB or 2.5 hours, 4K, in .mp4, .webm or .mov. Sume's limits sit at the audio stage: a 10 MB audio_url and 300 s.
Written by Sume