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
Biến đổi ảnh của bạn thành video ấn tượng với AI - tạo nội dung video động từ hình ảnh tĩnh.
POST /api/v1/image-to-video/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óiTham số yêu cầu không bắt buộc. Hãy dùng đúng kiểu, giá trị mặc định và các giá trị được chấp nhận trong bảng.
Tham số yêu cầu bắt buộc. Hãy dùng đúng kiểu và các giá trị được chấp nhận trong bảng.
Tham số yêu cầu không bắt buộc. Hãy dùng đúng kiểu, giá trị mặc định và các giá trị được chấp nhận trong bảng.
Tham số yêu cầu không bắt buộc. Hãy dùng đúng kiểu, giá trị mặc định và các giá trị được chấp nhận trong bảng.
Tham số yêu cầu không bắt buộc. Hãy dùng đúng kiểu, giá trị mặc định và các giá trị được chấp nhận trong bảng.
#!/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