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

Speech to text API in Go: transcribe audio with net/http
Transcribe audio in Go using only the standard library: submit to Sume STT, poll the job and print the text. A 30-line program at one cent per audio minute.

Spot-check burned-in captions with video frames at STT word times
Check captions on a rendered video by pulling stills at word midpoints from a Sume STT result with POST /v1/video-frames, then compare text to speech.

Square 1:1 ad video: which Sume models accept it, and 4:5
Seedance, Kling, Wan and MiniMax accept 1:1 on Sume; Gemini Omni takes only 16:9 and 9:16. No video model lists 4:5, so Feed needs a crop. Table and steps.

Start a Sume render from a serverless function: submit, save, 202
A function must not wait for a video. Submit with mode webhook and a stable Idempotency-Key, save the status URL, return 202, and let the signed webhook finish.

Sume timeouts in one table: 30 s, 55 s, 10 s, 90 minutes
Every wait in the Sume API has its own number: sync 30 s, jobs_wait 55 s, webhook attempts 10 s, SDK helpers 10 and 20 minutes, Format runs 90 minutes.

Can a Sume webhook arrive twice? Build an idempotent receiver
Sume retries failed webhook deliveries up to 10 times and Redeliver replays a real event, so one terminal event can reach you twice. Dedupe on job_id or run_id.

Test a Sume webhook receiver with signed fixtures, no paid job needed
Generate sume-v1 signatures yourself and test six cases: good, rotated, reserialized, stale, empty-secret and unknown event. Python code that runs as is.

Test six ad hooks with 4-second avatar clips on standard: cost
Six 4-second hook clips on Sume's standard avatar tier cost $4.42 without a product image, $4.66 with one. The 4-second floor and how to run the test.

Thai, Vietnamese, Indonesian speech to text: Sume STT language hints
Send th, vi or id as language_code to Sume STT, or omit it to auto-detect, then check language_probability. $0.01 per audio minute; test a sample first.

TikTok TopView safe zone: check the open-screen and in-feed frames
TikTok's TopView page has separate safe zones for the open screen and the in-feed stage. Pull a frame from each moment with Sume video inspect and check it.

Timeline output.fps: why a 24 fps clip judders when you force 30
Leave output.fps unset and Timeline renders at the source rate. Force 30 on a 24 fps clip and frames repeat; the job reports output_fps_resamples_sources.

How do I make a trade-show booth audio loop with AI voice and music?
Make a 60-second booth loop from one TTS job, one music bed and a Timeline render with a looping soundtrack: about 25 cents on Sume, then play it on repeat.

UGC-style avatar video: a 9:16 casual scene prompt that works on Sume
How to ask Sume Avatar 1.0 for a phone-filmed look: 9:16, a casual background prompt, silence beats, product image. Request body and what it costs per tier.

GPT Image 1 to GPT Image 2.5 on Sume: what changes in the output
Moving from GPT Image 1 to ChatGPT Image 2.5 on Sume changes the response (URL, not base64), default quality, size grid and failures.

Which Sume API calls are safe to retry blindly, and which need a key?
Reads, cancels and redelivers retry safely; paid submits retry only under the same Idempotency-Key. A call-by-call table, plus the codes that mean wait or stop.

How do I make a winter tire changeover promo video for my garage?
Three 6-second Wan 3.0 clips, a 420-character voiceover, a duck-under music bed and booking captions for a garage: $2.695 on Sume at 720p.

YouTube ad length by format, and what each costs to render in Timeline
Bumper 6 s, non-skippable 15 to 60 s, Shorts under 60 s, skippable with no max. Google's lengths mapped to Sume Timeline billable minutes and cost.

YouTube Shorts ad under 60 seconds: stitch clips with Timeline
YouTube suggests Shorts ads under 60 seconds. Sume Timeline 1.0 stitches clips into one MP4 at $0.10 per output minute, so 60 seconds costs $0.10.

ChatGPT Sora clip as reference video: Omni takes 3 s each, trim
Sora 2 left the API but a ChatGPT clip can still seed a new render. Gemini Omni Flash 1.1 on Sume takes up to 3 reference videos, each 3 s at most.

Check duration, resolution, ratio against /v1/videos/models in Node
A Sora-era request will not fit every Sume model. A Node script reads GET /v1/videos/models and lists what the model rejects before you pay for a job.

The duration window all fallback video models share: 5 to 10 s on Sume
Pair Omni, Seedance, Wan and MiniMax H3 as fallbacks and the only duration every one accepts is 5 to 10 seconds. Overlap table for each pair on Sume.

Gemini Omni video edit on Sume: video_url price by output second
Edit a clip with gemini-omni-flash-1.1 by sending video_url and a prompt. Sume bills $0.125 per second at 720p default, so a 6-second edit is $0.75.

8-second 720p Seedance price ladder: mini, fast, 2.0 and 2.5 on Sume
One 8-second 720p clip costs about $1.51 on seedance-2-mini and $4.62 on seedance-2.5. The token formula behind each Sume price, with the 1.25 margin shown.

Minimum clip length by Sume video model: 2, 3, 4 or 5 seconds
Wan 3.0 starts at 2 s, Gemini Omni Flash 1.1 at 3 s, Seedance and Genjutsu at 4 s, MiniMax H3 and Recast at 5 s. Full min and max table for a Sora port.

Nightly video batch after Sora: 6, 24, 48 or 120 jobs by Sume plan
A cron that submitted 30 Sora renders at once needs a new ceiling. Sume accepts 6 jobs on Free, 24 on Pro, 48 on Startup, 120 on Scale before queue_full.

Sora API shutdown report: which claims Sume docs can answer
Pondero's Sora API shutdown report names Runway, Kling and Seedance. Sort its claims from what Sume's docs list, so you do not assume a model is there.

Seedance 2.5 reference counts: Together's 30/10/10 vs Sume docs
Together lists Seedance 2.5 at 30 images, 10 videos and 10 audio clips per pass. Sume's docs name reference types for it but give no such counts.

Seedance pixel sizes by ratio on Sume: 864x496 at 480p, 1920x1080
Sume prices Seedance by video tokens counted from fixed pixel sizes per ratio and resolution. The size table, and why 480p 16:9 is 864x496 and not 854x480.

Seedance reference video: 15 assumed seconds, 0.6x, real cost
Sending a reference video to Seedance on Sume prices as 8 s plus 15 assumed input seconds at 0.6x. For 8 s at 720p that is $5.22 on seedance-2 against $3.02.

Silent clips after Sora: which Sume models take generate_audio false
Gemini Omni Flash 1.1 rejects generate_audio false; Kling 3 prices audio on at $0.21 a second against $0.14 off; recast and motion transfer keep source sound.

Wan 3.0 document-to-video claim vs what Sume accepts as reference
Alibaba says Wan 3.0 reads PDFs, slides and docs. Sume's catalog lists image, video and audio references for it, not documents. Read the field before you plan.

Wan 3.0 price per second: Alibaba list vs Sume x1.25 for 10 s and 30 s
Alibaba lists Wan 3.0 at $0.05, $0.10 and $0.20 per second. Sume bills list x1.25, so a 10-second 720p clip is $1.25 and a 30-second 1080p clip is $7.50.

Edit one region of a large photo: crop, edit, stitch back in Pillow
Crop the part you want changed, edit it with Ideogram 4.5 on Sume, then resize and feather it back into the full-resolution photo with Pillow. Code included.

Measure softening and colour creep across AI edit passes in Pillow
Test the no-drift claim on your own photos: edge sharpness and a white-patch colour reading for each pass of an edit chain, in short Python with Pillow.

Edit models Morphic names versus what the Sume catalog lists
Morphic runs image edits on Seedream 5.0 Pro, Nano Banana 2 and GPT Image 2.5 until Ideogram 4.5 arrives. Which of these Sume lists, and where to check.

Precise image editing on Sume: what it has and what it lacks
A plain list of what Sume offers for precise edits after Flux 3 Image and Ideogram 4.5: no Flux 3, no box field, mask_url on one model, Ideogram 4.5 present.

A ten-photo edit regression suite to re-run when a model launches
Ten photos, five edits each, one scoring sheet: a cheap test to re-run whenever a new image edit model launches. 50 edits cost $1.875 at the low tier on Sume.

Which Sume image models take references and masks: a Python check
Read GET /v1/images/models and list each model max input_references and whether it exposes mask_url, instead of trusting a blog table. Runnable Python.

Which Sume calls are unbilled previews, and which reserve money
Four documented Sume checks create no job and reserve no credits: timeline plan, video filter check, MCP dry_run and the admission preview. Submits reserve.

Avatar job tracking table: which Sume ids to store and why
Avatar work produces a handle, a job id, a preview id and a video id. A small SQL table that keeps them straight, plus the status fields to poll.

Quiz feedback clips with an AI avatar: right and wrong answers
Render a short avatar clip per right and wrong quiz answer and let your LMS pick the one to play. Clip counts, cost by tier, and what Sume does not do.

Ad variants from one product photo for six audiences
Make six audience-specific ad images from one photo by editing it six times with Ideogram 4.5 on Sume. Six medium edits cost $0.45; prompts and checks included.

Edit once and crop three ways, or edit three times: 4:5, 1:1, 9:16
Crop one 4:5 edit to 1:1 and 9:16 in Pillow, or edit per shape. A crop keeps 80% of the height or 70.3% of the width; three edits cost three times as much.

Move captions on an avatar video: design.placement and anchor_ratio
Inline avatar captions take no design overrides. To lift the caption line off the platform buttons, re-burn with the standalone job. Fields, price, example.

Restyle avatar clip captions with source_caption_id, no re-transcribe
To try a second caption look on an avatar video, send source_caption_id instead of the video URL. Sume reuses the word timings. Cost, errors and a worked flow.

queue_full 429 on a Sume submit: the reservation is released
A 429 queue_full releases or refunds the failed admission's reservation. Check refunded_usd_micros in /v1/usage, then retry with the same Idempotency-Key.

Sume /v1/usage summary.final is false: a hold is open, not spent
Read GET /v1/usage?job_id= and book cost only when summary.final is true. held_usd_micros and refunded_usd_micros are not spend. Code to poll it.

Redeliver a missed video webhook after a bad deploy: one Sume call
Receiver down when the video finished? POST /v1/jobs/{job_id}/webhook/redeliver re-sends job.completed with a fresh signature. Scope, statuses, pitfalls.