Face swap video_url rejected: signed and private URLs explained

Sume face swap needs a public HTTPS video_url. Signed or private URLs, localhost and provider task URLs are rejected before generation. How to host the clip.

4 min readSume
All posts

The Avatar Face Swap Beta rejects a video_url that is not a fetchable public HTTPS video. Per the docs, localhost, private-network, non-HTTPS, signed or private URLs, and provider task URLs are all refused before generation is submitted. A link that works in your browser because of a cookie or an expiring signature will not work for Sume.

Sources: Face swap (Beta), Media inputs and CLI troubleshooting.

Which URLs fail?

Face swap video_url checks, read 2026-10-02
URLAccepted?Why
https://cdn.example.com/clip.mp4, openly fetchableYesPublic HTTPS video
http://cdn.example.com/clip.mp4NoNot HTTPS
https://localhost or a private-network addressNoPrivate network
A pre-signed storage link with an expiring signatureNoSigned or private URL
A provider task URLNoNot a durable source

What does a valid request look like?

Required fields are avatar_handle, video_url and quality; quality has no default on this endpoint. Prompts, transcripts, duration knobs, aspect ratio and provider fields are unsupported.

curl -X POST https://api.sume.com/v1/models/sume/avatar-face-swap/v1.0/runs \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: face-swap-001" \
  -d '{
    "avatar_handle": "studio_presenter",
    "video_url": "https://example.com/source-clip.mp4",
    "quality": "standard"
  }'

How do I host the clip so Sume can fetch it?

Put the file at a stable public HTTPS location that needs no cookie, header or expiring signature. If your storage only offers signed links, publish a copy of this one clip at an open path for the duration of the job. Completed face-swap results are exposed under media.sume.com.

Keep the clip to what the Beta targets: about 4 to 15 seconds, with usable audio.

Is face swap the right endpoint?

Face swap applies a ready avatar's face onto an existing video. If you want the avatar to speak a script, that is the talking-video endpoint instead; see face swap or talking video: which endpoint. Face swap is Beta, so confirm current behavior in the live OpenAPI schema before shipping it to production.

How do I test a URL before submitting?

Open the URL in a private browser window with no login. Then run curl -I against it from a machine outside your network and check for a 200 and a video content type. If either step fails, treat the URL as one Sume cannot fetch. A 403 or a redirect to a login page is the common sign of a private link.

Per the docs, rejected URLs are refused before generation is submitted.

What about the audio in the source clip?

The Beta expects source videos suitable for face-swap processing, currently planned for about 4 to 15 seconds with usable audio. A silent clip is therefore a risk even when the URL is valid. Check the clip with video inspect if it is hosted on media.sume.com, or play it yourself before you submit.

Sources

Related posts

More in Sume Avatar 1.0

All Sume Avatar 1.0 posts

Written by Sume