Blog
Sume blog: agent-native video generation, Avatar 1.0 orchestration, and production APIs for builders and coding agents.

Cloudflare Workflows: sleep and poll a Sume run, no open request
A Cloudflare Workflow can submit a Sume run, step.sleep for minutes, then check status again. Here are the step limits that bound how long you can poll.

MAI-Voice-2.1 clones from seconds of audio: what Sume's API takes
Microsoft says MAI-Voice-2.1 clones a voice from seconds of audio. Sume does not carry it, and voice cloning on Sume is app-only; the API takes voice ids.

Veo 3.1 4K needs an 8-second clip; Sume's Veo rows stop at 720p
Google offers Veo 3.1 1080p and 4K only at 8 seconds. Sume's Veo rows run 720p at 4, 6 or 8 seconds. See the gap and which Sume row reaches 4K.

One packshot to twelve lifestyle scenes: input_references recipe
Turn a single product packshot into lifestyle scenes with the Sume Image API: which models take it as a reference, the request body, and cost per twelve scenes.

image_not_fetchable on a Sume image edit: reference URL checklist
A Sume image edit failed with image_not_fetchable or input_media_unreachable. What the docs say the error means and a checklist for the reference URL.

TikTok ad rejected for undisclosed AI: minor vs significant edits
TikTok's ad policy separates minor edits like lighting, background removal and denoising from significant AI changes. See where Sume's trim, crop and dim sit.

sume login opens the wrong host: SUME_APP_BASE_URL and its defaults
sume login picks its approval host from SUME_APP_BASE_URL, else from the API base URL. The defaults, and how to fix a wrong host.

Move a Grok Imagine polling loop to Sume's /v1/videos in Python
Port an xAI Grok Imagine video poll loop to Sume: submit, idempotent retry, poll states, download and read usage.cost. A runnable Python script under 30 lines.

Martial arts school belt-test notice: avatar clip with silent beats
A dojo can announce belt-test day with one Avatar 1.0 clip built from spoken scenes and a silence beat. A 24-second clip is $5.88 at plus tier.

CapCut lists Seedance 2.5 and Gemini Omni. Does Sume's API carry them?
CapCut's tools page names several video and image models. Sume's API documents Seedance 2.5 and Gemini Omni Flash 1.1; the rest are not in its docs.

n=10 on the Sume Image API: docs say 10, catalog says 4 (Grok 1)
The Image API docs say n goes up to 10, but every catalog model caps lower: 4 for most, 1 for Grok Image, 1 or 4 for Soul. The 400 you get and how to batch.

Grok Imagine's 4 keyframes and 7 references vs Sume's one image
xAI's Grok Imagine 1.5 takes up to 4 keyframes and up to 7 references. Sume's grok-imagine-video-1.5 row takes one image only. Rows to use for multi-image work.

stream: true on the Sume Image API returns 400. What to show instead
Sume image models have no SSE streaming: stream true returns 400 streaming_not_supported. Use async mode and job events for stages, or a webhook for the end.

YouTube Shorts ads: 10-30 second vertical cuts from a longer clip
Google says action-oriented Shorts ads use 10-30 second vertical videos and add under 60-second ads. Cut a longer Sume clip to size with one trim.

Consistent character in 3 steps: anchor, sheet, scenes on Sume
Keep one character across many AI images without a seed: make an anchor, build a reference sheet, then reuse both as input_references. Limits and cost.

GitLab resource_group: one Sume bulk queue at a time
Use a GitLab resource_group so two pipelines never submit a Sume bulk run together, and pick the process mode that matches how stale a queued batch may be.

Longest single shot per request: Vidu, Veo, Grok, Wan, Seedance
How long one request can run: Vidu Q4 16 s, Veo 8 s, Grok 15 s, Wan 3.0 and Seedance 2.5 30 s. Sume's matching row for each and the longest-shot cost.

Face swap or talking video: which Avatar endpoint fits?
Pick Sume Avatar face swap (Beta) or Avatar talking video by what you have: footage with audio, or a script. Inputs, limits and polling side by side.

Veo 3.1 audio is always on at Google; Sume's Veo rows let you mute
Google's Veo 3.1 page says audio is always on. Sume's Veo rows take an optional audio flag that defaults to on, and the muted rate is lower. Rates and caveats.

Home-exercise reminder clips for a PT clinic: English avatar, cost
A small PT or chiropractic clinic can make short English home-exercise reminder clips with an Avatar 1.0 presenter. Per-second prices and what to keep out.

Instagram's 1% aspect tolerance: which odd sizes still pass 9:16
Instagram video ad pages list a 1% aspect ratio tolerance. Here is the arithmetic for 9:16 widths, and how to render an exact 1080x1920 shot in Sume Timeline.

Vercel Workflows: a hook that waits for a Sume run webhook
A Vercel Workflows hook pauses a workflow until an outside event resumes it. Use one to wait for Sume's run webhook with no polling.

Remotion or Sume Timeline: React code or a JSON document?
Remotion defines video as React code; Sume Timeline 1.0 assembles Sume-hosted clips from a JSON document. Where each fits, with limits read on 2026-10-10.

Remotion Lambda or a Sume Timeline job: who runs the servers?
Remotion Lambda renders in your AWS account; a Sume Timeline render is one billed job on Sume's workers. What you operate, and the limits, read 2026-10-10.

Creatomate RenderScript vs a Sume Timeline document: field map
Creatomate's RenderScript is a general scene JSON; Sume's Timeline 1.0 is one audio spine plus video slots. Field-by-field map and what Sume cannot express.

Shotstack tracks and clips vs Sume's audio spine and video slots
Shotstack layers clips on tracks; Sume Timeline 1.0 builds a video around one audio spine. How the edit models differ and when layered tracks win.

Shotstack's callback is in the edit; Sume's webhook_url is outside
Shotstack puts a callback URL inside the edit JSON. Sume puts webhook_url on the request and signs deliveries. What changes in your code.

ElevenLabs key scopes, quota and IP allowlist vs Sume key controls
ElevenLabs keys can be scoped, capped and IP-locked. Sume keys fix scopes at creation and add per-run spend caps. What each covers and what Sume docs do not.

Port an ElevenLabs text-to-speech call to Sume TTS 1.0, field by field
ElevenLabs puts the voice in the URL; Sume TTS 1.0 takes it in the body and rejects model_id. A field map and a tested mapper function.

ElevenLabs product list vs Sume API routes: what has no equivalent
Sume's OpenAPI has speech, transcription, music and word timings, but no dubbing, voice isolation, sound effects, voice changer or voice cloning route.

Image API docs example vs live catalog: Seedream 4.5 shows 5 ratios
The docs example for Seedream 4.5 lists 5 ratios and 0.033 USD. The catalog lists 9 ratios and 0.05 USD. Why you read the endpoint, not the example.

Seedream 4 vs 4.5 vs 5 Lite on Sume: price, ratios, auto
Seedream 4, 4.5 and 5 Lite are all in the Sume image catalog. Compare price, reference limit, aspect ratios and which one lists auto, with 12-image cost.

Which failed Format runs can you retry without paying twice?
A decision table for failed Sume Format runs: which codes mean retry, which mean continue with previous_run_id, and which mean fix your input first.

Re-run a Format on purpose: version the Idempotency-Key
How Sume Format idempotency works, why a fresh uuid per request defeats it, and how an order id plus a version number gives safe retries and deliberate re-runs.

Sume waitForJob in TypeScript: ms timeout, failed jobs resolve
waitForJob in @sume-com/sdk takes milliseconds, resolves for failed and canceled jobs, and throws only on timeout or a failed read. 25-line sample.

Which Sume timeout is which: sync, jobs_wait, waitForJob, webhooks
Sume's waits differ: 30 s sync cap, 50 s jobs_wait, a 20-minute SDK default in ms, 10 s per webhook attempt. A table of each unit and what expiry does.

sume models list is a deprecated alias: use sume catalog list
The Sume CLI keeps sume models list as a deprecated alias of sume catalog list. What the catalog command shows, what it cannot do, and how to migrate scripts.

Sume SDK function name for an endpoint: the camelCase operationId
GET /v1/catalog is listPublicApiCapabilities in @sume-com/sdk. Map any Sume route to its generated function from the OpenAPI operationId, with a table.

Canva export links last 24 hours: copy the file, also from Sume
A finished Canva export hands you a download URL that expires in 24 hours. Treat generated media from Sume's API the same way: copy it to your storage at once.

Canva Connect API vs the Sume API: what each is for
Canva Connect syncs designs, assets and comments, with some APIs in preview. The Sume API generates video, images and audio. Different jobs.

Lint a Format package in CI before you PUT it
A short Python check for a Sume Format package: SKILL.md name equals the slug, allowed folders and extensions, file names, 100 MiB limits. Run it before PUT.

Edit several Format files in one commit with a change set
One PUT to the Sume Format contents root commits many files at once. Learn what a change set keeps, why it cannot delete, and how If-Match guards the package.

Record store Black Friday drop: original music bed, no sound-alikes
A record store can make four original instrumental beds for $0.50 with the Sume Music Router. Why prompts should never name artists, and how to set length.

Shopify X-Shopify-Webhook-Id as the Sume Idempotency-Key
Shopify retries a failed webhook 8 times over 4 hours. Derive the Sume Idempotency-Key from the webhook id so each delivery makes one run, never two.

TikTok ad account name: 20 characters, and Spark caption: 4 lines
TikTok's In-Feed page lists a 20-character account name (10 for CJK scripts) and a 4-line Spark caption. Write them before you render the Sume clip.

Runway's API lists 19 video ids: which ones have a Sume id?
Of 19 video ids on Runway's pricing page, 9 map to a Sume id by name, 2 are unconfirmed, and 8 have no Sume equivalent. Full mapping table with the Sume ids.

Suno v6-wild is less predictable: how to keep a track on Sume
Suno describes v6-wild as less predictable. Sume Music has no seed, so you cannot rerun a track; keep the job result and its URL as the only master.

sume/auto hides which image model ran: pin an id for brand assets
model sume/auto never discloses the family, and job.model stays sume/auto. Why a brand asset set needs a pinned image model id, and how to pin one on Sume.