HeyGen bulk status for 100 videos at once vs Sume job webhooks
HeyGen added bulk status reads of up to 100 ids for videos, lipsyncs, translations and assets. Sume reads jobs one by one or pushes signed terminal webhooks.

HeyGen's API changelog lists bulk status endpoints that return up to 100 ids per request for videos, lipsyncs, video translations and assets. Sume has no bulk status read for generation jobs in the pages checked here; you poll GET /v1/jobs/{id}/status per job, or let a signed webhook tell you when each one ends.
What HeyGen added
From the HeyGen API changelog, read 2026-10-02:
- The same changelog says batch video creation takes up to 100 videos and returns one
batch_id.
| Resource | Endpoint | Ids per request |
|---|---|---|
| Videos | GET /v3/videos/statuses | Up to 100 |
| Lipsyncs | GET /v3/lipsyncs/statuses | Up to 100 |
| Video translations | GET /v3/video-translations/statuses | Up to 100 |
| Assets | GET /v3/assets/statuses | Up to 100 |
How Sume reports status
Every Sume generation returns a durable job. Jobs and results lists the statuses queued, processing, completed, failed and canceled, the last three being terminal, and advises exponential backoff while polling. For avatar video, a queued job is a normal accepted state because workspace concurrency applies when workers pick jobs up.
The alternative to polling is mode: "webhook" with a public HTTPS webhook_url. Webhooks says Sume sends terminal events only: job.completed, job.failed and job.canceled, signed with HMAC SHA 256 over the timestamp and raw body.
A pattern for 100 avatar clips
Submit each clip with its own Idempotency-Key, store the job id in your database, and subscribe by webhook so no loop of 100 reads is needed. Keep a slow poller as a fallback for any delivery that does not arrive.
Do not resubmit a paid request because a local timer expired; read the job first.
- Webhook as the primary signal, polling as the safety net.
- Verify the signature and refuse an empty secret.
- If you want server-side fan-out of many runs, Format bulk runs queue up to 100 runs, but that is a different surface from avatar jobs.
Sources
Related posts
More in Developers
- HeyGen POST /v3/templates makes a template from video; Sume has none
HeyGen's October API entry turns a video into a private template. Sume has no template object for avatar video: you keep the request JSON and avatar handle.
- HeyGen lipsync batches of 100 vs Sume Fabric one clip per job
HeyGen added POST /v3/lipsyncs/batches. Sume's talking-still route, VEED Fabric 1.0, has no batch route: you submit one job per clip with idempotency keys.
- HeyGen Studio video scene voiceover: freeze, loop or fit_to_scene
HeyGen's Studio API lets a video scene carry voiceover with playback freeze, loop or fit_to_scene. Sume uses silence beats and a timeline instead.
- Higgsfield 403 insufficient credits vs Sume 402: handle both
Higgsfield returns 403 when credits run out; Sume returns 402 insufficient_credits. A status-code map for 401, 403, 404, 422 and 402 when porting a client.
Written by Sume