Interfejsy API dla deweloperów są nadal w wersji beta i mogą się zmienić w dowolnym momencie. Na tym etapie najlepiej nadają się do osobistych testów i eksperymentów i nie są jeszcze zalecane do użytku produkcyjnego.
Playground
Twórz realistyczne wideo z synchronizacją ust za pomocą technologii AI - spraw, by dowolne zdjęcie mówiło z idealnymi ruchami ust.
POST /api/v1/lip-sync/submit → /queryDostęp do API jest przeznaczony wyłącznie dla subskrybentów. Witryna i API korzystają ze wspólnej puli kredytów subskrypcji.
Zobacz planyOpcjonalny parametr żądania. Użyj typu, wartości domyślnej i dozwolonych wartości podanych w tabeli.
Opcjonalny parametr żądania. Użyj typu, wartości domyślnej i dozwolonych wartości podanych w tabeli.
Opcjonalny parametr żądania. Użyj typu, wartości domyślnej i dozwolonych wartości podanych w tabeli.
#!/usr/bin/env bash
set -euo pipefail
SUBMIT_RESPONSE="$(curl --fail-with-body --silent --show-error -X POST "https://vidmage.ai/api/v1/lip-sync/submit" \
-H "Authorization: Bearer ${VIDMAGE_API_KEY}" \
-H "Content-Type: application/json" \
--data-raw '{
"visualUrl": "https://vidmage.ai/assets/images/samples/blue-eyed-woman-sunlight.webp",
"inputType": "image"
}')"
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/lip-sync/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