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.

5 min readSume
All posts

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.

Input URL rules per Sume media tool, from the Sume docs (read 2026-10-07)
ToolAcceptsRefusal
video captionspublic HTTPS video URLlocalhost, private network, signed URLs, wrong content type
face swap (beta)public HTTPS source videosame URL checks
video trimyour media.sume.com clipunsupported_media_source, source_not_found
video filteryour media.sume.com clipunsupported_media_source, source_too_large
video framesyour media.sume.com clip400 schema error for off-host URLs
video inspectyour media.sume.com clipsource_not_found
audio detachyour media.sume.com videounsupported_media_type if not a video
timeline compose / audio / renderyour media.sume.com filesunsupported_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

All Media tools posts

Written by Sume