Format run instruction: 8000 characters accepted, about 4000 carried
A Sume Format run instruction accepts 8,000 characters, but only the first ~4,000 reach the agent as prompt text. Put long data in input, carried whole.

The instruction on a Sume Format run accepts up to 8,000 characters, but only the first ~4,000 are carried to the run as prompt text. Anything longer is accepted and then not used, so put long material in input, which is written whole to a file the agent reads, at any size up to 2 MiB.
The numbers come from the Create a run docs, which have a table headed "accepted and carried".
What is accepted and what is carried?
Three fields, three different answers.
| Field | Accepted | Carried to the run |
|---|---|---|
instruction | 8000 characters | The first ~4000 characters, as prompt text |
input | 2 MiB (2097152 UTF-8 bytes, compact), 64 top-level keys | All of it, as a file the agent reads; never truncated |
| The Format body | No cap beyond 100 MiB per package file | All of it, attached as files |
Why does the cap not produce an error?
The API accepts up to 8,000 characters, and the docs say only the first ~4000 are carried as prompt text. Their advice is blunt: keep the instruction well inside ~4000 characters and put data in input. The docs do not describe a warning for an instruction past 4000 characters, so do not rely on one; if a run ignored the end of your brief, the length is the first thing to check.
What belongs in input instead?
Scripts, price tables, product copy, shot lists, and anything a supplier or customer wrote. input is written to /workspace/inputs/sume-action-input.json and the agent is told to read it as data, never as instructions, which makes it the right place for untrusted text as well. The Format recipe decides which keys it reads, so say in the instruction where to look.
One edge: an empty input ({}) adds no file and no block, byte-identical to omitting it. A Format that says "read product_url from the input" then has nothing to read. A body that names none of instruction, input, previous_run_id or attachments is 400 invalid_request.
{
"instruction": "Vertical 9:16, 20 seconds. Follow the script in input.script and the prices in input.price. No BGM.",
"input": {
"script": { "segments": [{ "tag": "Intro", "text": "..." }] },
"price": { "list": "31,000", "sale": "22,940" }
},
"generation_spend_cap_usd": 40
}How does this interact with the Format recipe?
The Format comes first in what the agent receives, as the how; your instruction comes after it, so where the two disagree the model follows what you asked for. That ordering is also why a long instruction that restates the recipe is wasted characters: the recipe already lives in the Format package.
The 4 MiB body cap is a separate limit: the whole request over 4 MiB is 413 payload_too_large, with details.limit_bytes. Send media by URL, not inline. See scraped copy into input for the injection angle.
How do I check what the agent received?
Every receipt carries a thread_id. Open that thread in the Agents dashboard to read what the run did, and compare it with your brief. If the run followed the start of your instruction but not the end, count the characters before you debug anything else.
Sources
Related posts
More in Formats
- Which schema shaped my Format run? output_schema.source explained
Every Sume Format receipt names the schema that shaped output. source is default, action_default or request_override. Here is how each is chosen and checked.
- previous_run_id errors on a Format run: 404, 400 and 409 decoded
Continuing a Sume Format run can fail with previous_run_not_found, format_mismatch, not_terminal or not_resumable. Which are retryable and how to fix each.
- What a Format run receives: instruction order and the input file
A Format run composes the Format pointer, the package, your instruction, an unattended block and an input file at /workspace/inputs. Order and what wins.
- Format run provider_credits_exhausted: not your balance, wait
provider_credits_exhausted means Sume's model provider account ran out of credit, not your balance. Do not retry right away; wait, then use a new key.
Written by Sume