Die Entwickler-APIs befinden sich weiterhin in der Beta-Phase und können jederzeit geändert werden. Derzeit eignen sie sich eher für persönliche Tests und Experimente und werden noch nicht für den Produktionseinsatz empfohlen.
Playground
Ersetzt ein verfolgtes Gesicht im Zielvideo durch ein Gesicht aus einem Referenzbild. Erkennung, Landmark-Tracking und Ergebnisaufbereitung erfolgen automatisch.
POST /api/v1/video-face-swap/submit → /queryDer API-Zugriff ist Abonnenten vorbehalten. Website und API verwenden dasselbe Guthaben deines Abonnements.
Tarife ansehenNullbasierter Index des zu ersetzenden verfolgten Gesichts.
Nullbasierter Index des zu verwendenden Gesichts im Referenzbild.
#!/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