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
Tạo chân dung AI đẹp mắt của phụ nữ với chất lượng ấn tượng và chi tiết nghệ thuật - tạo hình ảnh chất lượng chuyên nghiệp ngay lập tức.
POST /api/v1/ai-girl-generator/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.
#!/usr/bin/env bash
set -euo pipefail
SUBMIT_RESPONSE="$(curl --fail-with-body --silent --show-error -X POST "https://vidmage.ai/api/v1/ai-girl-generator/submit" \
-H "Authorization: Bearer ${VIDMAGE_API_KEY}" \
-H "Content-Type: application/json" \
--data-raw '{
"prompt": "A confident young woman in a sunlit botanical garden, natural expression, editorial portrait photography",
"aspectRatio": "9:16",
"width": "1080",
"height": "1920"
}')"
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/ai-girl-generator/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