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

LinkedIn video uploads but never processes: ProRes fix

LinkedIn says a ProRes file may upload but not process. Probe the codec with Sume video inspect, then re-encode to H.264 MP4 with an exact video trim.

LinkedIn video 10 to 60 fps: conform a 120 fps phone clip

LinkedIn Page video accepts 10 to 60 fps. A 120 fps phone clip or an 8 fps timelapse is outside that. Probe the rate, then conform it with Sume trim output.fps.

LinkedIn video ad 360 to 1920 px range: downscale a 4K master

LinkedIn video ads accept 360 to 1920 pixels on each side. A 3840x2160 master is over the limit. Scale it to 1920x1080 with Sume video trim output, exact mode.

LinkedIn video ad sound rate: under 64 kHz, read it with a probe

LinkedIn's video ad spec lists AAC or MPEG4 sound at under 64 kHz. Sume video inspect returns the audio codec and sample rate so you can test a file first.

Pinterest video ad 4-second minimum: trim allows 0.2, so check

Pinterest video ads need 4 seconds minimum, 15 minutes maximum. Sume trim cuts from 0.2 seconds, so read duration_seconds on the result before you upload.

Reconcile an overnight Sume Format batch: list runs, limit and cursor

List a Format's runs newest first with limit 1 to 100 and a cursor. There is no cross-Format list, so one call per Format. Curl loop to page through a batch.

Shortest ad video: Pinterest 4 s, LinkedIn 3 s, Google action 10 s

Minimum video length per ad platform, read from each vendor page on 2026-10-08, against the 0.2 second floor of Sume video trim. One cut, one duration check.

Stop a Sume Format bulk run mid-batch: cancel starts the next item

The bulk API has no cancel-queue endpoint, and canceling a running child frees its slot for the next item. How to stop a runaway batch, and how to size queues.

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.

Which ready-made Sume Formats can I call today? 27 slugs

Sume's first-party Format catalog answers at the sume handle with 27 slugs, from UGC and product demos to try-on, product splashes and recreate. List and call.

Spend cap 0 is a 400 and null is $500: set a cap per holiday item

Sume's generation_spend_cap_usd rejects 0 and anything above 500, and null means the $500 maximum. What to send on each item of a holiday bulk queue.

Format run usage after a cancel: debited, held, refunded and final

After you cancel a Sume Format run, usage shows the spend. How debited, held, refunded and final differ, and when the number is settled in a holiday batch.

A 340-product catalog: four Sume bulk queues of 100, 100, 100 and 40

A bulk queue holds 1 to 100 items, so 340 product videos need four queues. Split the list, key each queue, and remember workspace concurrency still applies.

Python: poll a Sume bulk queue, then list the item indexes to redo

A short Python loop that polls GET /v1/format-run-queues/{id} with backoff, waits for completed, and lists failed or canceled item indexes for a second queue.

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.

Re-queue only failed items of a Sume Format bulk queue

A completed bulk queue is not all succeeded. Read counts.failed, pick the failed indexes, and resend them under a new Idempotency-Key. Python, offline.

200 product videos in Sume: two queues of 100, 6 to 12 hours

Bulk-run 200 product videos: two queues of 100 items, 8 runs in flight, 25 rounds. At 15 to 30 minutes a run that is about 6.25 to 12.5 hours.

Format run incomplete_assembly: continue it, do not pay twice

incomplete_assembly means the run hit its time limit with generation jobs unfinished. Read pending_job_count, then continue with previous_run_id.

primary_output_missing: your schema passed but the key is empty

A Format run can satisfy your output_schema and still fail because primary_output_key is empty. Here is how to read it and fill the gap.

Is a 4:5 video a YouTube Short? 1080x1350 on Sume Timeline

YouTube's Shorts page names square or vertical videos up to 3 minutes. 4:5 is taller than wide. Sume Timeline renders 1080x1350, so verify it after upload.

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.

Bulk queue, empty wallet: failed items, fresh key, check balance

If the wallet runs out during a bulk run, later child runs fail admission and become failed items. Check the balance, then resubmit with a fresh key.

Format run mcp_unavailable: failed before the model, charged false

mcp_unavailable means the per-turn tools never attached, so the run stopped before any turn. details.charged is false. Retry with a new Idempotency-Key.

output_extraction_failed: harvest_unavailable or harvest_threw?

output_extraction_failed has two reasons with opposite handling: reread a completed run, or report a host defect. Here is how to tell them apart.

provider_credits_exhausted: why a Format run says retryable false

This Format run error is on Sume's side, not your balance or input. details.retryable is false, so do not re-fire in a loop. Here is the handling.

Same ad Format, new model: log three receipt fields on every run

To keep an ad format steady when the model changes, pin the Format, treat model as the orchestrator only, and log version, model and schema.

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.

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.

Edited one ad hook and resent the bulk run? Same key gives 409

Reusing an Idempotency-Key with a changed Sume bulk-run payload returns 409 idempotency_conflict. Send only the edited hook under a new key.

100 bulk items: 7 rounds at concurrency 16, 25 rounds at concurrency 4

A Format bulk queue holds up to 100 items and runs 1 to 16 at once. If items take equal time, 100 items need ceil(100/16) = 7 rounds at 16 and 25 rounds at 4.

Bulk queue key from a payload hash: same body 202, new body 409

Derive a Format bulk queue Idempotency-Key from a sha256 of its body. The same body replays 202 with the old queue; a changed body gives 409.

Bulk queue spend ceiling: 100 items at $2 is $200; 16 live is $32

With generation_spend_cap_usd of $2 per bulk item, 100 items cap at $200 in total and 16 running items at $32 at once. Caps are ceilings, not prices.

Which Sume Format for a UGC ad? Read io, then call by name

Sume's catalog lists UGC-style Formats such as sume-close-camera-ugc and sume-mobile-app-ugc. Read each Format's io profile, then run it with a spend cap.

Bulk queue worst case: 100 items x per-item cap, $300 not $40,000

Each child in a Sume bulk queue is a run with its own spend cap. 100 items at $3 cap at most $300; the default $400 cap would allow $40,000. Set caps per item.

LinkedIn GIF ads cap at 250 frames: 10 seconds at 25 fps

LinkedIn's image ad page allows GIFs of up to 250 frames. At 25 fps that is 10 seconds. For anything longer, send a video made with Sume trim or Timeline.

LinkedIn video ad sizes for four ratios and the Timeline output to use

LinkedIn lists min and max sizes for 16:9, 1:1, 4:5 and 9:16 video ads. Set Timeline output width and height to a size inside each range: $0.10 per render.

Cancel a Sume bulk queue: there is no queue cancel, so cancel children

Sume's API has no cancel-queue endpoint. Cancel each child with POST /v1/format-runs/{run_id}/cancel; the item frees its slot, and you pay for what already ran.

Remix a reference ad in two calls: ingest, then a sume-recreate run

Read a reference clip with Sume reference ingest (300 s max, shots, OCR, audio), then start a sume-recreate Format run with your product and a spend cap.

Which Sume Formats return images, not video? 9 of the 27 slugs

Of the 27 Formats by Sume, 18 declare video output and 9 declare image output. The slug lists, how to read the io profile, and why to check before you call.

Bulk queue concurrency 16 on Sume is a window, not a speed promise

Sume bulk Format runs accept concurrency 1 to 16. It limits how many children start at once and does not promise throughput. What 100 ad items really do.

Which Sume catalog Formats make ad creative: the slugs by ad type

Sume ships 27 ready-made Formats at the sume handle. Which slugs fit which ad type, and how to read one with GET /v1/formats/sume/{slug} before paying.

Can a 4:5 or 2:3 video run in Google Ads? What the specs allow

Google Ads lists 16:9, 9:16 and 1:1 as primary and says ratios in between are allowed; a spec page also names 4:3, 2:3 and 4:5. Exact sizes for Sume Timeline.

Hook line in instruction or input? Sume Format run for ad variants

Put the hook text in the instruction field, and put product data in input. Rules, limits and errors for varying an ad hook across Sume Format runs.

Instagram says upload the highest resolution possible: what's the max?

Instagram's creator page says upload the highest resolution possible but gives no pixel number. Sume Timeline's ceiling is 2160 per edge, so 1214x2160 vertical.

Smallest vertical video size that passes Google Ads and TikTok

Google lists 720x1280 as the vertical minimum, TikTok in-feed 540x960 and its app bundle 720x1280. One Timeline output size clears them all, with the table.

Put your 16 strongest hooks first: Sume bulk queues start in order

A bulk queue returns 202 with the first `concurrency` items already running, up to 16. Order your 100 weekly ads so the best hooks are the first ones you see.

Bulk queue item error: format_run_canceled vs format_run_failed

In a Sume bulk queue, a failed child reads format_run_failed and a canceled child reads format_run_canceled. The real reason is in the child run receipt.

100 Omni proofs, then 20 finals: two bulk queues cost $45, not $112.50

Run 100 weekly ad proofs at 360p in one Sume bulk queue, approve 20, then queue those at 1080p. Video cost: $22.50 plus $22.50 instead of $112.50.