API dành cho nhà phát triển vẫn đang ở giai đoạn beta và có thể thay đổi bất cứ lúc nào. Hiện tại, API phù hợp hơn cho việc thử nghiệm và trải nghiệm cá nhân và chưa được khuyến nghị sử dụng trong môi trường production.
Playground
Thay một khuôn mặt được phát hiện trong ảnh đích bằng khuôn mặt từ ảnh tham chiếu. Việc phát hiện và cắt khuôn mặt được xử lý tự động.
POST /api/v1/face-swap/submit → /queryQuyền truy cập API chỉ dành cho người đăng ký. Điểm tín dụng của gói đăng ký được dùng chung giữa trang web và API.
Xem các góiChỉ mục bắt đầu từ 0 của khuôn mặt đích cần thay.
Chỉ mục bắt đầu từ 0 của khuôn mặt được phát hiện cần dùng từ ảnh tham chiếu.
#!/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