Media URLs in a Format run input count: 30 files, 10 videos, 10 audio

Media links inside a Format run's input share one budget with attachments: 30 files, at most 10 videos and 10 audio, counted by file extension, else 400.

5 min readSume
All posts

Every HTTPS media URL anywhere inside a Format run's input counts against the same budget as attachments[]: 30 files in total, of which at most 30 images, 10 videos and 10 audio files. Going over any limit is 400 invalid_attachment on the create, and nothing runs.

This is from the Formats overview and Create a run, read on 2026-10-02.

How does a URL get counted?

The check is by file type, not field name. Any HTTPS URL whose filename ends in a media extension counts, however deeply it is nested in input. A product page URL does not count. The same URL repeated counts once. Media the agent finds for itself during the run is not yours and does not count.

Read 2026-10-02 from docs.sume.com
CaseCounted?
host_image_url ending in .pngYes
product_image_urls[] with three .jpg linksYes, three files
A shop page URL such as /p/8823No
The same .mp4 URL listed twiceOnce
A narration .mp3 nested several levels deepYes, as audio

What are the totals?

The budget is shared with attachments, which accept up to 30 images (JPEG, PNG, WebP, GIF, AVIF, at most 30 MB each and 500 MB per run). So if you send 20 attachments and 12 image links in input, you are over, even though neither list alone is.

  • 30 files per run in total across attachments and input.
  • At most 10 videos and 10 audio files.
  • Attachments are images only today; send documents, video and audio by URL in input.
  • A URL in input is not fetched at create the way an attachment is; attachments are fetched and copied to durable storage so a broken image fails fast with a 4xx or 5xx.

What does the failure look like?

The create returns 400 with code invalid_attachment. Attachment problems at create use attachment_not_found (unknown asset_id), attachment_too_large (413) and attachment_fetch_failed (502, with details.index naming the item). All of them happen before the run starts, so nothing is charged.

{
  "error": {
    "code": "invalid_attachment",
    "message": "..."
  }
}

How do I stay under it?

Count media links in your payload before you send. A catalog row with a gallery of 40 photos needs trimming to the shots the Format actually uses. Pass the best few, and put the rest in your own storage keyed by the run id. Because input can hold up to 64 top-level keys and 2 MiB, size is rarely the issue; the media count is.

Idempotency covers attachments: replaying a key with a different image list is 409 idempotency_conflict, and a true replay does not re-fetch your images.

What does Sume not do?

It does not tell you per field which URL tipped the count over, so log your own tally. And a link to a web page, even one full of images, is one URL, not a gallery; the agent may open it, but it is not counted.

Does the budget differ for team Formats?

The attachment budget is the same for every Format. Team Formats differ in auth: they need a key created in the owning workspace, and a personal key fails with 403 workspace_key_required. Check the key before you debug a count.

For bulk queues, each item is the same body as a single run, so each item has its own 30-file budget, and a bad item fails the whole create with details.index before any queue exists.

Where do I read the live limits?

Exact schemas come from the live OpenAPI at https://api.sume.com/reference/json. The tables in the docs are a readable summary, so check the spec if a limit seems to have moved.

Sources

Related posts

More in Formats

All Formats posts

Written by Sume