De ontwikkelaars-API's bevinden zich nog in de bètafase en kunnen op elk moment wijzigen. Op dit moment zijn ze vooral geschikt voor persoonlijke tests en experimenten en worden ze nog niet aanbevolen voor productiegebruik.
Playground
Vervang één gevolgd gezicht in een doelvideo door een gezicht uit een referentiefoto. Detectie, tracking van gezichtskenmerken en verwerking van het resultaat gebeuren automatisch.
POST /api/v1/video-face-swap/submit → /queryAPI-toegang is alleen beschikbaar voor abonnees. Je abonnementscredits worden gedeeld door de website en de API.
Abonnementen bekijkenOp nul gebaseerde index van het te vervangen gevolgde gezicht.
Op nul gebaseerde index van het gedetecteerde gezicht uit de referentiefoto.
#!/usr/bin/env bash
set -euo pipefail
SUBMIT_RESPONSE="$(curl --fail-with-body --silent --show-error -X POST "https://vidmage.ai/api/v1/video-face-swap/submit" \
-H "Authorization: Bearer ${VIDMAGE_API_KEY}" \
-H "Content-Type: application/json" \
--data-raw '{
"targetVideoUrl": "https://vidmage.ai/assets/models/hailuo-ai-video-generator/skincare-ad.mp4",
"referenceFaceImageUrl": "https://vidmage.ai/assets/images/samples/smiling-man-sweater.webp"
}')"
TASK_ID="$(printf '%s' "$SUBMIT_RESPONSE" | jq -er '.["taskId"]')"
while true; do
QUERY_RESPONSE="$(curl --fail-with-body --silent --show-error -X POST "https://vidmage.ai/api/v1/video-face-swap/query" \
-H "Authorization: Bearer ${VIDMAGE_API_KEY}" \
-H "Content-Type: application/json" \
--data-raw "{\"taskId\":\"${TASK_ID}\"}")"
STATUS="$(printf '%s' "$QUERY_RESPONSE" | jq -r '(.status // .data.status // "") | ascii_downcase')"
case "$STATUS" in
success|succeeded|completed)
printf '%s' "$QUERY_RESPONSE" | jq -r '(.result // .["videoUrl"] // .data["videoUrl"] // empty)'
break
;;
failed|error)
printf '%s' "$QUERY_RESPONSE" | jq -r '(.message // .error // .data.error // "Task failed")' >&2
exit 1
;;
esac
sleep 5
done