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 erkanntes Gesicht im Zielbild durch ein Gesicht aus einem Referenzbild. Gesichtserkennung und Zuschnitt erfolgen automatisch.
POST /api/v1/face-swap/submit → /queryDer API-Zugriff ist Abonnenten vorbehalten. Website und API verwenden dasselbe Guthaben deines Abonnements.
Tarife ansehenNullbasierter Index des zu ersetzenden Gesichts im Zielbild.
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/face-swap/submit" \
-H "Authorization: Bearer ${VIDMAGE_API_KEY}" \
-H "Content-Type: application/json" \
--data-raw '{
"targetImageUrl": "https://vidmage.ai/assets/images/samples/blue-eyed-woman-sunlight.webp",
"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/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 // .["imageUrl"] // .data["imageUrl"] // empty)'
break
;;
failed|error)
printf '%s' "$QUERY_RESPONSE" | jq -r '(.message // .error // .data.error // "Task failed")' >&2
exit 1
;;
esac
sleep 5
done