Guides
Sume guides: the API, Formats, agents, models, media tools and pricing, each answer dated and sourced.

Sume scheduled run returned skipped: detect previous_run_active
A Sume scheduled run that overlaps another returns 200 with status skipped, not an error. Check skip_reason in code, and choose reject if a drop must be loud.

Keep a series voice consistent: pin model, voice, speed and volume
A series sounds the same only if every episode sends the same TTS settings. Keep one profile in code, pin a model id, and send it with each Sume request.

YouTube Shorts series: pin one caption look for every episode
Shorts series run from 2026-09-23. Omit style and Sume picks one from the text. Pin style, font and design in one config so ten episodes look the same.

Label speakers without diarization: transcribe each mic track, merge
Sume STT has no speaker labels. If you record each speaker on a separate track, transcribe both tracks and merge the segments by start time. Python script.

Sume STT to an SRT file: build subtitles from sentence segments
Sume returns timed sentence segments, not an SRT. Turn them into a valid .srt file in Python for YouTube, Vimeo or a player, with the timestamp format.

Never set toleranceSeconds to 0 on a Sume webhook verifier
toleranceSeconds 0 skips the timestamp check, so a captured delivery verifies forever. See the replay and a WebCrypto verifier that rejects stale ones.

Refuse an empty Sume API key or webhook secret: a fail-fast loader
An empty SUME_API_KEY or webhook secret fails late and confusingly. Load both at boot, reject empty or whitespace values, and never print them. Python, tested.

Record the Idempotency-Key before you POST a Sume video job
A worker that dies after submitting a video job loses the job id. Write the key to a ledger first, then POST; a retry returns the same job. Tested SQLite code.

A 150 ms TTS claim vs Sume's async TTS: which jobs need which
MAI-Voice-2.1-Flash claims 150 ms end to end. Sume TTS is an async job at $0.0475 per 1,000 characters. Where each fits, and 1,000 chat turns at 200 characters.

A 24-door advent calendar of AI clips: cost per door and per calendar
One card, one 5-second Wan 3.0 clip and one 200-character voice line per door: $8.95 for a light calendar, $17.29 mid-tier and $36.97 premium on Sume.

A/B test two AI video models by API with a stable hash bucket
Split production video jobs between two Sume model ids by hashing a job key, so retries keep the same arm. Python code, a duration table and a 1,000-key check.

Accented letters in AI image text: a proof list for Spanish and French
Headlines with é, ñ, ü or ¿ can come back with a wrong accent. Test two Sume models on your real copy, then check every mark against a proof list.

An AI series render ledger: job id, key, plan minutes, warnings
TikTok is testing spam detection on AI-content accounts. Keep a CSV of every Sume render: job id, idempotency key, plan minutes, status, file and warnings.

asyncio TaskGroup cancels siblings: poll many Sume jobs safely
A TaskGroup cancels every other poller when one raises. For a batch of Sume video jobs that abandons waits, not jobs. Catch inside the task and return results.

Bedtime story app: 365 nightly narrations and covers cost on Sume
A story a night for a year: 3,000-character narrations bill $54.75 on Sume TTS and covers on Ideogram 4.5 low add $13.69, so $68.44 for the year.

Bumper sticker art: a 3:1 strip at 1536x512 on GPT Image 2.5
Make a wide bumper sticker on Sume with GPT Image 2.5 at a custom 1536x512 size, why 3:1 is its widest shape, and what to do for longer stickers.

Car lot video: 60 vehicles, three 8-second clips each, on Wan 3.0
Photos to video for 60 vehicles with Wan 3.0 at 8 seconds a clip: $97.20 at 480p, $187.20 at 720p, $367.20 at 1080p with the render and a voice line.

ChatGPT Images 2.5 Sketch: the API way is a drawing as a reference
ChatGPT Images 2.5 added a Sketch feature. On Sume there is no sketch canvas, but a drawing sent as an input reference to GPT Image 2.5 does the same job.

Cheapest AI video clip on each Sume model: the shortest legal length
The smallest legal clip on nine Sume video models: Wan 3.0 at 2 s is $0.13, Omni 3 s $0.12, Seedance 2 Mini 4 s $0.36, H3 5 s $0.32, Seedance 2.5 4 s $1.08.

Check a Shorts timeline body offline: a Python mirror of the rules
Catch Timeline 1.0 refusals you can see in the body (start at 0, 0.5 s coverage, transitions, even sizes) in 28 lines of Python before the plan call.

TTS then H3 Max lip sync: check the 5 to 14.8 s audio window
H3 Max lip sync takes 5 to 14.8 seconds of Sume-hosted audio and clips the rest. Measure a TTS line from its word timings and price it before you submit.

Claude Code PreToolUse hook: block paid Sume calls without a spend cap
A PreToolUse hook that denies Sume generate and TTS tools when max_spend_usd or idempotency_key is missing. Python hook with the settings.json matcher, tested.

Clicks or gaps when joining TTS MP3 clips: render WAV, join once
Joined MP3 voiceover clips can gap or click. Sume's Timeline audio docs explain why: MP3 adds priming padding at each edge. Keep WAV until the last step.

AGENTS.md rules for a coding agent that calls Sume over hosted MCP
Six AGENTS.md lines that stop a coding agent double-billing Sume video jobs: idempotency_key, jobs_wait slices, dry_run, plus a CI lint script.

Copy space in an AI image: leave room for text, overlay it in code
Ask for empty space in the prompt, check the region with Pillow, and put the headline on top in code, so the text is exact and the picture stays a picture.

Cost per kept AI video clip when 1 in 2, 3 or 4 is a keeper on Sume
A 10-second clip price is not your cost per usable clip: at 1 in 2 keepers it doubles, at 1 in 4 it quadruples. Five Sume models compared at 10 seconds.

Cursor mcp.json for the hosted Sume server: env interpolation or OAuth
Cursor reads .cursor/mcp.json with url and headers and supports ${env:NAME}. Pass the Sume key from the environment, or omit headers and use OAuth. Validated.

Cut a video to 15 seconds for Reddit Engaged Video Views
Reddit began a 15-second Engaged Video Views beta in September. Cut any hosted clip to 15 seconds with Sume video-trim for a flat $0.02, exact or keyframe.

Dark mode hero image: one Ideogram 4.5 edit keeps the text
Make a dark-theme twin of a light hero on Sume with one Ideogram 4.5 edit: the background changes, the headline and layout stay, and the shape matches.

Digital gift card art via API: generate the art, print the code
Make digital gift card artwork with GPT Image 2.5 on Sume, leave a clear text band, then print the amount and code in Pillow so no model ever types a real code.

enum and const in a Sume output schema: a status that cannot drift
Use enum and const in a Sume output_schema to pin a status field to values your publisher expects, since oneOf and allOf are rejected. Examples that pass.

Express receiver for Sume TTS job webhooks: raw body and HMAC
A Node Express route that verifies Sume job webhooks over the raw body, accepts rotated secrets, rejects an empty secret and answers 204 before any work.

ffmpeg script or Sume Timeline for a weekly vertical series
Compare a self-hosted ffmpeg script with Sume Timeline 1.0 for a weekly 9:16 series: what you maintain, what the API refuses, price per output minute.

Gemini CLI and the hosted Sume server: do not rely on env in headers
Add the hosted Sume server to Gemini CLI with httpUrl and a bearer header. Gemini expands env vars only in the env block; set a timeout above jobs_wait.

Get the video URL from a Sume webhook: pick the artifact by type
A Sume job.completed payload lists artifacts with id, url, type and content_type. Select the video by content_type, not array index. TypeScript for Node.

Graduation announcement card art at 4:5, name and year added in code
Generate graduation card art on Sume at 4:5 with a clear middle, then add the graduate's name and year in code so the details are exact and easy to change.

Holiday gift guide of 25 products: card, clip and voice cost on Sume
A holiday gift guide with 25 products, each a medium Ideogram card, a 5-second Wan 3.0 clip and a voice line, plus one render, comes to about $10.43 on Sume.

Homebrew beer label art with an API: the name and ABV added in code
Generate square label art on Sume with no text, then draw the beer name, style and ABV in code so every batch gets exact numbers on the same artwork.

How much does a minute of AI voiceover cost? Measure it from one job
Cost per minute of voiceover depends on how fast the voice reads. Time one Sume TTS job, get characters per minute from word timestamps, and project the price.

Insert a sponsor read into a podcast: TTS plus one audio concat
Generate the ad read with Sume TTS, then join it into the episode at the second you choose with one Timeline audio concat: sample-exact, $0.01 per join.

Is a 540x960 preview render cheaper? Not on Sume Timeline
Sume prices Timeline 1.0 per whole output minute with no resolution term in the docs. Use the free plan to check a Short instead of paying for a small preview.

Same volume every Shorts episode: gain_db, duck_db, one music bed
Sume does not measure loudness. To keep a series consistent, pin audio.gain_db, soundtrack gain_db and duck_db in one function with one bed. Python plan loop.

Keyframe or exact video trim for pause cuts: read actual_start_seconds
Exact trim cuts where you say; keyframe trim is faster but snaps to a keyframe. For pause cuts that decides whether words get clipped. How to choose and check.

Kling motion control job done: a signed Python webhook receiver
Submit a Sume Kling 3.0 motion-control job with mode webhook, then verify the HMAC signature in Python, reject an empty secret and answer fast. Runnable code.

LinkedIn video ad file check in Python before initializeUpload
Check an MP4 against LinkedIn's Videos API range of 75kb to 500MB before you call initializeUpload, and print the fileSizeBytes the request needs.

Lip-sync a video you have, or animate a photo: which API?
Re-syncing a mouth in footage and making a still talk are different jobs. A guide using Sync.so docs and Sume lip-sync, avatar and face-swap routes.

Live webinar captions: Sume has no streaming STT, so use chunks
MAI-Transcribe-2-Streaming is $0.54 an hour. Sume STT is $0.60, async and capped at 10 minutes a job. How to caption a webinar recording in chunks.

Live-commerce clip webhook: verify the Sume signature in Python
Verify a Sume webhook in Python: HMAC SHA256 over timestamp.raw_body, any sume-v1 entry, a 300-second window, and reject an empty secret.