Utvecklar-API:erna är fortfarande i betaversion och kan ändras när som helst. För närvarande lämpar de sig bäst för personlig testning och utvärdering och rekommenderas ännu inte för produktionsbruk.
Testmiljö
Förvandla dina foton till fantastiska videor med AI - skapa dynamiskt videoinnehåll från statiska bilder.
POST /api/v1/image-to-video/submit → /queryAPI-åtkomst är endast tillgänglig för prenumeranter. Dina prenumerationskrediter delas mellan webbplatsen och API:t.
Visa abonnemangValfri parameter. Följ typen, standardvärdet och de tillåtna värdena i tabellen.
Obligatorisk parameter. Följ typen och de tillåtna värdena i tabellen.
Valfri parameter. Följ typen, standardvärdet och de tillåtna värdena i tabellen.
Valfri parameter. Följ typen, standardvärdet och de tillåtna värdena i tabellen.
Valfri parameter. Följ typen, standardvärdet och de tillåtna värdena i tabellen.
#!/usr/bin/env bash
set -euo pipefail
SUBMIT_RESPONSE="$(curl --fail-with-body --silent --show-error -X POST "https://vidmage.ai/api/v1/image-to-video/submit" \
-H "Authorization: Bearer ${VIDMAGE_API_KEY}" \
-H "Content-Type: application/json" \
--data-raw '{
"firstFrameImageUrl": "https://vidmage.ai/assets/images/samples/blue-eyed-woman-sunlight.webp",
"prompt": "The subject gently turns toward the camera as a light breeze moves the hair and background leaves",
"duration": "5",
"ratio": "adaptive",
"resolution": "720p"
}')"
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/image-to-video/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