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 dilacak di video target dengan wajah dari foto referensi. Deteksi, pelacakan titik wajah, dan pembacaan hasil ditangani secara otomatis.
POST /api/v1/video-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 terlacak 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/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