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.

video-filter order of operations: ops first, then filtergraph
In Sume video-filter, ops[] (dim, crop; max 8) run before the filtergraph, which has its own 2048-character and 32-filter caps. Order matters for a crop.

Trim an H.265 or AV1 clip by API: which codec comes out?
DaVinci Resolve 21 lists H.265, MV-HEVC and AV1. Sume's exact trim re-encodes to libx264 yuv420p; keyframe trim copies the stream. Input support is not listed.

Keep the source's channels and sample rate when extracting audio
Adobe lists Match Source audio channels and sample rate in Premiere 26.5. Sume audio-detach keeps both by default: channels source, sample_rate omitted, wav.

Editing upload limits: Descript's GB tiers vs Sume's seconds caps
Descript lists per-file size caps by plan (1, 10, 20, 50 GB). Sume's media routes cap by clip duration instead: 300 s or 1800 s in, up to 900 s out.

Rough cut from a script by API: one scene per Timeline slot
Descript Quick Design splits a script into moments with changing visuals. With Sume you map each scene to a Timeline video slot over a voiceover spine yourself.

Trim and conform a clip to 1080x1920 at 30 fps in one call
video-trim takes an optional output {width, height, fps} that conforms on the way out, exact precision only. Width and height 256-2160, fps 24, 25, 30 or 60.

GPT Image 2.5 1080x1350: why the size fails and what to send
1080x1350 breaks GPT Image 2.5's multiple-of-16 size rule. 1080 is not a multiple of 16. 1088x1360 (exact 4:5) meets the listed rules. Per OpenAI and Sume docs.

GPT Image 2.5 mask edit: does the mask need an alpha channel?
OpenAI's API says the mask must contain an alpha channel. Sume's docs list a public HTTPS mask_url for GPT Image 2.5 edits but state no mask format rule.

GPT Image 2.5 moderation low: can you send it through Sume?
OpenAI lists a moderation parameter (auto or low) for GPT Image 2.5. Sume's request table does not list it, so check the catalog before sending it.

FLUX image URL expires after 10 minutes: what Sume returns
Black Forest Labs says generated FLUX image URLs expire after 10 minutes. Sume returns Sume-hosted signed URLs; here is how to fetch and keep the file.

Image 1.0 input_urls, n and format: deprecated names to replace
Sume's Image 1.0 still accepts input_urls, n and format, but prefers image_urls, num_images and output_format. What each maps to and their limits.

Image 1.0: text, reference or masked edit - which fields to send
Image 1.0 uses prompt only for text-to-image, prompt plus image_urls for edits or references, and adds mask_image_url for masked edits. Fields and URL rules.

Token bucket vs fixed window: what a reset header means
Anthropic says its limits replenish continuously; Sume's docs call ratelimit-reset the seconds until the window resets. How to pace a client for each.

Gemini rate limits: per project, not per API key. And Sume?
Google says Gemini rate limits apply per project, not per API key, so a second key adds nothing. What Sume's docs say about plan limits and how to read them.

Create vs read rate limits: Managed Agents 300/1,200, Sume plans
Anthropic's Managed Agents limit creates and reads separately. Sume splits its per-minute budget the same way by plan, so polling cannot starve submits.

AI Act Article 50 in force: what to log per generated file
Article 50 applies from 2 August 2026. Keep a per-file record of job id, request id and artifact URL from Sume, and know what the docs leave unsaid on marking.

Content Credentials after download: check the file you deliver
C2PA 2.2 defines Content Credentials and a separate Soft Binding API. Sume's docs do not say a downloaded output keeps one, so check the delivered file.

Sume assets from the terminal: upload-url, complete, download
The Sume CLI registers an asset in three write-gated steps and reads it back with download-url or download. Flags, the confirm gate and what stays private.

Asset id or public HTTPS URL? What Sume inputs accept
Sume generation fields take public HTTPS URLs directly. Localhost, private, non-HTTPS, signed URLs and wrong content types are rejected. When an asset id helps.

sume --agent --json: what it redacts before you paste output
Sume CLI --agent mode redacts or summarizes URL-like and account fields where supported. What to still strip before pasting output into a ticket or chat.

sume jobs watch timed out: recover the job before you resubmit
A local wait that times out does not cancel a paid Sume job. Inspect it with jobs status, events and result, then download, instead of submitting again.

What not to log from an AI API: keys, signed URLs, private media
Safe to log: request ids, job ids, status and sanitized media metadata. Unsafe: API keys, signed URLs, raw private media URLs and excess user content.

Install the Sume CLI in CI: checksums and pinned release tags
The hosted installer verifies checksums.txt and will not overwrite another sume on PATH. To pin, swap latest for a release tag such as v0.1.6.

Video API duration: whole seconds only, no 7.5 s clips
Sume's video duration is an integer and each model lists whole-second supported_durations. Ranges per model and how to pick one before you submit a job.

frame_images plus input_references in one request: which wins?
When a Sume video request carries both frame_images and input_references, frame_images wins and the job runs as image-to-video. What that means for references.

Video 1.0 reference_audio_urls: why audio alone is rejected
In Video 1.0, reference_audio_urls (1 to 3 URLs) requires at least one reference image or video. Field limits for images, videos and audio references.

routing_preset kling or grok on Video 1.0: accepted, then ignored
Video 1.0 still accepts the retired routing_preset values cost, speed, quality, grok and kling, but all of them run through Auto. How to pick a family instead.

Video 1.0 last frame: end_image_url needs image_url first
To set a last frame on Video 1.0, send end_image_url together with image_url. The docs list the modes: text, first frame, start and end frames, references.

Video 1.0 generate_audio: why the docs say to omit it
Sume's Auto family always generates audio for Video 1.0 requests, so the docs tell you to omit generate_audio. What the field does and where audio is optional.

first_frame_url and last_frame_url on Video 1.0: deprecated names
Video 1.0 still reads first_frame_url and last_frame_url, but the docs prefer image_url and end_image_url. The rename map and one rule about the end frame.

Video 1.0 duration vs duration_seconds: what if they differ?
Video 1.0 accepts duration and its alias duration_seconds. If you send both they must agree; the value is checked against the Auto serving family.

Video 1.0 bitrate_mode: still in the shape, rejected by Auto
bitrate_mode is retained in Video 1.0's legacy request shape but Auto rejects it. Omit it, and note that Gemini Omni Flash 1.1 has no bitrate_mode either.

Video 1.0 metadata field: stored on the job, not sent upstream
The metadata object on a Video 1.0 request is stored on the job as caller metadata and is not sent to the provider. Use it to tag jobs; the limits it has.

video.generation.completed on Sume? The webhook event map
OpenRouter sends video.generation.* events; Sume sends job.completed, job.failed or job.canceled with a signed body. What to change in a receiver.

OpenRouter video size parameter on Sume: 400 unsupported_parameter
On Sume every video model reports supported_sizes null, so a size parameter returns 400 unsupported_parameter. Send resolution and aspect_ratio instead.

OpenRouter video seed on Sume: no v1 model accepts it
OpenRouter lists seed for deterministic video generation. On Sume no v1 video model accepts seed: each reports seed false and the field is rejected.

OpenRouter video provider.options on Sume: rejected, not dropped
OpenRouter lists provider passthrough configuration. Sume v1 runs one backend per model, so a non-empty provider.options returns 400 unsupported_parameter.

google/veo-3.1 style ids vs Sume: bare video model ids
OpenRouter names video models org/slug, such as google/veo-3.1. Sume uses bare catalog ids like seedance-2 and never a provider prefix. How to port an id.

Activepieces 10-minute flow timeout and long Sume video jobs
Activepieces Cloud caps a flow run at 10 active minutes. Submit the Sume job async, pause the flow, and resume on the result instead of polling in a loop.

Activepieces subflow retried: keep Sume jobs from billing twice
A retried Activepieces subflow can re-run your Sume submit. Derive the Idempotency-Key from a stable input, not the attempt, so a retry returns the same job.

Activepieces sync webhook 408 at 30 seconds: use Sume async
An Activepieces /sync webhook returns 408 when no response arrives in 30 seconds. Call Sume in async mode, which answers 202 with a job id at once.

Anthropic x-api-key is now a fallback: Sume accepts one header
Anthropic's docs list Authorization: Bearer first and call x-api-key a legacy fallback. Sume accepts either, but rejects a request that sends both with a 401.

AI Act Article 50 and standard editing: which Sume tools use no model
The Commission's FAQ exempts assistive standard editing from AI marking. Sume's trim, filter, audio detach and timeline docs call themselves ffmpeg-only.

Speaker diarization API: confidence scores, and what Sume STT returns
AssemblyAI added speaker_confidence (0 to 1) per word and utterance. Sume STT returns word start and end times only, with no speaker or confidence data.

Bluesky video upload limit: 300 MB MP4, and fitting a clip
Bluesky raised its video upload limit from 100 MB to 300 MB in June 2026, MP4 only. Fit a clip under it by trimming length and conforming size with Sume.

Claude Code --bare and MCP: name the Sume server with a key
Claude Code --bare connects only MCP servers named on the command line. To use Sume there, name the server with an API-key header; no browser sign-in needed.

MCP server instructions field: the new /context row, and Sume's
Claude Code 2.1.283 counts MCP server instructions as their own /context row. Sume returns instructions at initialize and keeps long guidance out of tool text.

Claude Code MCP connection timeout: startup wait vs a Sume call
Claude Code 2.1.284 waits up to 10 s for a connecting MCP server on resumed calls and 2 s on a non-interactive first turn. Sume tool calls hold at most 55 s.