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 video của bạn với AI bằng lời nhắc tùy chỉnh. Chọn phong cách và thêm mô tả sáng tạo của riêng bạn.
POST /api/v1/video-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 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.
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/video-to-video/submit" \
-H "Authorization: Bearer ${VIDMAGE_API_KEY}" \
-H "Content-Type: application/json" \
--data-raw '{
"prompt": "Restyle the footage as a cinematic hand-painted animation while preserving the original motion and timing",
"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/video-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