
Wallet runs dry mid-bulk: items fail with a null run_id, rest go on
A Sume bulk queue does not pause when credits run out: children that cannot start become failed items with run_id null. Sort them and resubmit after a top-up.
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

A Sume bulk queue does not pause when credits run out: children that cannot start become failed items with run_id null. Sort them and resubmit after a top-up.

Pair Sume's beauty-studio video Format with the model-and-product portrait still Format for a holiday makeup launch from the same product image.

A Format bulk queue runs every item with on_active_run allow, so skip or reject on an item will not serialize it. Set concurrency to control parallel runs.

Use Sume's cinematic-studio-commercial Format for a macro, high-end camera-move teaser of a flagship gadget or luxury object aimed at gift season.

Run Sume's close-camera UGC Format as one bulk queue to test six Black Friday testimonial hooks, with the TikTok in-feed file limits to check afterward.

Call Sume's fashion-editorial Format for a magazine-grade holiday-party lookbook clip with a strong pose and restrained motion, from one garment image.

Format runs fail at submit, during the run, as a non-failure terminal state, or at webhook delivery. Each needs its own retry rule and its own UI message.

A Format run's receipt reports usage.cap with limit, counted and remaining while it is in flight. Read it to see how close a video run is to failing on its cap.

Call Sume's fruits-drama Format for about 5 second vertical clips where a fruit character speaks your line, queued as five runs for the produce aisle.

Call Sume's green-screen Format for a talking-head overlay ad, then fix one thing with previous_run_id instead of paying for a full re-run.

Use Sume's mobile-app UGC Format for creator-style app ads this holiday season, and check Apple's 15 to 30 second App Preview limits before reusing a clip.

Make a premium hero clip of one gift set with Sume's product-commercial Format: controlled composition, tactile detail, one camera move, then reuse it.

Use Sume's product-usage-demo Format to show one real action with a kitchen or household gift in a casual social setting, so buyers see it working.

Use Sume's recreate Format to remake a reference clip's beats and caption rhythm for your 11.11 offer, and preflight it with reference ingest.

Send up to 30 product images to Sume's slideshow Format for a gift-guide clip, then check Pinterest's video ad specs before you promote it.

Call Sume's video-hook Format for cold-open variants of a Cyber Week ad, and use on_active_run to stop overlapping runs of the same Format.

Call Sume's virtual-try-on Format to show a person switching into a supplied party outfit, as a short vertical clip for a shop's feed.

Call Sume's wall-of-text Format for a kinetic-type sale clip and bind an output_schema so the video URL lands in your own JSON shape.

Make a dramatic water-splash hero image of a hydrating skincare product with Sume's water-splash-hero image Format, for a winter-dry-skin push.

Bind an output_schema with SumeMediaFile fields so a Sume run returns typed episode videos. The URL gate, 10% duration check and parts-versus-cut rule.

Where to keep a series bible in a Sume Format: a short SKILL.md index, detail in references/*, and only the per-episode beat in the run input.

TikTok's The Next Episode funds creator-led series. Here is how to produce a season with Sume: one Format recipe, one bulk queue of up to 100 runs.

A Sume Format run composes the Format, your instruction, an unattended block and a pointer to input, in that order. Your instruction wins a conflict.

A run can be continued with previous_run_id only if it has a thread_id and is completed or has artifacts. Check first, or handle four named errors.

A Format run create must name instruction, input, previous_run_id or attachments. An empty object or an empty input object is a 400 invalid_request.

Send Idempotency-Key as a header or idempotency_key in the body; the header wins. Same key and body gives 200 idempotency_hit true; a new body is a 409.

Pass one JSON Schema as output_schema or response_format on a Format run. Sending both is a 400, and a schema-valid run can still fail with output_error.

A webhook and a poll can both see the same terminal run. Insert the run id with insert or ignore, and do the work only when a row was added.

GET /v1/formats/{handle}/{slug}/runs returns data, has_more and next_cursor. Pass next_cursor back until has_more is false; limit is 1 to 100.

There is no GET /v1/format-runs, no per-Format GET for one run, and no /messages route. Use the per-Format runs list and GET /v1/format-runs/{run_id}.

usage is null when spend could not be read, which is not 0. Read usage.debited_usd_micros as an integer, and keep unknown runs separate from free ones.

Store id, format, status, created_at, finished_at, model, usage.debited_usd_micros, output and artifacts. Fetch the rest, because URLs and expires_at change.

Format runs poll cheaply: about one read a minute per run in flight. Creates are the scarce budget, 120 a minute on Free. Poll math for a 100-run batch by plan.

To embed Format runs in a SaaS plan, set generation_spend_cap_usd from the customer's tier and derive Idempotency-Key from customer, order and version.

Bind an output_schema to a Format run so a listing video returns as your JSON: address, headline, caption and a SumeMediaFile to store beside the MLS ID.

A personal key on a team workspace Format returns 403 workspace_key_required, and a service-account key fails too. Which key to mint for Sume bulk runs.

Resend a Sume bulk queue with the same Idempotency-Key and payload and you get 202 and the original queue. Change one item and you get 409. How to retry safely.

No queue-level webhook on Sume bulk queues. Only per-item webhook_url, so poll the queue with backoff and read counts. A Python loop that handles 429 and 503.

One POST queues up to 100 Format runs with a concurrency window of 1 to 16. Why a completed queue is not all succeeded, and the poll loop to run overnight.

A never-run Format may read inactive until its first API run. The real refusal is a 409 format_inactive or format_api_trigger_disabled.

incomplete_assembly means a Sume Format run hit its time limit mid-generation. Continue with previous_run_id; finished clips are not regenerated.

Over the API, a Sume Format run is told approvals are granted. If it still cannot finish it fails with unattended_blocked, never a half-done completed.

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.

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.

A renamed Sume Format handle keeps resolving for 90 days. For stored integrations, persist the opaque skl_ invoke_url, which never changes across renames.

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.

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.

Sume service-account keys cannot create Format runs and fail with 403 insufficient_scope and a service_account_format_runs_unsupported reason. Here is the fix.