Which URL does each Sume media tool accept: public or media.sume.com?
Video captions and face swap take a public HTTPS URL; trim, filter, frames, inspect, detach, compose and timeline need your workspace's media.sume.com file.

Sume's media tools split into two groups by input. Video captions and face swap take a public HTTPS video URL that Sume can fetch. Video trim, video filter, video frames, video inspect, audio detach, timeline compose, timeline audio and Timeline 1.0 take only a media.sume.com artifact or asset that belongs to your workspace. A public CDN link works on the first group and is refused on the second with unsupported_media_source.
The two rules
The workspace rule exists because those tools run ffmpeg on the worker and do not fetch from the open internet. To use an outside clip, import it first with POST /v1/media-imports, send an Idempotency-Key, and use the media.sume.com URL that comes back. The captions rule is different: the API validates the URL itself and rejects localhost, private-network addresses, non-HTTPS, signed or private URLs, mismatched content types and provider task URLs before the job is queued.
| Tool | Accepts | Refusal |
|---|---|---|
| video captions | public HTTPS video URL | localhost, private network, signed URLs, wrong content type |
| face swap (beta) | public HTTPS source video | same URL checks |
| video trim | your media.sume.com clip | unsupported_media_source, source_not_found |
| video filter | your media.sume.com clip | unsupported_media_source, source_too_large |
| video frames | your media.sume.com clip | 400 schema error for off-host URLs |
| video inspect | your media.sume.com clip | source_not_found |
| audio detach | your media.sume.com video | unsupported_media_type if not a video |
| timeline compose / audio / render | your media.sume.com files | unsupported_media_source |
What the refusals mean
unsupported_media_source means the URL host is not Sume's. source_not_found means the media.sume.com URL is dead or belongs to a different workspace, which is an easy mistake when two teams share artifact links. unsupported_media_type means the HEAD request came back as something other than a video. source_too_large is the filter-specific refusal for a file over the timeline download budget.
A sensible order
Burning captions onto an outside file is one hop, since captions accept the public link. A trim, crop or assembly of an outside file is two: import, then call the tool. If a pipeline mixes both, import once and keep the returned URL in your own table, so the same artifact feeds trim, filter and timeline without a second import. The docs also say integrations should store the Sume URL, not any raw provider URL, because Sume mirrors generated outputs into its own media host.
curl -X POST https://api.sume.com/v1/video-captions \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: caption-demo-001" \
-d '{
"video_url": "https://cdn.example.com/clips/demo.mp4",
"style": "slam"
}'Not covered by this rule
Image inputs for avatar and product fields also take public HTTPS URLs per the media inputs page. Avatar Video inline captions are separate from the standalone caption job, and they do not create a video_caption resource.
Sources
Related posts
More in Media tools
- How to burn captions onto a video with the Sume API
Send a public HTTPS video URL to POST /v1/video-captions and get a job-backed captioned video, timed by speech-to-text or by text you supply.
- How to extract frames from a video with the Sume API
POST /v1/video-frames returns stills at the times you name from one Sume-hosted clip, as durable images at source size. The call is unbilled.
- How to use Sume's Timeline compose and Timeline audio APIs
Timeline compose puts one still and one video in the same frame as a new MP4. Timeline audio joins or splits Sume-hosted audio into reusable files.
- Trim, filter, or detach audio from a video with the Sume API
Video trim cuts a range into a new MP4, video filter dims or crops into a new MP4, and audio detach extracts a wav or mp3. Each takes one Sume-hosted clip.
Written by Sume