Udvikler-API'erne er stadig i beta og kan ændres når som helst. På nuværende tidspunkt egner de sig bedst til personlig test og afprøvning og anbefales endnu ikke til produktionsbrug.
Playground
Erstat ét registreret ansigt i et målfoto med et ansigt fra et referencefoto. Ansigtsregistrering og beskæring håndteres automatisk.
POST /api/v1/face-swap/submit → /queryAPI-adgang er kun tilgængelig for abonnenter. Dine abonnementskreditter deles mellem webstedet og API'en.
Se abonnementerNulbaseret indeks for det målansigt, der skal erstattes.
Nulbaseret indeks for det registrerede ansigt, der skal bruges fra referencefotoet.
#!/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