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

Sume Auto video defaults: 8 seconds, 720p, 3 to 10 second range
sume/auto lets Sume pick the video family. Defaults are 720p and 8 s, with 3 to 10 s clips at 16:9 or 9:16. The legacy Video 1.0 URL rejects 4K.

Sume MCP idempotency_key: retry a timed-out paid call safely
Reuse the same idempotency_key to retry a paid Sume MCP call that timed out. A new key makes a new job. A reused key with a different payload returns 409.

Image 1.0 and Video 1.0 are not on Sume's hosted MCP: what to call
images_create and videos_create are REST-only. On hosted MCP the router tools generate_image and generate_video cover stills and clips. Fallback and checks.

Sume MCP jobs_wait returns 524: it is not a failed job
A 524, 522, 523 or 525 on Sume jobs_wait is a transport failure, not a job result. Wait again on the same ids and never resubmit the paid create.

Sume's rate card by billing unit: job, second, minute, 1,000 chars
Sume bills per job (trim $0.02, music $0.125), per second (avatar, Fabric, Kling), per minute (STT, timeline) and per 1,000 characters (TTS $0.0475).

A Sume webhook receiver in plain Python WSGI, no framework
A 28-line wsgiref app that reads the raw body, verifies sume-v1 with a rotation-safe check, refuses an empty secret, and answers 204. Tested with curl.

10-minute avatar video from 60-second jobs: HeyGen cap vs Sume
HeyGen Creator renders up to 30 minutes. Sume avatar jobs run 4-60 seconds, so a 10-minute course is ten jobs joined by a $1.00 Timeline render.

One Sume webhook route for job and run events, 204 on the rest
Route job.* and *.run.terminal events from one verified webhook handler and answer 204 for any unknown event, so a new type cannot trigger retries.

urllib3 Retry on POST: retry a Sume submit only with a key
A urllib3 Retry config that retries 429, 502, 503 and 504 on a Sume submit, and a wrapper that refuses to send a POST without an Idempotency-Key.

Validate a Gemini Omni Flash 1.1 request in Python before sending
A 28-line Python check for Sume's gemini-omni-flash-1.1 rules: 3-10 s, 10 reference images, 3 reference videos, no audio off, and edit mode exclusions.

Veo 3.1 last-frame control: which Sume video models take an end frame
Sume does not list Veo. For first-and-last-frame video it lists Seedance, Kling v3 Pro, Wan 3.0, MiniMax H3 and H3 Max and Gemini Omni Flash 1.1.

Verify a Sume Format webhook in Python: empty secret, stale timestamp
A Python check for the Sume format.run.terminal webhook: HMAC-SHA256 over timestamp.raw_body, a 5-minute window, and a refusal to run with an empty secret.

Sume video models by aspect ratio: who takes 9:16, 21:9 and 1:1
Seedance takes 21:9 through 9:16, Kling only 16:9, 9:16 and 1:1, Gemini Omni only 16:9 and 9:16. Full matrix of Sume video models as of 2026-10-08.

AI video API with audio reference input: which Sume models accept it
Seedance (all four), Wan 3.0, MiniMax H3 and H3 Max accept audio references on Sume. Kling, Gemini Omni, Grok Imagine and the motion models do not.

Sentence segments from video inspect: caption lines with no gaps
Sume video inspect with transcribe true can return gapless sentence segments, with silence_split_seconds from 0.2 to 3. Feed them to captions as cues.

AI video with native audio: which Sume models let you turn it off
On Sume, only Kling v3 Pro prices audio separately (+$0.07/s). Gemini Omni and MiniMax always make audio; Grok Imagine and Genjutsu make none. Table inside.

Vidu Q4 or LTX on Sume? Check the video model list first
Sume does not list Vidu or LTX in its video catalog as of 2026-10-08. Query GET /v1/videos/models and filter by id; a short script and the 12 ids it returns.

Wan 3.0 on Sume: a 2-second minimum clip and a 30-second max, priced
Wan 3.0 accepts 2 to 30 seconds. On Sume a 2 s clip is $0.125 at 480p and $0.50 at 1080p; 30 s at 1080p is $7.50.

Wan 3.0 reference limits on Sume: 10 images, 5 videos, 5 audio clips
Wan 3.0 on Sume takes up to 10 reference images, 5 reference videos (15 s total, 16 fps or more) and 5 audio clips (15 s total). Here is the full envelope.

How many Sume image rows list mask, background, quality, resolution
mask_url and background list on GPT Image 2.5 only, quality on three row types, resolution on a handful. A count of catalog rows by parameter, with a script.

YouTube bitrate ladder: file size of a 3-minute Short by resolution
YouTube's recommended SDR bitrates turned into file sizes for a 180 second Short, with the arithmetic and a script. This is YouTube guidance, not Sume output.

Will a YouTube AI label hurt reach? What the page says
YouTube's help page says disclosing AI content does not limit reach or monetization eligibility; penalties target non-disclosure. Plan an avatar series on that.

Zapier MCP costs two tasks a call: batch Sume jobs_wait first
Each Zapier MCP tool call uses two tasks. When an agent uses Sume and Zapier together, wait on all jobs in one jobs_wait, then make one Zapier call.

31-second driver is over Kling Motion Control's 30 s limit
Kling 3.0 Motion Control accepts 1 to 30 seconds at $0.1575 per second. Trim a 31 second driver to 30 and the job costs $4.725.

Drop to 480p: Fabric saves 46.7 percent, H3 lip-sync 37.5 percent
Fabric is $0.10 at 480p against $0.1875 at 720p. H3 Max lip-sync is $0.0625 at 480p against $0.10 at 768p. Savings on 250 clips inside.

Avatar video cost at 4, 8, 15, 30 and 60 seconds on three tiers
Avatar video costs $0.74 to $11.04 on standard, $0.98 to $14.70 on plus and $2.20 to $33.00 on max across the 4 to 60 second window, no product.

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.

Cancel every queued Sume job without cancelling a running one
A Python script that lists queued jobs, checks the cancelable flag, posts the cancel, and handles 409 job_generation_already_started when the race is lost.

caption_no_speech: why a caption job fails on a silent clip
A Sume caption job returns caption_no_speech when the clip has no audible speech. The fix is cues, segments or words, not a retry.

Change one caption color: design.colors.active and what it accepts
A Sume caption design override changes one token for one request. Colors take hex, rgb(), rgba() or transparent; other CSS is rejected at request time.

Check a webhook URL before you give it to Sume: https and public
Sume rejects localhost, private-network and non-HTTPS webhook URLs. A Python preflight that catches all three, and the 2048-character limit, before you submit.

Claude Code headersHelper for a Sume API key: rotate with no edits
Claude Code can run a script for MCP headers on every connection. Use it to feed a Sume API key from a secrets store, so rotation needs no config edit.

Claude Code 25,000-token MCP output cap and Sume batch jobs_result
Claude Code truncates MCP output past 25,000 tokens by default. Sume include_results and batch jobs_result keep wave answers small. Settings and loop.

Claude Code MCP_TOOL_TIMEOUT and the timeout field for Sume jobs_wait
Claude Code has no short default tool timeout, so a stalled Sume jobs_wait can hang. Set a per-server timeout in .mcp.json and let the agent retry slices.

ElevenLabs Free 10,000 credits is 11 minutes of music, no license
ElevenLabs Free gives 10,000 credits a month, about 11 minutes of music, without a commercial license. Sketch there, then ship a track via Sume at $0.125.

Face swap or avatar video? Pick by whether you already have footage
Sume's face swap Beta applies an avatar face to your own 4-15 second video; Avatar Video renders a new clip from a script, up to 60 seconds. How to choose.

Flux, Qwen and Recraft share 13 ratios on Sume: five rows, four prices
Flux 2 Pro and Flex, Qwen Image and Max, and Recraft V4 list the same 13 aspect ratios on Sume. Prices run 2.5 to 9.4 cents; three edit, two are text-only.

Video ad codec table: H.264 everywhere, H.265 only on Pinterest
Which video codec each ad platform accepts, from the vendor pages, and which Sume trim setting keeps or rewrites the codec of your source file.

Gemini CLI httpUrl or url for Sume MCP: which key to use
In Gemini CLI settings, url is the SSE endpoint and httpUrl is HTTP streaming. Sume's endpoint is streamable HTTP, so use httpUrl. Config and checks inside.

Gemini CLI includeTools for Sume MCP: expose reads, keep trust false
Gemini CLI can allowlist MCP tools with includeTools, and trust defaults to false. Use both to give an agent Sume reads without paid generation.

Gemini CLI MCP timeout is 600000 ms; Sume jobs_wait caps at 55 s
Gemini CLI waits up to 10 minutes per MCP request, but Sume cuts jobs_wait at 55 seconds. Set the client timeout low and loop on wait_slice_expired.

Griffin-Lite is waitlist only: what can an avatar team ship now?
Tavus says Griffin-Lite is not available to customers. Here is what a team can ship this week with Sume Avatar 1.0 rendered clips instead, with costs.

Group failed Sume jobs by error category with curl and jq
One curl and jq command that lists the last 100 failed jobs, groups them by error.category, code and retryable, and prints a sample job id for each group.

How many aspect ratios each Sume image model lists, vs Hy's 14
Hy Image 3.5 Preview lists 14 aspect ratios. On Sume, Nano Banana 2.1 and Ideogram list 15, Grok and Flux 13, GPT Image 2.5 only 9. Full counts by row.

Hy Image 3.5 lists a 1.5K tier. No Sume image model does
Hy Image 3.5 Preview offers 1K, 1.5K, 2K and 4K. Sume's tier lists are 512, 1K, 2K, 4K or 1K/2K only. For about 1.5K, GPT rows take 1536x1536 as image_size.

Hy Image 3.5 Preview returns base64 PNG; Sume returns a URL
Moving image code from a base64 PNG response (Hy Image 3.5 Preview on OpenRouter) to Sume means downloading data[].url. A 12-line Python version.

Image 1.0 defaults to low quality; GPT Image 2.5 defaults to high
Same prompt, two Sume routes, two defaults: Image 1.0 omits quality as low, POST /v1/images with GPT Image 2.5 omits it as high. Set quality in both.

Image 1.0 to POST /v1/images: image_urls becomes input_references
Move a Sume Image 1.0 request to POST /v1/images: image_urls to input_references, mask_image_url to mask_url, num_images to n, plus new defaults.