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

Is running the same Format weekly a template to YouTube?

A Sume Format is a saved recipe, not a saved video. How to separate the repeatable process from the repeatable output so weekly Shorts do not read as templated.

Release a 50-SKU holiday batch in two bulk queues: 5 first, 45 after

Submit 5 SKUs as a pilot queue, review the clips, then queue the other 45. Sume bulk queues take 1-100 items at concurrency 1-16. Runnable payload builder.

Back-in-stock video for one SKU: send the facts as input, not prose

One restock clip is one Format run: put SKU, stock count and ship date in an input object, add a short instruction, and key the run by SKU and date.

Black Friday ad copy and video in one call: an output_schema example

Bind an output_schema with headline, caption and a SumeMediaFile video so one Format run returns typed copy and the clip together, with primary_output_key set.

Bulk queue concurrency 16 but fewer runs start: workspace concurrency

Concurrency 16 is a ceiling on the queue, not a promise. Workspace generation concurrency still applies to every child, so some start late or fail to start.

Cyber Monday price changed after render: rerun one SKU or continue it?

One SKU's price changed after its video rendered. Send a new run with new input, or continue the old run with previous_run_id. Here is when each fits.

Gift message field in a strict output schema: optional means nullable

In a Sume output_schema every property must be required, so an optional gift message is a string-or-null union, not an omitted key. Here is the shape.

Holiday gift set video from 30 photos: the Sume attachments limit

A gift set has many parts. Sume accepts up to 30 images in attachments and a 30-file media budget per run, so plan which shots go in before you call.

Price-drop sale videos for 200 SKUs: two bulk queues, one key each

A bulk queue holds at most 100 items. For 200 marked-down SKUs, send two queues, give each its own Idempotency-Key, and track both queue ids yourself.

Which Sume Format for holiday product video? Read its io profile

Do not guess from the slug. GET /v1/formats/sume/{slug} returns description, io profile and a verified showcase, so you can match input shape to your catalog.

Format status_url never holds output: poll it, then fetch the result

A Sume Format run's status_url returns a small poll payload with no output or artifacts. Poll it with backoff up to expires_at, then call result_url once.

Five ad variants in one Format run: a variants[] output schema

Bind a schema with a variants array, a nullable video_url per variant and maxItems 5, so a partial run still returns the variants it finished.

One Format run with five variants or a five-item bulk queue?

One run gives you five variants under one cap and one receipt. A bulk queue gives five receipts, a concurrency window up to 16 and per-item retry.

Retry only the missing ad variants with previous_run_id on a Format

When a variants run returns some clips as null, continue it with previous_run_id and name the missing slots, so you do not pay for the finished variants again.

Check a Format run's video with ffprobe: duration and audio stream

Before you publish a Format run's clip, run ffprobe on primary_output_url, confirm an audio stream exists and compare its length with duration_ms.

MAI-Voice-2.1 and Format runs: get the voiceover as its own file

A Format run cannot be told to use MAI-Voice-2.1, since its tools pick the audio model. Bind an audio field to get the voiceover track as a file.

One Idempotency-Key, two Sume Formats: you start two runs

A Sume idempotency key is scoped to one Format, so one key sent to two Formats starts two paid runs. Build keys from order, Format and version.

Gemini Omni edit: direct Video Router call or a Sume Format run?

Use the Video Router edit call for one precise change to one clip. Use a Format run when the job has steps, a schema and a spend cap around the edit.

A failed Format run still lists its media: read artifacts[], continue

A Sume Format run that ends failed still lists its media in artifacts[], and you can continue it with previous_run_id. Here is when that works.

Cancel one bulk-run child: pay for what finished, slot moves on

Cancel a Format run inside a bulk queue with POST /v1/format-runs/{run_id}/cancel. The item turns canceled, its slot starts the next one, no webhook fires.

Spend cap for six 10-second 1080p clips: set $25, not the $400 default

Six 10-second Omni 1080p clips bill $11.28 on Sume. Set generation_spend_cap_usd to about $25 to allow one retake each, instead of the $400 default or $500 max.

Cost per Reel from Format run receipts: sum billable_amount_usd_micros

Each Sume Format run receipt reports usage.billable_amount_usd_micros. Divide by 1,000,000 for dollars. A Python loop prices a Reel batch from its run ids.

ElevenLabs Flows templates API vs a Sume Format run with a webhook

ElevenLabs added Flows template endpoints on Sep 28: list, details and run with a webhook. Sume Formats give the same three steps for image, video and audio.

100 items, concurrency 16: size your webhook receiver for the burst

A 100-item Format bulk run at concurrency 16 runs in 7 waves, and children can finish in clusters. Ack fast, store, queue, and cap your own worker pool.

Same Idempotency-Key replay: bulk run answers 202, single run 200

Replaying a Format bulk-run create returns 202 and the original queue with no idempotency_hit flag. A single run returns 200 with idempotency_hit true.

Lost the bulk-run queue id? There is no list endpoint; replay the key

Sume has no list-queues or cancel-queue endpoint. If you lost the frq_ id, replay the create with the same key and body to get the queue back.

Route tickets with Clef, then pick a Sume Format by its io profile

Clef routes a ticket by team and urgency. Then read GET /v1/formats/{handle}/{slug} for io.input_kind before you call POST .../runs. A short Python router.

Continue a Sume Format run with previous_run_id after a review gate

Send previous_run_id on a new POST .../runs so the agent redoes one part. A yes/no review model decides whether to continue; each new run gets its own webhook.

Sume bulk Format runs: 100 items, one concurrency window, cost control

POST /v1/formats/{handle}/{slug}/bulk-runs queues up to 100 ordinary Format runs. Set concurrency and a per-run cap, and poll the queue with format-run-queues.

LinkedIn Lead Gen Form headline 60 characters: variants in bulk

A LinkedIn Lead Gen Form headline holds 60 characters and the details line 160. Queue copy variants as Sume bulk items and check lengths before you paste.

Bulk run for an ad matrix: 3 hooks by 4 ratios in 12 queue items

Build a 3 by 4 creative matrix as one Sume bulk run: 12 items, concurrency 4, and an index-to-name map so every finished file has a clear label.

Image API n or a bulk Format run: which to use for ad variants

Use Image API n for same-prompt variants at one ratio, and a bulk Format run when each variant needs its own instruction, input, spend cap or webhook.

Which Sume catalog Format for which holiday ad: 27 slugs by job

Sume's first-party Format catalog has 27 slugs at the sume handle. Match product commercials, UGC, try-on and text-led ads to the right one, and read io first.

Format run spend caps: the $500 ceiling and the null trap

A Sume Format run cannot spend past its cap. Omit it to inherit the Format's cap, send up to 500 to set one, and know null means $500, not no limit.

Format run, schedule or Agent Completion for repeatable holiday ads

Use a Format when only inputs change, Scheduled when the clock starts the work, Agent Completions when the task changes. Set a spend cap on each.

Accept a Format grant: personal key 403, wrong workspace 404

POST /v1/format-grants/{id}/accept needs formats:write and a team-workspace key. A personal key gets 403, and a grant meant for another workspace reads as 404.

Audit who can run your Format: list grants, pending versus accepted

GET .../grants lists pending and accepted workspace grants on a Format, newest first, without revoked ones. Script a weekly audit and revoke what is stale.

Change a Format grant role: PATCH run to write and back

PATCH .../grants/{workspace} with {role} changes a pending or accepted grant. Raising to write applies on the next authoring call; lowering to run closes it now

Format grant 404 workspace_not_found: only team handles resolve

workspace_not_found on POST .../grants means the handle matches no team workspace. User handles are not grantable, so pass a team handle or an org_ id.

Format grant 409: exists, self, or workspace_required

A 409 on POST .../grants is format_grant_exists, format_grant_self or format_workspace_required. Each has its own fix, and none is a retry.

Invite a workspace to run your Format: POST grants stays pending

POST /v1/formats/{handle}/{slug}/grants invites a team workspace with role run or write. The grant is pending and confers nothing until their admin accepts.

Can a partner bulk-run your shared Format? Queue and spend are theirs

A grantee can POST .../bulk-runs at your handle and slug with its own team key. The queue, child runs and spend are theirs, and you cannot poll their queue.

Retry two scenes in one Format run: scene_ids with previous_run_id

Continue the thread with previous_run_id and put scene_ids in input to redo two clips in one run. Voice and other clips stay; send a cap.

Revoke a Format grant: in-flight runs finish, new calls fail closed

DELETE .../grants/{workspace} revokes a pending or accepted grant. The grantee's running runs finish, and every new list, read or invoke fails closed at once.

Client needs your Format: a grant, or a key from your workspace?

A grant bills the client and keeps the roster on your side; a team key you mint bills you. Pick the grant unless you intend to resell the output.

Shared Format 409 format_inactive: the owner's switch hits partners

format_inactive and format_api_trigger_disabled are set on the owner's API tab and apply to every caller, including workspaces the Format was shared with.

Shared Format run stuck queued: whose concurrency limit applies?

A partner's run on your shared Format uses the partner's concurrency slot, so the partner's plan limit and queue decide when it starts, not yours.

Format run input extra keys: context only, not echoed in output

Keys your Format does not read, like a sheet row number, reach the run as context and do not return in output. Store them beside the 202's id and thread id.