Discord
此页面暂无中文版本 — 以下显示英文内容。 查看英文版

Multimodal

Face swap

A dedicated POST /v1/face-swap endpoint — not one more /v1/videos request shape, and not reachable through it. A single source face photo (face_image_url) replaces the face throughout an existing target video (video_url). Output length always equals the target video's own probed duration — there's no duration_secs field, and no prompt either.

Consent is mandatory. Every request must include source_face_consent: true, affirming you have the right to use the uploaded face photo. A request without it is rejected (400 consent_required) before any pricing or upstream call happens. This covers only the source face — the target video is treated as your own asset, like every other video-editing endpoint on this platform.

Swap a face into a video

import requests, time

job = requests.post(
    "https://videorouter.sh/api/v1/face-swap",
    headers={"Authorization": "Bearer llmr_sk_live_..."},
    json={
        "model": "segmind/hyperswap-video-faceswap",
        "video_url": "https://example.com/clip.mp4",
        "face_image_url": "https://example.com/face.jpg",
        "source_face_consent": True,
    },
).json()
# -> {"id": "fal:...", "status": "queued", ...}

status = requests.get(
    f"https://videorouter.sh/api/v1/face-swap/{job['id']}",
    headers={"Authorization": "Bearer llmr_sk_live_..."},
).json()

Billed reserve-then-settle — the price shown before submission is a sizing estimate, the real charge settles from the provider's own completed-job invoice (same flow as Atlas Cloud's video models). That cost already includes our 2% platform fee.

Which models

ModelProviderPrice
segmind/hyperswap-video-faceswapSegmind (FaceFusion Labs)~$0.00675/s estimate, real cost settles from Segmind's invoice

One model, one provider today — no cross-provider failover pool yet. Also shows up under the Face Swap filter on the models catalog.