Public URL or media.sume.com: which Sume media tool takes which

Sume video trim and timeline accept only media.sume.com URLs from your workspace. Captions and video upscale take a public HTTPS URL. Import first.

4 min readSume
All posts

Sume video trim and timeline accept only media.sume.com URLs from your own workspace, and captions and video upscale take a public HTTPS URL. Image upscale and background removal are priced below, but their URL rules are not in the docs I read. Sending a public URL to trim returns the refusal unsupported_media_source, and the fix is to import the file first with POST /v1/media-imports.

The input rule by tool

Input URL rules, read 2026-10-06 from docs and request schemas
ToolInput fieldAccepted URLPrice
Video trimvideo_urlworkspace media.sume.com only$0.02 per job
Timeline rendersource_url, audio.urlworkspace media.sume.com only$0.10 per output minute
Video captionsvideo_urlpublic HTTPS$0.20 per clip up to 60 s
Video upscalevideo_urlpublic HTTPS$0.009 per input second
Image upscaleimage_urlsee model page$0.20 per image
Background removalimage inputsee model page$0.0225 per image

Import first, then trim

The URL above is the documented example. Replace it with an artifact from your workspace. The import call that produces such a URL is the one place an outside URL is fetched.

curl -X POST https://api.sume.com/v1/video-trim \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: trim-demo-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
    "start": 2,
    "duration": 8
  }'

Why the split exists

A practical chain imports the source once, trims it, and sends the trimmed clip to captions. If the caption step needs a public URL and the trimmed clip's URL is not public, host a copy for that step. Check each tool's page before you automate, because the rules are per tool and a refusal arrives as a typed error code, not a silent failure.

  • Trim and timeline read only the Sume media host, so import outside files first.
  • Captions and video upscale read the public HTTPS URL you pass.
  • A chain mixes both kinds, so plan where each file lives at each step.

Typed refusals to expect

Handle these codes in your client so a bad URL is reported as a typed error.

Also keep the idempotency key stable per file. If an import or a trim is retried with the same key, you get the same job back rather than a second charge, which matters when a chain of five tools retries after a timeout.

Trim refusals tied to input, read 2026-10-06 from the trim docs
CodeWhen
unsupported_media_sourcevideo_url is not on the Sume media host
source_not_foundthe media.sume.com URL is dead or from another workspace
unsupported_media_typethe HEAD result is not a video
source_duration_exceededthe source is longer than 1800 seconds

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume