Sume schedule run input limits: 64 properties and 2 MiB
The input object on a Sume schedule or Agent Completion run takes up to 64 properties and 2 MiB of UTF-8. Where it lands and how to keep large data out of it.

Calling an agent with data (a product list, a transcript, a brief) goes through the input field, and it has limits. The Scheduled page lists them: 64 properties and 2097152 UTF-8 bytes, which is 2 MiB.
| Limit | Value |
|---|---|
| input properties | 64 |
| input size | 2097152 UTF-8 bytes (2 MiB) |
| Idempotency-Key length | 1 to 255 characters |
| limit on list endpoints | 1 to 100, default 50 |
Where input goes
On Agent Completions, Sume writes all of input to /workspace/inputs/sume-action-input.json and puts a bounded pointer to that file in the prompt. It treats the value as data, never as instructions. That design is why 2 MiB is workable: the prompt does not carry the payload.
Staying under the limit
Group related values into one property: 64 top-level properties go further when a list of rows is one property. Keep media out; send URLs or attach images, up to 30 per request, instead. If your data is larger than 2 MiB, host it and pass a URL for the agent to fetch.
Check size before the call. A short script catches an oversized payload before you pay for a request.
import json
payload = {"products": [{"sku": "A1", "name": "Mug"}]}
raw = json.dumps(payload).encode("utf-8")
assert len(payload) <= 64, "too many properties"
assert len(raw) <= 2097152, "input over 2 MiB"
print(len(raw), "bytes ok")Sources
Related posts
More in Developers
- Sume SDK error classes: HTTP status, class and action in TypeScript
Map 401, 402, 403, 404, 409, 429 and 5xx to the SumeApiError subclass and the right action, and read code, requestId, retryable and retryAfterSeconds.
- Sume SDK retries: which requests it repeats and how long it waits
createSumeClient retries 408, 429 and 5xx up to maxRetries (default 2), honours retry-after up to 60 seconds, and replays a POST only with an Idempotency-Key.
- Sume STT silence split: it only runs after the last sentence end
Sume STT cuts at terminal punctuation first; the 0.5 s silence rule only splits the unpunctuated run after the last terminal, not earlier pauses.
- Sume sync mode: set your client timeout above 30 s, then poll
Sume sync waits at most 30 seconds. If your HTTP client gives up at 30 s too, you lose the job id. Use a 45 s timeout, then poll and reuse the Idempotency-Key.
Written by Sume