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

sume/auto on a retried submit: same job, model still sume/auto
A retry of a sume/auto video with the same Idempotency-Key returns the original job, price and route. A Python check, plus why the family is never disclosed.

Sume TTS language field: set ja or ko, or the voice reads in English
Omit language on Sume TTS and the provider defaults to English; Sume infers ko or ja only from a Hangul- or kana-only script. Set it on non-English scripts.

Sume webhook_url without a mode field: it runs in webhook mode
Send webhook_url and omit mode, and Sume treats the submit as mode webhook: 202, job id in the first response, signed terminal callback, poll as backup.

TikTok 516 kbps floor: 0.033 bits per pixel at 540x960, 0.008 at 1080p
At 30 fps TikTok's 516 kbps floor is 0.033 bits per pixel at 540x960 but 0.008 at 1080x1920. Why a bigger frame needs a higher real bitrate to look the same.

Timeline compose stack ratio 0.4 on 1080x1920: 768 and 1,152 px
Timeline compose stack splits the 1080x1920 frame by ratio. Ratio 0.4 gives the still a 768 px band and the video the other 1,152 px. $0.02 flat per job.

Trim end 184 on a 172-second source: it clamps and warns, no error
Video trim clamps an end past the source length and returns warning trim_clamped_to_source. A 4 to 184 cut of a 172.4 s clip yields 168.4 s for $0.02.

Sume TTS speed 0.6 to 1.5: a 14-minute script and the 1,200 s cap
generation_config.speed runs 0.6 to 1.5. A 14-minute read slowed to 0.6 would need about 23 minutes and hit the 1,200-second cap; the price stays per character.

Sume TTS sentence segments: boundary_lead_ms 0 vs 500, 12 lines
Ask Sume TTS for words and sentence segmentation and you get gapless wav slices. boundary_lead_ms (default 70) moves each cut 0 to 500 ms after the last word.

Vertical clip as long-form YouTube: 1920x1080 blur keeps 31.6% sharp
YouTube says use 16:9 to keep a video from becoming a Short. A 9:16 clip in 1920x1080 with blur fit keeps 608 px (31.6%) sharp; a 5-minute render is $0.50.

Video frames on 300 s: fps 0.08 gives 24 stills, 12.5 s apart
The video-frames route takes clips up to 300 s and 24 frames per call. At fps 0.08 a 300-second clip yields 24 source-size stills, from 6.25 s to 293.75 s.

Video inspect seek fast vs precise: stills up to one keyframe early
Set seek fast to get stills from the keyframe at or before each time, skipping the decode. Stills can be early by a GOP, about 0 to 5 s, never later.

wave_size_hint on an empty workspace: Free 4, Pro 18, Startup 36
What generation_limits.wave_size_hint returns before any job is queued, by Sume plan, with the arithmetic and a Python check you can run.

YouTube 1080p at 60 fps: a 3-minute Short is 270 MB, not 180
YouTube lists 8 Mbps for 1080p at 24-30 fps and 12 Mbps at 48-60: 180 MB versus 270 MB over 180 s. Timeline fps 60 only helps with 60 fps sources.

YouTube asks for 4:2:0 chroma: keyframe trim copies, exact writes it
YouTube's upload page lists 4:2:0 chroma and H.264. Sume video trim exact re-encodes to libx264 yuv420p; keyframe copies the stream and keeps the source format.

An 80-cent cap per clip: longest Sume video each model and tier allows
With a hard $0.80 ceiling per clip, which Sume video models can run, and for how long? Wan 3.0 at 480p reaches 12 s; Seedance 2.5 at 1080p cannot start.

Cut a 150-second video into three Shorts of 60, 60 and 30 seconds
Three video trim jobs at $0.02 each turn one 150-second clip into Shorts of 60, 60 and 30 seconds, each at or under the one-minute claim line on YouTube.

Review a 96-second Short in 24 stills: video frames fps 0.25
fps 0.25 on a 96-second Short returns 24 stills at seconds 2, 6, 10 and on to 94. Video frames takes 24 per call, so one job covers the whole cut.

Eight inspect stills on a 45 s Snap ad: one lands in the first 6 s
Video inspect's default eight stills on 45 seconds sit 5.6 s apart; only 2.8 s falls in Snap's non-skippable first 6. Use frames at 1, 3 and 5.9 instead.

One 95-second LinkedIn video, two trims: 90 s in-stream, 30 s feed
LinkedIn lists in-stream ads up to 90 seconds and recommends 15 to 30 seconds. From a 95-second source, trim start 0 for 90 s and start 20 for 30 s: $0.04.

LinkedIn 9:16: 720x1280 is listed, Sume's 1080x1920 default is 2.25x
LinkedIn lists 720x1280 for 9:16 with a 1080x1920 max. Sume's Timeline default is 1080x1920, 2.25x the pixels; set output 720x1280 and fps 25.

LinkedIn video ad codec: H.264 or VP8, under 30 fps, one trim job
LinkedIn lists MP4, H.264 or VP8, AAC audio and a frame rate under 30. One video trim exact job at $0.02 writes H.264 with AAC and can set 25 fps.

Burn captions on a Claude Motion MP4 with cues, not speech-to-text
A Claude Motion export is a public-URL problem and a silent-clip problem. Sume video captions take authored cues, skip STT, and cost $0.20 per job up to 60 s.

caption_no_speech: burn authored cues onto a silent clip, no ASR
A silent clip makes speech-to-captions fail with caption_no_speech. Send cues (text, start, end) and Sume burns your text at those times without speech-to-text.

Eight Wan 3.0 clips on Free: six queue, two get queue_full
Free plan accepted capacity is 6 paid jobs. Submit eight 10-second Wan 3.0 720p jobs and two return 429 queue_full; the six accepted hold $7.50 of the $10.00.

Sume job webhook retries: 370 s worst case, then poll or redeliver
Sume retries a job webhook 10 times, 30 s apart, with a 10 s timeout each: 270 s of gaps and up to 370 s in total. What to do when the window closes.

Store the Sume job webhook, then answer 204: SQLite insert-or-ignore
Commit the event keyed on job_id before you return 2xx, so a retry or a redeliver is harmless and a crash never loses it. Runnable Python and sqlite3 example.

One model for 1:1, 4:5, 9:16, 16:9 and 21:9: 6 Sume rows do it
Of 10 Sume image rows checked, only six list all of 1:1, 4:5, 9:16, 16:9 and 21:9. FLUX.2 pro does it at $0.0375, so five placements cost $0.1875.

Lip sync on a 2.76:1 widescreen still: crop to 2.5:1 first
Sume's MiniMax H3 Max Lip Sync accepts stills with aspect ratio 0.4 to 2.5. A 2.76:1 frame is out of range; cropping 2760x1000 to 2500x1000 fits.

Avatar video image URLs: product_image, scene photo and backgrounds
Sume avatar video takes three kinds of image URL: product_image, scene.image_url and scene-background images. All must be public HTTPS. Checks to run first.

Cancel 12 queued Sume jobs: 12 writes, and a 409 that is not an error
Cancel is a write, only works before generation starts, and returns 409 job_generation_already_started after. A Python sweep that treats 409 as fine.

Conform a trim to 540x960 at 30 fps for TikTok non-Spark ads
TikTok's non-Spark ad spec sets 540x960 as the 9:16 minimum. One video-trim job with output 540x960 at 30 fps costs $0.02. Bitrate is not a field.

Crop 1920x1080 to 3:4 with video filter: width 0.421875, x 0.2890625
A centered 3:4 crop of a 1920x1080 frame keeps 810x1080 pixels. In video-filter fractions that is width 0.421875, height 1, x 0.2890625. One job, $0.02.

Daily Sume schedule: skipped and canceled runs send no webhook
A Sume run webhook fires only on completed or failed. For a daily schedule, a skipped or canceled run is silent, so add a list-runs check each morning.

Do 480p AI video clips pass TikTok's ad minimums? 540x960 and 640x640
TikTok's non-Spark ad minimums are 540x960, 960x540 and 640x640. A 480p AI clip is named for 480 pixels on its short side, which is below all three. Use 720p.

Scribe v2 for a 6-hour workshop with both add-ons vs Sume STT
Six hours of audio on ElevenLabs Scribe v2 is $1.32 base and $2.04 with keyterm prompting and transcript editing. Sume STT at $0.01 a minute is $3.60.

Enterprise API key rate limit before a contract: the Scale row
Until Sume provisions a contracted number, an Enterprise key uses the Scale row: 1,200 writes and 48,000 reads per minute. The full plan table and the math.

Five status vocabularies on the Sume and OpenRouter video APIs
Sume job status, the queue-shaped field, /v1/videos status, webhook delivery status and OpenRouter status differ in spelling. One TypeScript map fixes it.

Fix one wrong number: Claude Motion edit vs a Sume Format retake
Claude Motion edits a number in place. In a Sume Format run a changed word or number means a new production; a look change is a retry at about 1/20 the cost.

FLUX.3 Image in credits: 4.1, 4.8, 10 and 60.7 per image
Black Forest Labs bills FLUX.3 Image at 1 credit = $0.01. A $50 balance buys 1,219 images at 768sq, 1,041 at 1k, 500 at 2k and 82 at 4k. Sume does not list it.

Free plan seventh submit: 429 queue_full is free, 402 can come first
On Sume Free, six paid jobs fit (1 processing, 5 queued). The seventh gets 429 queue_full with its hold released. Which error comes first, and the cost.

Gemini Omni Flash references on Sume: 10 images, 3 videos of 3 s
Omni Flash 1.1 on Sume takes up to 10 reference images and 3 reference videos of at most 3 s each, so 9 s of video. No audio reference. Tags and costs.

Griffin-Lite's 0.43 s latency: what a recorded avatar clip gives up
Tavus reports Griffin-Lite video latency of 0.43 s on average (0.27-0.59 s) in a research preview. A recorded clip on Sume is a job, so choose by use case.

Is a 4:5 video a YouTube Short? 1080x1350 fits square or vertical
YouTube's Shorts page says square or vertical, up to three minutes. 4:5 is vertical, though not named. A 170-second 1080x1350 Timeline render costs $0.30.

LinkedIn 30-minute video: 24 spot-check stills, one every 75 seconds
LinkedIn allows videos up to 30 minutes. Video inspect takes 1,800 seconds and 24 stills per call, so at[] with 37.5 + 75k covers the whole file in one job.

A 12-second sting scored from a product still: image_url on Sume music
Sume music takes an optional image_url and no duration field. Put "a 12-second track" in the prompt; the job is a flat $0.125 whatever the image or the length.

Nano Banana 2.1 at 8:1 and 4K: 12288x1536, 18.87 megapixels
Google's size table puts Nano Banana 2.1 8:1 at 4K at 12288x1536, about 18.87 MP, larger than a 4096x4096 square. Sume lists 8:1 and 4K at $0.20 flat.

Org workspace concurrency floor of 10: the queue and wave that follow
Sume gives org workspaces a processing floor of 10. With the default queue formula that is 50 queued, 60 accepted, and a wave hint of 45. Read your own fields.

Polling a 5-minute video: 30 s is 10 reads, 2 s is 150 on Sume
How often to poll a Sume video job: read counts for a 300 s job at 30 s and 2 s, and an asyncio loop that obeys next_poll_after_seconds.