Sume's 27 catalog Formats: slugs, 404 rule and the io profile
Sume lists 27 catalog Formats at the sume handle. An unlisted slug gives 404. Read description and io before you run one, then fork it to change it.

What is in the catalog
Sume's own Formats live under the handle sume, and as of 2026-10-08 the catalog has 27 slugs, all starting sume-. You can run one without forking it. A slug not on the list answers 404 format_not_found, so a typo or an old name fails fast, before any spend.
Call one by POST /v1/formats/sume/{slug}/runs. The run, the spend, the media and the receipt all belong to your key and your workspace, not to Sume.
| Family | Slugs |
|---|---|
| UGC and demos | sume-close-camera-ugc, sume-mobile-app-ugc, sume-product-usage-demo, sume-before-after |
| Fashion and portraits | sume-virtual-try-on, sume-virtual-fitting, sume-fashion-editorial, sume-model-product-portrait, sume-magazine-cover-campaign |
| Commercials | sume-product-commercial, sume-cinematic-studio-commercial, sume-logo-motion-design, sume-editorial-product-set |
| Beauty and product hero | sume-beauty-studio, sume-formula-texture-hero, sume-water-splash-hero, sume-sunscreen-splash, sume-cream-squeeze, sume-serum-drip, sume-toner-pour |
| Edits and remakes | sume-slideshow, sume-wall-of-text, sume-green-screen, sume-video-hook, sume-fruits-drama, sume-recreate, sume-restyle |
Read the io profile first
GET /v1/formats/sume/{slug} returns a description and an io profile. io.input_kind is url, text, image or product, and io.output_kind is video, image or text. That is 4 by 3, or 12, possible combinations. On older Formats io can be null, so handle that case.
Use it to route work. A product URL goes to a Format whose input_kind is url or product; a request for a still goes to one whose output_kind is image. Matching the profile before the run avoids paying for a Format that wants input you do not have.
When to fork
A catalog Format cannot be edited in place. To change its instructions, fork it in the Format library. The fork lives in your handle or your team's and has its own slug, so later calls use POST /v1/formats/{handle}/{slug}/runs with your handle.
Version pinning follows you: each receipt records the format.version that ran, so a fork you edit later does not alter past receipts.
- Unlisted slug: 404, no charge.
- Team forks need a key from that workspace, else 403
workspace_key_required. - Catalog runs still need
Idempotency-Key.
A routing function
A small router makes the profile useful. Read the io pair once per slug, cache it for the day, and select slugs by input_kind and output_kind. For example, a product URL and a video result narrows the 27 slugs to the ones whose profile says so. If io is null, skip the slug or send it to a human, because the profile is the only machine-readable hint.
Re-read the list when you deploy. The catalog can grow, and your cache should not hide a new slug or keep a removed one.
- Cache profiles, not receipts.
- Log the slug and the
format.versionof every run. - Treat a 404 as a config error, not a retry.
Cost awareness
Catalog Formats do not change what a run can cost. Spend is still capped by generation_spend_cap_usd, and the Format's own default of $400 applies when you send nothing. Set a smaller cap for small jobs such as a single still.
Keep a written record
Document the decision in the repository next to the code that makes the call, so the next engineer sees why the choice was made and which docs page it came from. Re-read that page when you upgrade a client or change a key, since gates and limits are the parts most likely to differ from what you remember.
A short note of the date you last verified the behaviour, such as 2026-10-08, is enough for a reviewer to know how fresh the claim is.
Sources
Related posts
More in Formats
- Wallet 402 or spend cap: which stops a Sume holiday batch first
A low wallet blocks a Format run at create with 402 insufficient_credits; a spend cap ends a running run as failed. Sizing a cap per item.
- Sume Format list empty or 404? Check which key you are using first
A missing Format is usually the wrong key: a personal key cannot see team Formats, and 403 workspace_key_required means the right team with the wrong key.
- Sume has no JSON mode: strict false changes nothing, bind a schema
Coming from OpenAI json_object? Sume Format runs have no equivalent. strict false relaxes nothing. Bind a schema or take the built-in output shape.
- Sume webhook signature fails: check the secret fingerprint first
When a Sume webhook signature will not verify, compare the 12-character secret fingerprint header before you debug the HMAC. Includes a Python verifier.
Written by Sume