Sume API endpoints list: routes, scopes, idempotency
An index of the Sume API's public routes by family: which need no key, which scope each needs, where Idempotency-Key applies, and the post on each.

The Sume API's public routes live under https://api.sume.com/v1. The health, catalog, and background-music routes need no key; every other route takes an API key, and the docs name key scopes for Formats, Actions, Agent Completions, the webhook-secret and test-delivery routes, and job webhook redelivery. The index below groups the routes by family, with the scope each needs, where Idempotency-Key applies, and the post that explains the family.
Routes come from Sume's API reference route map, the Developer API overview, and the live OpenAPI reference, read on 2026-09-27. Downloading the spec and generating a client is covered in the Sume OpenAPI spec; every model id per surface is in every AI model on Sume.
Which routes does the Sume API have?
A dash means the docs give that family no idempotency rule. The live OpenAPI stays the source of truth for fields, so download it when you need the exact schema.
| Family | Routes | Key and scope | Idempotency-Key |
|---|---|---|---|
| Health and catalog | GET /v1/health, GET /v1/catalog | No key | — |
| Background music | GET /v1/bgm/catalog, GET /v1/bgm/categories, POST /v1/bgm/pick | No key | — |
| Account and usage | GET /v1/me, GET /v1/balance, GET /v1/usage | Key | — |
| Webhook secret | GET /v1/webhooks/signing-secret, POST /v1/webhooks/signing-secret/rotate, POST /v1/webhooks/test-deliveries | account:read; the two POSTs need account:write | — |
| Jobs | GET /v1/jobs, GET /v1/jobs/{id} plus /status, /result, /events; POST /v1/jobs/{id}/cancel | Key | —; cancel itself is idempotent on an already-canceled job |
| Job webhook redelivery | POST /v1/jobs/{id}/webhook/redeliver | jobs:write | — |
| Images | POST /v1/images, GET /v1/images/models, GET /v1/images/models/{model_id}/endpoints | Key | Send one on the create |
| Videos | POST /v1/videos, GET /v1/videos/{id}, GET /v1/videos/{id}/content, GET /v1/videos/models | Key | Send one on the create; a replay returns the original job |
| Music Router | POST /v1/music-router/generate, GET /v1/music-router/models | Key | Send one on the create |
| Text to speech and speech to text | POST /v1/tts-1.0/generate, POST /v1/tts-router/generate, GET /v1/tts-router/models, POST /v1/stt-1.0/transcribe | Key | Send one on each create |
| Background removal and upscaling | POST /v1/rmbg-1.0/remove, POST /v1/image-upscale-1.0/upscale, POST /v1/video-upscale-1.0/upscale | Key | Send one on each create |
| Lip sync and motion control | POST /v1/veed/fabric-1.0, POST /v1/minimax/h3-max/lip-sync, POST /v1/kling/3.0/motion-control | Key | Send one on each create |
| Avatars and stock avatars | POST /v1/avatar-1.0/generate, GET /v1/avatar-1.0/avatars and /{id}, POST /v1/avatar-catalog/search | Key | Send one on the create |
| Talking video and previews | POST /v1/avatar-1.0/talking-video, GET /v1/avatar-videos and /{id}, /v1/avatar-video-previews (create, read, regenerate, generate-video) | Key | Send one on each create |
| Face swap (Beta) | POST /v1/models/sume/avatar-face-swap/v1.0/runs | Key | Send one on the create |
| Captions | POST /v1/video-captions, GET /v1/video-captions/{id} | Key | Send one on the create |
| Trim, detach, and filter | POST /v1/video-trim, POST /v1/audio-detach, POST /v1/video-filter, POST /v1/video-filter/check | Key | Required; not on the check |
| Frames and inspect | POST /v1/video-frames, GET /v1/video-frames/{id}, POST /v1/video-inspect, GET /v1/video-inspect/{id} | Key | Required on inspect; send one on frames |
| Timeline | POST /v1/timeline-1.0/render, /plan, /audio, /compose | Key | Required; not on /plan |
| Trending search | POST /v1/trending-videos/search | Key | — |
| Formats | /v1/formats (list, create), /v1/formats/{handle}/{slug} and its /runs and /bulk-runs, /v1/format-runs/{run_id} (read, cancel, redeliver), /v1/format-run-queues/{queue_id} | formats:read; creates, cancel, and redeliver need formats:write | On every run create and bulk queue |
| Format sharing and files | /v1/formats/{handle}/{slug}/grants, /v1/format-grants, /v1/formats/{handle}/{slug}/contents | formats:read; writes need formats:write | — |
| Actions (scheduled runs) | /v1/actions and /v1/actions/{action_id} (read), /v1/actions/{action_id}/runs (list, create), /v1/action-runs/{run_id} (read, cancel) | actions:read; run create and cancel need actions:write | On every run request, 1–255 characters |
| Agent Completions | POST /v1/agent/completions, GET /v1/agent-runs, /v1/agent-runs/{run_id} (read, cancel) | agent_completions:read; the two writes need agent_completions:write | A replay returns the original receipt |
curl https://api.sume.com/reference/json \
-o sume-openapi.jsonWhich scope does my key need?
Families marked Key need a valid API key, and the docs name no scope for them. The scoped families follow these rules:
- Scopes are fixed when a key is created and cannot be added later. A key made before the Actions or Formats scopes existed gets
403 insufficient_scopeon those routes (on a Format, never404); create a new key and rotate to it. - The webhook-secret routes read with
account:read, and rotation and test deliveries needaccount:write; redelivering a real job webhook needsjobs:write. - Hosted MCP under OAuth uses its own scopes:
mcp:readfor read-only tools andmcp:writefor mutating and paid ones.
Which routes are legacy or retiring?
These still answer but are not where new work should go. Moving from Video 1.0 and Image 1.0 covers the switch.
- Image 1.0 (
POST /v1/image-1.0/generate) and Video 1.0 (POST /v1/video-1.0/generate) are retiring soon. UsePOST /v1/imagesandPOST /v1/videos. - Music 1.0 (
POST /v1/music-1.0/generate) is retiring gradually and resolves through the Music Router. - The Image Router routes are deprecated in favor of
/v1/images, and the legacy Video Router routes point new integrations to/v1/videos. Both still work. - Model-run aliases under
/v1/models/…/runsstay in the public OpenAPI and keep working. Prefer the canonical path when both exist. POST /v1/avatar-1.0/image-to-videois a deprecated alias ofPOST /v1/veed/fabric-1.0.
What does this list leave out?
Some routes are implemented but omitted from the public OpenAPI on purpose, among them the /v1/assets family, /v1/generation/admission-preview, and POST creates on /v1/avatars and /v1/avatar-videos. The docs say not to treat them as public contract until they appear in the live OpenAPI.
The OpenAPI document also carries routes this index skips, experimental and development-first ones among them. Their docs pages mark those, so read a route's page before you build on it.
Sources
Related posts
More in Developers
- Sume API error codes by surface: one index with next steps
Sume API error codes indexed by surface: common codes, paid generation, Formats, Scheduled runs, Agent Completions, media tools, and hosted MCP.
- Sume API glossary: Format run, spend cap, idempotency key
Sume API terms in one or two sentences each: Format, run, job, spend cap, idempotency key, wallet, agent fee, webhook, artifact, and more, with links.
- Sume API output file formats: MP4, PNG, WebP, WAV, MP3
The file each Sume API endpoint returns: MP4 from Timeline and the editing tools, PNG, JPEG, or WebP images, WAV or MP3 audio, and JSON transcripts.
- Sume API pagination: cursor, starting_after, and page limits
How each Sume list endpoint pages: cursor and has_more on Formats and runs, starting_after on /v1/jobs, and limit-only lists that have no cursor.
Written by Sume