30 writes a second is 1,800 a minute: sizing Sume plans against it
HeyGen's enterprise write limit is 30 per second. On Sume that is 2 to 20 submits per second by plan, and accepted-job capacity binds long before it.

A per-second limit and a per-minute limit are easy to compare once you convert. HeyGen's changelog (read 2026-10-07) says enterprise write operations rose to 30 per second, from 10. That is 1,800 writes a minute. Sume's write budgets are per minute by plan: 120 on Free, 300 on Pro, 600 on Startup and 1,200 on Scale, which is 2, 5, 10 and 20 submits per second if you spread them evenly.
But request rate is rarely what stops a Sume batch. The number of accepted generation jobs is far smaller than the minute budget on every plan, so you hit queue_full long before a rate limit.
The conversion
Per-second figures below are the plan's per-minute write budget divided by 60, rounded to one decimal. Accepted capacity is concurrency plus queue, from the generation admission page.
| Plan | Writes per minute | Per second | Accepted jobs (processing + queued) |
|---|---|---|---|
| Free | 120 | 2.0 | 6 |
| Pro | 300 | 5.0 | 24 |
| Startup | 600 | 10.0 | 48 |
| Scale | 1200 | 20.0 | 120 |
Reading the table
On Scale you may send 1,200 writes a minute, but only 120 paid generation jobs can be processing or queued at once. Submit 150 at a burst and 30 get 429 queue_full, not rate_limited. The two codes need different handling: rate_limited carries retry-after; queue_full means wait for a job to finish or cancel one, then retry with the same idempotency key.
Cancels, uploads and run creation are also writes, so a client that cancels aggressively spends the same budget as one that submits.
Size a burst before sending it
Use generation_limits from submit responses rather than the static table: concurrency_limit is the effective processing cap and queue_capacity_remaining says how many more jobs fit. The docs' own guidance is to size new in-flight work as max(0, concurrency_limit - active - queued), limited to queue_capacity_remaining, and to treat wave_size_hint as a submission hint only.
HeyGen's 30 per second is HeyGen's contract tier, not a statement about Sume. Enterprise on Sume is not self-serve: until a contracted number is provisioned an Enterprise key uses the Scale row.
What to do with this on Monday
Do not size a worker pool from the headline rate. Size it from accepted capacity, and let the rate limit be the safety net.
If you run several services against one workspace, remember that generation_limits describes the workspace, not your process: another service's queued jobs shrink your headroom. Read the snapshot on every submit response and treat it as a snapshot that can change a moment later.
- Submit in waves no larger than your computed headroom.
- Poll with the reads budget, which is forty times the writes number, and stop polling jobs that are terminal.
- On
queue_full, stop adding work, cancel queued jobs you no longer need, and retry with the same key after capacity opens. - Re-read your plan's row in the dashboard Concurrency tab; the docs say to prefer the effective field to any static table.
Sources
Related posts
More in Comparisons
- AI avatar vs a paid creator: break-even per 30-second clip
Divide a creator's quote by Sume's price for a 30-second avatar clip. Costs by tier for 1, 10 and 50 clips, with a retake allowance and what an avatar lacks.
- Akool concurrent video generations: 2, 6, 8, 20, vs Sume's queue
Akool allows 2, 6, 8 and 20 concurrent video generations by plan. Sume accepts extra avatar jobs as queued and returns 429 queue_full only when both are full.
- Akool Instant Avatar slots (1 to 10) vs Sume at $0.95 per avatar
Akool caps Instant Avatars at 1, 3, 5 and 10 by plan. Sume creates an avatar for a flat $0.95, so ten cost $9.50. What the comparison does and does not show.
- Akool max video length: 15 to 60 minutes by plan vs Sume's 60 s
Akool lists 15, 30, 45 and 60 minute maximum video lengths on its four paid plans. A Sume Avatar 1.0 job tops out at 60 seconds; here is the cost of the gap.
Written by Sume