ממשקי ה-API למפתחים עדיין נמצאים בגרסת בטא ועשויים להשתנות בכל עת. בשלב זה הם מתאימים יותר לבדיקות ולהתנסות אישיות, ועדיין אינם מומלצים לשימוש בסביבת ייצור.
סביבת ניסוי
החלפת פנים שזוהו בתמונת יעד בפנים מתמונת ייחוס. זיהוי הפנים והחיתוך מתבצעים אוטומטית.
POST /api/v1/face-swap/submit → /queryהגישה ל-API זמינה למנויים בלבד. נקודות הזכות של המינוי משותפות לאתר ול-API.
הצגת מסלוליםאינדקס מבוסס אפס של פני היעד שיש להחליף.
אינדקס מבוסס אפס של הפנים שזוהו וישמשו מתמונת הייחוס.
#!/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