Developers
Building on the Sume API: keys and hosts, jobs and runs, polling, webhooks, idempotency, errors and rate limits, the SDK, the CLI, and MCP auth.

Cursor /goal with paid Sume calls: what actually caps spend
Cursor /goal keeps an agent on one objective. The goal text is no budget: bound Sume spend with generation_spend_cap_usd, max_paid_calls and dry_run.

D-ID translation result URL: valid 24 hours, then re-fetch
D-ID's translation result_url is valid for 24 hours, so store the file or re-fetch it. Sume media.sume.com URLs do not expire. What to save and when.

ElevenLabs Music Audio Reference vs Sume Music's image input
ElevenLabs Audio Reference guides Music v2/v2.5 with a track of about 30 seconds. Sume Music 1.0 takes a text prompt and one optional public HTTPS image URL.

ElevenLabs STT 3 GB / 10 hour limit vs Sume STT 600 s jobs
ElevenLabs speech to text accepts files up to 3 GB and 10 hours in standard mode. Sume STT 1.0 reserves up to 10 minutes per job, so cut long recordings.

Facebook Reels API: 30 posts per 24 hours, Instagram allows 100
Meta's Reels Publishing API allows 30 API-published posts in a 24-hour moving period, enforced on video_reels. Here is how to split a 100-item Sume queue.

Facebook Reels error 1363127: resolution below 540x960
Error 1363127 means the Reels video is under the 540 x 960 minimum. Facebook recommends 1080 x 1920; in Sume use the 720p or 1080p tier in 9:16, not 360p.

Facebook Reels error 1363129: frame rate must be 24 to 60 fps
Error 1363129 means the average frame rate is outside 24-60 fps. Conform the file to a fixed 24, 25, 30 or 60 fps with Sume Video Trim or Timeline, then retry.

FLUX.2 pose and layout guidance without ControlNet
FLUX.2 has no ControlNet input: BFL says to pass a pose or layout as a reference image. On Sume use image_urls or input_references; unlisted fields get a 400.

FLUX API 429 vs Sume 429: rate_limited and queue_full
BFL returns one 429 for exceeded account rate limits. Sume splits 429 into rate_limited (back off) and queue_full (wait for a job to finish or cancel one).

FLUX moderation reasons: handling the block vs a Sume job error
How to code the handler: BFL returns a Moderation Reasons array in details. A failed Sume job returns an error category and next action, not a reasons array.

FLUX API polling_url and regional hosts vs Sume job polling
BFL says to poll the polling_url it returns on api.bfl.ai and its EU and US hosts. Sume has no region choice: you poll the status URL in the job envelope.

Gemini Omni Flash has no temperature, top_p or negative prompt
Gemini Omni Flash has no system instructions, temperature, top_p, stop sequences or negative prompts. Put negatives in the prompt; Sume has no such fields.

Gemini Omni task values mapped to Sume request fields
Google's Omni task field takes text_to_video, image_to_video, reference_to_video, edit or extend. On Sume the fields you send pick the mode; extend is absent.

Gemini voice replication: consent audio and a 10-30 s sample
Gemini API voice replication needs a 10-30 second source_audio and a consent_audio from the same speaker. Sume's TTS call takes a ready voice id instead.

Gemini voice_key with store=false: 7 days; voice_ ids: 200, 1 year
Gemini replicated voices: stored voice_ ids keep 1 year with 200 per project; stateless voicekey_ values last 7 days. What Sume's TTS voice id accepts.

Google Play AI content policy: the in-app report button
Google Play says apps that generate content with AI need in-app reporting or flagging that works without leaving the app. What that means for an AI video app.

HeyGen brand glossary: speech changes, captions keep spelling
HeyGen's brand_glossary_id changes synthesized speech only; captions keep the original spelling. Sume has TTS pronunciation_dict_id and a caption stage.

HeyGen brand kit from a website URL vs Sume product and scene
HeyGen builds a stored brand kit from a website URL with POST /v3/brand-kits. Sume has no kit object: you pass product, scene and avatar inputs per request.

Ideogram 4 describe image to JSON prompt vs Sume reference input
Ideogram's describe endpoint returns a structured json_prompt with optional bounding boxes. The Sume docs list no such route; pass the image as a reference.

Ideogram image URLs expire: what to keep vs Sume job results
Ideogram says image URLs expire, so download what you keep. Here is what to persist after an Ideogram call, and what to store from a Sume image job result.

Ideogram API upload limits (10, 25, 50 MB) vs Sume image URLs
Ideogram caps uploads per endpoint at 10MB, 25MB or 50MB, multipart only. Sume takes public HTTPS image URLs and lists 413 and 415 errors for bad bodies.

Ideogram Reframe aspect_ratio snaps to 1K; Sume's WxH mapping
Ideogram Reframe with Nano Banana 2 resolves aspect_ratio to the closest 1K size the model supports. Sume maps WxH on Nano Banana to the native aspect_ratio.

Ideogram remove-background 200 with an error body vs Sume errors
Ideogram's remove-background can return HTTP 200 whose body holds error and status_code. Check the body, not just the status. Sume reports failures on the job.

Ideogram Topaz Bloom 2 creative upscale prompt vs Sume upscale
Ideogram's Topaz Bloom 2 upscale takes an optional prompt. Sume's image upscale takes image_url and upscale_factor only, with no prompt field. Request shapes.

Ideogram Topaz Text Refine 8x limit: 8192px math vs Sume upscale
Ideogram rejects a Topaz Text Refine upscale if the output exceeds 8192px on a side. Work out the largest source per factor; Sume's upscaler takes 1 to 4.

Idempotency-Key draft: 422 reuse vs Sume's 409 conflict
The IETF Idempotency-Key draft expired 18 April 2026 and uses 422 for a reused key; Sume returns 409 idempotency_conflict for a different body.

IETF RateLimit-Policy draft vs Sume's ratelimit-* headers
The IETF RateLimit draft defines structured RateLimit-Policy and RateLimit fields. Sume sends plain ratelimit-limit, -remaining, -reset and retry-after.

Instagram API 100 posts per 24 hours: size your bulk queue
Instagram limits API-published posts to 100 in a moving 24-hour period, checked at content_publishing_limit. A Sume bulk queue also tops out at 100 items.

Instagram API error: Maximum number of sponsors exceeded (2)
Instagram's publishing error table lists 'Maximum number of sponsors exceeded. Limit is 2 per post.' and 'Cannot tag yourself as sponsor.' How to prevent both.

LMNT has shut down: what to know moving to Sume TTS
LMNT's site says it has shut down. If you move to Sume TTS 1.0, voice ids do not carry over, language must be set for non-English text, and text caps at 20000.

LTX keyframe interpolation is open-source only; Sume takes last_frame
LTX's KeyframeInterpolationPipeline has no API endpoint. On Sume, frame_images accepts first_frame and last_frame on models that report support in the catalog.

LTX frame counts must be 8k+1; Sume durations are whole seconds
LTX frame counts must satisfy (F-1) % 8 == 0, so 30 frames is invalid. On Sume you send whole seconds and read the allowed set from the catalog, not frames.

Luma Agents API presigned URL, generation id and Sume job ids
Luma presigned video URLs expire after 1 hour but the generation id does not. For Sume, store the job id and re-read the job instead of keeping a video URL.

Luma Ray 3.2 video.loop: rejected with 10s, hdr or end_frame
Luma's video.loop fails with duration 10s, hdr or end_frame. Sume has no loop flag; models with first and last frame inputs can take one image for both.

Luma Ray 3.2 video_reframe: 10-second source, no 1080p vertical
Luma's video_reframe outpaints a source of 10 seconds or less, with no 1080p for 9:16 or 3:4. Sume crops a hosted clip instead of generating new edges.

MCP batch mixed tools error: split status reads, waits, tools
Sume's legacy MCP batch must hold one class of work: jobs_status reads, jobs_wait waits, or other tools. A mixed array gets 400 -32600. Here is how to split it.

MCP DCR application_type: what Sume's register endpoint reads
The 2026-07-28 MCP spec asks clients to send application_type in dynamic registration. Sume's /oauth/register reads redirect_uris and other named fields.

MCP server URL trailing slash 404: use mcp.sume.com/mcp
Sume's hosted MCP URL is https://mcp.sume.com/mcp with no trailing slash. The server registers that exact path, so write it as documented; skip redirect flags.

MCP GET stream endpoint removed: Sume GET /mcp returns 405
MCP 2026-07-28 removes the GET stream endpoint. Sume's remote MCP already answers GET /mcp with 405 and Allow: POST, so send every message as an HTTP POST.

MCP JSON-RPC batch 400: one message per request, Sume max 4
MCP 2026-07-28 requires one JSON-RPC message per POST. Sume still takes legacy batches of 1 to 4 on the 2025-03-26 shape and returns 400 -32600 otherwise.

MCP 403 forbidden_origin: why a browser client is refused
Sume remote MCP answers a disallowed Origin header with 403 forbidden_origin. A request with no Origin, like curl or a server SDK, is not checked this way.

MCP resource not found -32602: Sume is tools-only, so -32601
MCP 2026-07-28 moves resource-not-found from -32002 to -32602. Sume's hosted MCP advertises tools only, so resources/read gets method-not-found -32601.

MCP x-mcp-header and Mcp-Param headers vs Sume idempotency_key
The MCP 2026-07-28 spec can mirror tool parameters into Mcp-Param headers via x-mcp-header. Sume takes idempotency_key as a tool argument in the JSON body.

MiniMax H3 first_frame and reference roles can't mix: Sume rule
MiniMax H3 treats first/last frames and reference roles as mutually exclusive. On Sume, frame_images takes precedence over input_references. Which to send.

MiniMax H3 reference input limits: 30 MB, 50 MB, 64 MB request
MiniMax H3 caps images at 30 MB, reference video at 50 MB and the request at 64 MB, and says to use public URLs. A pre-flight list, and how Sume takes URLs.

Capacity fallback vs Sume queued jobs at full concurrency
Runway's Model Router can fall back to another model at its concurrency limit. Sume instead accepts the job as queued on the same model until a slot opens.

Revised NO FAKES Act: counter-notice and what it means for APIs
The revised NO FAKES Act adds counter-notice, a research exemption and streaming-music fixes. A plain summary read against avatar, face-swap and music routes.

Notion 429/529 retry_after in the body vs Sume retry-after header
Notion now puts additional_data.retry_after in 429/529 bodies. Sume sends a retry-after header on rate_limited. One small helper can read both.