Blog

Formats

Sume Formats over the API: create and version a Format, call it, run bulk batches, get structured output, take webhooks, and debug failed runs.

Start with: What is a Sume Format? Turn an agent thread into one API call

Formats shared with my workspace: GET /v1/format-grants inbox

GET /v1/format-grants lists grants shared with your team workspace, pending and accepted, newest first. A personal key sees an empty list, not an error.

Who pays when a partner runs your shared Format? The grantee does

A grantee runs your Format at your address with its own team key. The run, spend, concurrency slot and media belong to the grantee, and runs list per workspace.

App ad from a store link: sume-mobile-app-ugc and the 30-file budget

Calling the sume-mobile-app-ugc Format with an app page URL and screenshots: what counts toward the 30-file budget, what does not, and the idempotency key.

Logo animation with sume-logo-motion-design: one call, a cap, a retry

Animate a logo with the sume-logo-motion-design Format: attach the PNG, set a spend cap, keep a stable idempotency key, and continue a run to fix one detail.

Change only the CTA of a finished ad: previous_run_id on a Format

Re-do one line of a finished Sume Format ad without paying for the whole ad again: previous_run_id, a new key and cap, and the four refusals to expect.

sume-virtual-try-on or sume-virtual-fitting: read the io profile first

Two catalog Formats sound alike. Before you send a model photo and a garment to either, read GET /v1/formats/sume/{slug} for its io profile and spend cap.

Sume catalog Formats for ads: which of 27 slugs to read first

The Sume Format catalog lists 27 slugs. Group them by the ad job their names suggest, then confirm each with GET /v1/formats/sume/{slug} before you call it.

Sume bulk queue says completed but some runs failed: read the counts

A Sume Format bulk queue turns completed when every item is terminal, not when every item worked. Read counts.failed and each item error before you ship.

Format run spend cap: 500 max, null, 0 and the $400 default

What generation_spend_cap_usd does on a Sume Format run: the number you send, null, zero, values above 500, and the default when the Format never named a cap.

Turn a new video model launch into a repeatable Sume Format

A new video model dropped and one test clip looked great. Save the recipe as a Format, call it with a key, a cap and a webhook, and keep the result repeatable.

Live-commerce clip retry: looks yes, words no

A scene retry re-renders named scene ids on the same thread. New words, host or product need a new production, because the voice track sets the limit.

Run a Sume Format on a schedule without overlapping runs

Your nightly job fires while last night's Format run is still going. Choose allow, skip or reject with on_active_run, and know which status each one returns.

Stalled or just slow? Read the Sume Format run events feed

A Format run takes minutes. GET /v1/format-runs/{id}/events shows the phase, and the last entry's at timestamp is a progress clock. If it stops, it is stalled.

Live-commerce Format: instruction past 4,000 characters is cut

A Format run rejects input above 2 MiB with a 400, but silently keeps only the first 4,000 characters of instruction. Put the broadcast script in input.

Call a Sume catalog Format without forking it: the sume handle

Sume ships ready-made Formats at the reserved sume handle. Read the io profile, call POST /v1/formats/sume/{slug}/runs, and fork only to change the recipe.

Format run completed but output is null: handle outcome degraded

A Sume Format webhook says completed, yet output is null. Outcome degraded means real media is in artifacts and your schema did not match. How to branch.

YouTube template videos need distinct storylines: vary each brief

YouTube monetization policy flags mass-produced, repetitive template content. Vary the brief for every item in a Sume Format bulk run and test similarity.

Three Demand Gen video hooks in one Sume bulk run

Queue three hook variants of one video in a single Sume Format bulk run (up to 100 items per request) so you can test which opening works.

Retry one scene and keep the voice track: Format previous_run_id

A new voice is not a reason to redo a whole video. Continue a finished Format run with previous_run_id and an instruction that touches one scene only.

Stocking stuffer ads for 100 products: one bulk run, 16 at a time

One Sume bulk run takes 1-100 items and 1-16 parallel workers. Here is how to set it up for a stocking stuffer catalog and check the failed count at the end.

November 1 switch: restyle Halloween product stills into a fall set

After Halloween, run your stills through the sume-restyle Format in one bulk queue of up to 100 items and keep the product while changing the mood.

Cyber Monday email header: a magazine cover Format with room for type

sume-magazine-cover-campaign returns a cover-style still with space for headline text. Add the sale line in your email builder so it stays editable.

A gift portrait for your store homepage: model product portrait Format

The sume-model-product-portrait Format returns one finished still of a person with your product. Use it for a homepage hero, not for a motion ad.

Wall of text or Video Hook: which Fastlane Format for a doorbuster?

Use sume-wall-of-text when the offer itself is the ad and sume-video-hook when the first seconds must stop the scroll. Both deliver a Blitz, not Seedance.

Selling on many channels: queue 100 product videos overnight

Amazon says over 95% of independent sellers sell on several channels. Queue up to 100 Sume Format runs with a concurrency window and wake up to a media set.

GPT-6.1 Sol errs less, but still pass prices as Format input

OpenAI says GPT-6.1 Sol cut factual errors from 11.4% to 7.7%. For ad video, give the run your prices and claims as input data instead of trusting recall.

Format run queue.position is always null: no queue depth published

The status response has a queue object, but position is null on purpose. Use queue.state and expires_at for waiting UX instead of a fake countdown.

Argon targets long-horizon work; a Sume Format run ends at 90 minutes

Google positions Gemini 4 Argon for long tasks. A Sume Format run is force-finalized as failed 90 minutes after creation, so split long jobs into runs.

Argon 1M output tokens vs Sume Format 120,000-character schema cap

A 1M-token output limit does not lift Sume's output_schema limits. The 120,000 characters bound the schema, and the fallback projection reads 8,000 characters.

Image types a Sume Format run accepts: JPEG, PNG, WebP, GIF, AVIF

A Format run accepts five image types, 30 files and 500 MB in total. Convert HEIC and TIFF first, and prefer public HTTPS URLs over asset ids.

Compare orchestrator models in one Sume bulk queue with per-item model

A bulk item can carry its own model. Send the same input under several orchestrators, then compare debited spend and output across the receipts.

Flat Sume output schema for a spreadsheet row: null is an empty cell

Design a Sume output_schema that maps to one spreadsheet row. Optional fields become nullable strings, and a null becomes an empty cell when you write the CSV.

Hashtag and caption limits in a Sume output schema, checked post-run

Use pattern, maxItems and maxLength in a Sume output_schema so captions and hashtags are checked after the run. A violation returns null output, not bad data.

Know a Sume bulk batch is done: count terminal webhooks vs item count

A Sume bulk queue has no webhook. Put a webhook_url on each item, verify the signature, dedupe by request_id and count terminal events to the item count.

Localized video batch: one Sume bulk queue per language

Split a multilingual batch into one Sume bulk queue per language so each language gets its own concurrency, spend cap, idempotency key and retry.

Make Iterator and Array aggregator: build a Sume bulk items array

In Make, an Iterator splits an array into bundles and an Array aggregator joins them. Use the pair to turn sheet rows into a Sume bulk items array.

Map Sume bulk queue results back to spreadsheet rows by item index

A Sume bulk queue lists items in the order you submitted. Use each item's index to write results back to the right spreadsheet row, and handle run_id null.

Pilot 3 rows before a Sume bulk batch and estimate spend from receipts

Run three rows first, read usage.debited_usd_micros from each receipt, and scale up. Skip billable_amount_usd_micros: it leaves out the agent turn.

Send more than 100 spreadsheet rows to a Sume Format in chunks

One Sume bulk queue takes 1 to 100 items. For a 450-row sheet, split it into chunks and key each chunk so a retry never doubles spend.

Spreadsheet with more than 64 columns: nest them in one Sume input key

A Sume run input allows 64 top-level keys and 2 MiB. Nested keys do not count toward the 64, so a 90-column sheet row fits under a single key.

Sume bulk item expires_at: 90 minutes start at dispatch, not at submit

A Sume run's expires_at is 90 minutes from created_at. A bulk child is created when dispatched, so a queued item's clock has not started.

Sume schedule cron: why @weekly and 6-field cron are rejected

Sume schedules take only standard 5-field cron. Macros like @weekly and 6-field expressions with seconds are rejected, so convert them before you create one.

Sume scheduled run across daylight saving: Monday 9am New York

A Sume schedule takes a 5-field cron and an IANA timezone. Across the 2026 clock changes a Monday 9am New York job fires once, and its UTC hour shifts by one.

Weekly content calendar as JSON: a Sume Format output schema

Bind a JSON Schema to a Sume Format run and get a seven-day content calendar back as validated JSON, with real dates, enums and media references.

Weekly Sume run idempotency key from the ISO week: 2026 has 53

Key a weekly Sume run by ISO week so a retried cron never double-bills. Python's %G-W%V gives 2026-W53 for Jan 1, 2027, and plain year-week keys break there.

Worst-case spend of a 100-item Sume bulk queue and its spend caps

Each bulk item can carry its own spend cap up to $500, and caps are not clamped to the Format cap. Do the worst-case math before you submit.

Zapier Catch Hook as a Sume per-item webhook receiver: 10 MB, 200

A Zapier Catch Hook can receive a Sume run webhook. Zapier's own help sets the payload cap and the response, which decide what Sume sees on delivery.

Detect that someone edited your Sume Format before the weekly run

Pin the Format's package_sha and version, and compare them right before a weekly run. If a teammate edited the Format, stop the run instead of paying for it.