API Developer masih dalam tahap beta dan dapat berubah kapan saja. Saat ini, API ini lebih cocok untuk pengujian dan eksperimen pribadi dan belum direkomendasikan untuk penggunaan produksi.
Playground
Ganti satu wajah yang terdeteksi di foto target dengan wajah dari foto referensi. Deteksi dan pemotongan wajah ditangani secara otomatis.
POST /api/v1/face-swap/submit → /queryAkses API hanya tersedia bagi pelanggan. Kredit langganan digunakan bersama oleh situs web dan API.
Lihat paketIndeks berbasis nol dari wajah target yang akan diganti.
Indeks berbasis nol dari wajah terdeteksi yang akan digunakan dari foto referensi.
#!/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