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

AI SDK MCP client close() in onEnd: Sume jobs keep running
Closing the AI SDK MCP client in onEnd ends the tool connection, not the Sume jobs already submitted. Track job ids, then read or cancel them.

Claude Code list_changed and reconnect: refresh Sume tools
Claude Code refreshes an MCP server's tools on list_changed and lets you reconnect from /mcp. After changing Sume's Write consent, verify with tools_list.

Codex MCP enabled = false: pause the Sume server safely
Turn the Sume server off in Codex with enabled = false instead of deleting it, and rotate the API key if it ever showed up in logs or chat.

Can I continue a Sume Agent Completion with thread_id?
Not yet. Every Agent Completion runs in a fresh thread, so a follow-up call cannot reuse thread_id. Pass earlier results back in the next request instead.

OpenAI response_format json_schema on a Sume scheduled run
Sume accepts an OpenAI-shaped response_format as an alias for output_schema on schedule runs. Sending both returns 400, and the schema must be strict.

catalog_list shows a capability that tools_list does not
On Sume's hosted MCP, catalog_list lists public API capabilities and can name ones with no MCP tool. tools_list is the session's real tool contract.

MCP tool name with a dot or underscore: tools.list vs tools_list
Sume MCP tool ids use underscores; a dotted alias such as tools.list is canonicalized on call. Retired aliases map to generate_image and generate_video.

Spotify AI Persona badge: does it apply to AI instrumentals?
Spotify's AI Persona badge is about an artist identity that may be AI-generated. What the announcement says, and what a Sume music job actually returns.

Suno v6-wild: is there a less predictable setting on Sume?
Suno v6-wild is a paid model that is less predictable. Sume's music request has no seed, temperature or guidance field, so variety comes from the prompt.

Suno Pro's 20 downloads a month: what 20 Sume tracks cost
Suno caps downloads by plan: 7 trial, 20 Pro, 60 Premier. Sume lists a fixed $0.125 per accepted music generation, so 20 tracks come to $2.50.

Lyria 3.5 takes 10 images: Sume music takes one image_url
Google's Lyria 3.5 page lists up to 10 images alongside text. Sume's music request has a single optional image_url, so pick one accepted still per track.

Lyria 3.5 outputs MP3 or WAV: what you get from Sume music
Google lists MP3 by default or WAV for Lyria 3.5. Sume's music request has no format field and returns an audio file; timeline audio can make a wav.

Flow Music edits a song by section: how to do it by API
Google Flow Music edits songs by section; its Lyria API page says multi-prompt editing is unsupported. On Sume, cut two takes and join the parts you keep.

Sume music job says sume/music-auto: which engine ran?
job.model echoes the id you requested; job.request.routed_model names the engine that ran, such as lyria-3.5. Read both fields on the job envelope.

Extract audio from a 30-minute video: the 900-second cap
Audio detach accepts a source up to 1800 seconds but returns at most 900 seconds of audio per job. Use range to split a 30-minute video into two detaches.

Extract audio from a video URL: why example.com is refused
Audio detach only reads a video already on this workspace's media.sume.com. An outside URL fails unsupported_media_source, so import it first, then detach.

ffmpeg -vn -ac 1 -ar 16000 as audio detach API fields
Audio detach rejects raw ffmpeg fields such as af, filter, cmd and codec. Map -ac, -ar and -ss/-to to channels, sample_rate and range; mp3 is 128 kbps.

audio_detach MCP tool: idempotency_key, jobs_wait, jobs_result
Hosted MCP exposes audio_detach. It needs an idempotency_key, mcp:write under OAuth, then jobs_wait and jobs_result to read the new audio_url.

Combine more than 20 audio files: nest the concat jobs
Timeline audio concat takes 1 to 20 parts per job. For 45 files, concat in batches of 20 or fewer, then concat the batch outputs. Four jobs, $0.04 flat.

Start a video's audio 45 seconds into a song: audio.source_in
Timeline 1.0's audio.source_in sets the in-point into a single audio spine. Output length stays duration_seconds, and it is illegal with parts or silence mode.

Timeline audio segments: re-base video start times after concat
After a concat, use segments[] (index, start, duration_seconds) as the on-spine start of each video slot in Timeline 1.0. Declared starts are authoritative.

audio_parts_channel_mismatch: concat needs one channel layout
Timeline audio concat fails with audio_parts_channel_mismatch when parts mix channel layouts. Detach video audio as mono for every part.

audio_parts_shorter_than_duration: fix a Timeline audio spine
Timeline 1.0 refuses audio.parts[] whose declared lengths sum to less than audio.duration_seconds. Add part length, lower the duration, or use silence mode.

Lambda 90-minute timeout: does it change AI video jobs?
AWS raised Lambda's async timeout to 90 minutes on Managed Instances. A Sume job still fits best as submit, then poll or webhook, and sync waits stay 30 s.

Workflows keeps state 7 days now: store your Sume job ids
Cloudflare Workflows on Workers Paid now keeps finished instance state 7 days by default. Save the Sume job id and result URL in your own store.

Workflows .subscribe() vs Sume job events: push or pull?
Cloudflare Workflows can stream instance events with subscribe(). Sume has no SSE stream for jobs: use a signed webhook, or poll status and the events snapshot.

Start a Cloudflare Workflow from a Sume webhook with ctx.exports
Verify the Sume webhook signature in a Worker, then start a Workflow with ctx.exports and no workflows binding. Includes a short Worker handler.

Workflows instance limits vs Sume queue headroom: which binds?
Cloudflare lists 50,000 concurrent Workflow instances (Paid, April entry). Sume reports your own generation headroom; size fan-out by that formula.

GitHub Actions re-run: which idempotency key for Sume jobs?
GITHUB_RUN_ID stays the same on a re-run while GITHUB_RUN_ATTEMPT increments. Build the Sume Idempotency-Key from the run id so a re-run does not bill twice.

cancel-in-progress killed my workflow; does the Sume job stop?
Cancelling a GitHub Actions run does not cancel a Sume job. Cancellation only works before generation starts, so store the job id and cancel it explicitly.

Zapier accepted my Sume webhook but the Zap ran minutes later
Zapier says it may return 200 and delay webhook processing by minutes. Sume sees a delivered 200, so keep a status poll as the backup for run and job results.

Zapier Catch Hook test trigger with Sume Send test
Zapier lists the three most recent webhooks from the past hour. Use Sume's Send test to put a signed webhook.test sample there before a real run exists.

Airtable has no webhook signature check: verify Sume first
Airtable's When webhook received trigger cannot verify signatures and caps payloads at 100kb. Verify the Sume signature in a relay and forward a small object.

Pipedream 512KB body limit and Sume run webhook payloads
Pipedream limits HTTP trigger bodies to 512KB by default. Sume run webhooks can carry up to 1 MiB, so plan for a slim relay or the result_url fetch.

Pipedream 30-second timeout: call Sume in async mode, not sync
Pipedream HTTP workflows time out at 30 seconds by default. Sume sync waits up to 30 seconds too, so submit async and take the result by webhook or poll.

Retool Workflow webhook needs X-Workflow-Api-Key: use a relay
Retool Workflows authenticate webhooks with an X-Workflow-Api-Key header or query parameter. Sume documents no custom delivery headers: relay after verifying.

Google Cloud Workflows callback needs an IAM token: relay Sume
A Cloud Workflows callback URL needs the workflows.callbacks.send permission and a Bearer token. Sume webhooks cannot carry one, so relay after verifying.

n8n Wait node under 65 seconds: how to poll a Sume job
n8n keeps waits under 65 seconds in memory and saves longer ones to the database. Poll a Sume job with next_poll_after_seconds, or switch to a webhook resume.

Vercel rewrite to an external API times out at 120 seconds
Vercel proxied rewrites to an external destination time out at 120 seconds with ROUTER_EXTERNAL_TARGET_ERROR. A Sume async submit returns at once.

D1 free-tier limit now fails queries: dedupe Sume webhooks safely
Cloudflare D1 queries on Workers Free now fail past the daily row limits. Dedupe Sume webhooks on request_id, return a 5xx, and use redeliver after the reset.

Webhook rate limits: Zapier, Airtable, Pipedream vs a bulk of 100
Zapier, Airtable and Pipedream each publish a webhook intake limit. Compare them with a Sume bulk queue of up to 100 items and pick a receiver that fits.

Remove filler words from a talking video with an API
Sume has no one-call filler remover. Transcribe with video inspect for word timings, then cut the clean ranges with video trim at $0.02 per job.

AI-made captions on YouTube: is a disclosure label required?
YouTube lists caption creation among edits that need no altered-content disclosure. What that covers, and how a Sume burned-in caption job fits.

Face swap API: quality has no default, unlike avatar videos
Avatar videos default to plus when quality is omitted. Sume's Beta face swap has no default: quality is required and takes standard, plus or max.

Video analysis API with a YouTube link: 422 unsupported_source
Sume's video analyses reject YouTube URLs with 422 unsupported_source. Import the video you own to media.sume.com first; rules for the other bad inputs.

What a Sume video analysis returns for each scene
Each scene in a stored video analysis has start and end seconds, summary, visual, shot type, on-screen text, confidence and keyframes. Field-by-field list.

Video analysis limits: max_scenes 2-40 and the 90 s and 300 s caps
Sume's video analysis takes max_scenes from 2 to 40 (default 24), warns past about 90 seconds and rejects past 300. Cost, runtime and polling advice.

Listing video with an AI avatar: HeyGen for Real Estate, and Sume
HeyGen launched a real estate offer for listing videos. With Sume you can build one from an avatar, a property photo as the scene and a 4-60 second script.