Is my clip ready for face swap? Preflight with reference ingest

Face swap wants a 4 to 15 second source with usable audio. Read the clip first with reference ingest purpose face_swap and check duration and audio.silent.

3 min readSume
All posts

To check a clip before a face swap, run reference ingest with purpose: "face_swap" and read the manifest: you want a source of about 4 to 15 seconds, and audio.silent should not be true because the beta wants usable audio (Face swap (Beta), Reference ingest). The purpose value is stored but not interpreted, so it labels the read rather than changing it.

Checklist from the two docs

Face-swap preflight
CheckWhere to lookPass
Lengthlast shots[].end4 to 15 seconds
Audio presentaudio.silentfalse (silent means integrated loudness at or below -60 LUFS)
Speechaudio speech presencepresent if the clip has dialogue
Public HTTPS URLyour hostingno localhost, private, signed or provider task URLs
Has videoerror source_no_video_streamnot returned

Run the read

With any purpose other than reference_remix, speech.allow_billed_stt defaults to false, so the read does not buy a transcript. A face swap does not need one.

curl -X POST https://api.sume.com/v1/reference-ingest \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: swap-preflight-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/source.mp4",
    "purpose": "face_swap"
  }'

If it fails

A clip longer than 300 seconds returns source_too_long_for_reference_ingest; use video inspect for longer files. A file without a video stream returns source_no_video_stream. A silent track means face swap has nothing usable to work with, so add audio or pick another source.

Cost of being wrong

A swap reserves the beta maximum at the tier rate, so a preflight is cheap insurance.

Sume rates, read 2026-10-08
qualityReserved for 15 s
standard$2.76
plus$3.675
max$8.25

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume