Pick a Format from the list: io profile and showcase before you run
GET /v1/formats returns each Format with an io profile (input_kind and output_kind) and a showcase output, so you can choose one without paying for a trial run.

You can choose a Format without running it. GET /v1/formats returns, for each one, an io object that says what it takes and makes, and a showcase that is a real output the Format produced when it was registered. Compare those against your job: a URL that should become a video, a product that should become an image. Then run only the one that fits.
The fields
The Format API docs define both fields in the list response.
| Field | Meaning |
|---|---|
io.input_kind | url, text, image or product |
io.output_kind | video, image or text |
io.profile | A name such as url_to_video |
showcase | A real output made at registration, or null |
| Older Formats | io is null on Formats saved before the field existed |
| Needs | An API key with formats:read |
A selection loop
List with curl -sS https://api.sume.com/v1/formats -H "Authorization: Bearer $SUME_API_KEY". Page with next_cursor while has_more is true. Filter in your own code on io.input_kind and io.output_kind, then open the showcase URL of each candidate to see whether the style fits. For the shortlist, fetch the call sheet at https://docs.sume.com/formats/{handle}/{slug}.
The list includes what your key's workspace owns plus the ready-made Formats by Sume at the sume handle, so a first integration can pick from the catalog without authoring anything.
- Match
output_kindfirst: a video job needs a Format that makes video. - Treat
showcase: nullas unknown, not as bad. - Read the spend cap in
generation_spend_cap_usd_microsbefore the first run.
Using the shortlist in code
Cache the listing for a short time, and key your own mapping on invoke_url rather than the vanity address. A small table in your config that maps a job type, such as product image to video, to one Format is easier to audit than picking at run time. Re-check it when you see a 404 or a 409, since owners can rename or switch off Formats they own.
Limits
io describes shape only; it does not say how good the result is for your brand. A showcase is one output, not a guarantee. A Format with io: null can still be fine, so fall back to its call sheet. And status and api_trigger_enabled in the same listing do not decide whether you can call it; see inactive Formats.
Related posts
More in Formats
- Q4 creative test matrix: 3 hooks by 3 Formats in one 9-item bulk run
Test creative style and hook together: nine Format runs for one SKU in a single Sume bulk queue, with a worst-case spend you can read before you submit.
- Renamed a Format handle? Old URLs work for 90 days: store invoke_url
A renamed Sume Format handle keeps resolving for 90 days. For stored integrations, persist the opaque skl_ invoke_url, which never changes across renames.
- Retry one scene of a Format run without paying for the whole run
Send previous_run_id to continue a Sume Format run as another turn: redo one scene, keep the rest. The refusals, 404, 400 and 409, and what each means.
- Send a video to a Format run: URLs in input, not attachments
Format and Agent Completion attachments take images only. For video, put the media.sume.com URL in input; Format runs count it toward 10 videos per run.
Written by Sume