Black Friday code freeze checklist for a Sume Format integration
Before the freeze: key scopes, spend caps, idempotency keys, a webhook test, queue failure handling and the rate-limit budget, all drawn from the Sume docs.

A Black Friday freeze is a good moment to check eight things in your Sume Format integration. Every one is a documented behavior, and each is cheap to verify a week early.
The checklist
| Check | What the docs say |
|---|---|
| Key scopes | formats:write to create, formats:read to poll; a key without them gets 403 insufficient_scope, and scopes cannot be added to an old key |
| Key type | Service-account keys cannot create runs or queues |
| Team Formats | A team-owned Format needs a key issued in that workspace |
| Idempotency | One key per batch; a replay returns the old run or queue |
| Spend caps | Set generation_spend_cap_usd per run; 0 is rejected, null means $500 |
| Queue result | completed means all items are terminal; read counts.failed |
| Webhook | Send a test delivery, verify the signature, ack fast |
| Rate limit | Writes per minute: Free 120, Pro 300, Startup 600, Scale 1200; reads are 40 times that |
Dry run
Submit a queue of two items at concurrency: 1 on a staging key, cancel one child with POST /v1/format-runs/{run_id}/cancel, and confirm your code handles completed with counts.canceled: 1 and no webhook for the canceled run.
- 429: wait
retry-afterseconds; polling spends the read budget, not the write budget. - 503
studio_agent_upstream_unavailableduring a poll is transient; the queue keeps running.
Freeze the payloads, not the schema
If you bind an output_schema, change nothing about it during the freeze: every property must be in required and every object needs additionalProperties: false, so a late edit is easy to get wrong.
Sources
Related posts
More in Developers
- Black Friday webhooks: staging and production URLs for a Sume Format
Webhook URLs must be public HTTPS and are re-checked at delivery. Use a separate URL per environment and send a test delivery before a bulk queue goes out.
- Black Friday spike: your webhook returns 503, what Sume retries
If your endpoint sheds load on Black Friday, Sume retries a terminal webhook up to 10 times with doubling backoff. Know the schedule and what to do after.
- Save a 30-second Seedance 2.5 clip to S3 with boto3, no temp file
Stream the finished MP4 from Sume's /content endpoint straight into S3 with boto3 upload_fileobj. Includes the 30 s price table and a short script.
- One source image, three Ideogram 4.5 edits in parallel (Python)
Run three different Ideogram 4.5 edits from the same source image at once on Sume, each with its own Idempotency-Key, instead of chaining them.
Written by Sume