Geliştirici API'leri hâlâ beta aşamasındadır ve her an değişebilir. Şu an için kişisel test ve denemelere daha uygundur ve üretim ortamında kullanılması henüz önerilmez.
Playground
Hedef fotoğrafta algılanan bir yüzü referans fotoğraftaki bir yüzle değiştirir. Yüz algılama ve kırpma otomatik olarak gerçekleştirilir.
POST /api/v1/face-swap/submit → /queryAPI erişimi yalnızca abonelere açıktır. Abonelik kredileriniz web sitesi ile API arasında ortaktır.
Planları görüntüleDeğiştirilecek hedef yüzün sıfır tabanlı dizini.
Referans fotoğraftan kullanılacak algılanmış yüzün sıfır tabanlı dizini.
#!/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