Format run limits: 64 input keys, 2 MiB, 8,000-character instruction
Put episode data in input (64 top-level keys, 2 MiB) and the task in instruction (8,000 characters). The body cap is 4 MiB; unknown top-level fields return 400.

How big can a Format run request be? The instruction is capped at 8,000 characters, input at 64 top-level keys and 2 MiB, attachments at 30 images, and the whole body at 4 MiB. Anything over the body cap returns 413 payload_too_large.
These limits shape how you pass a season. An episode brief that includes a full dialogue script, a cast list and a shot order is data, not instruction text, and belongs in input.
What goes where
The Format body is the recipe (house style and quality bar). Your instruction goes after it and wins where the two disagree. The input object is a free-form data block that the Format reads by key.
| Field | Limit | Over the limit |
|---|---|---|
| instruction | 8,000 characters accepted; about the first 4,000 carried as prompt text | Refused |
| input | 64 top-level keys, 2 MiB compact | 400 |
| attachments | Up to 30 images | 400 |
| Whole body | 4 MiB | 413 payload_too_large |
| Idempotency-Key | Up to 255 characters | Rejected |
Habits that avoid errors
Send media by URL, not inline. Name at least one of instruction, input, previous_run_id or attachments; {} and {"input": {}} are 400 invalid_request. Unknown top-level fields return 400 unknown_parameter, with a suggestion if the name is close, so webook_url comes back as webhook_url.
Pick the Idempotency-Key from the item that the run makes, such as the episode id and a version you bump on purpose. A random key per request makes the header useless.
Spend and model
generation_spend_cap_usd sets this run's ceiling up to $500; an omitted value inherits the Format's cap, which is $400 for a Format that never set one. The model field picks only the orchestrating LLM; the Format's tools choose the video, image and audio models.
Sizing an episode brief
Most overruns come from pasting a whole script into one field. The docs accept 8,000 characters of instruction but carry only about the first 4,000 to the run as prompt text, so keep it well below that and put structured data in input, which is written whole to a file the agent reads and is never truncated. The full request body must stay under 4 MiB, so pass media by URL rather than inline.
- Instruction: 8,000 characters.
- Input: 64 top-level keys, 2 MiB.
- Images: 30. Body: 4 MiB.
What the errors look like
Over-limit creates do not run and do not bill. A body above 4 MiB returns 413 payload_too_large, more than 64 input keys or a non-object input returns 400, and unknown top-level fields return 400 unknown_parameter. Send a deliberately oversized body in staging and confirm your client surfaces the error text instead of swallowing it.
Sources
Related posts
More in Formats
- Format run receipt: $14.96 billed against a $120 cap, field by field
The documented Format run receipt shows billable_amount_usd_micros 14,959,638 and a cap of 120,000,000. How to read micros, and what unused cap means.
- Format run webhook receiver in Python: HMAC and a 5-minute window
Verify a Sume format.run.terminal webhook in Python: HMAC-SHA256 over timestamp.raw_body, stale-timestamp rejection, empty-secret refusal, run_id dedupe.
- Format showcase field: judge a Format by a real output first
GET /v1/formats returns showcase, a verified sample output. Use it with description and io to pick a Sume Format before you spend credits on a run.
- Format spend caps: the $400 default, $500 maximum, and your own
A Sume Format run can never spend past its cap. How the cap is chosen, what happens when a run hits it, and how to size generation_spend_cap_usd per run.
Written by Sume