لا تزال واجهات API للمطورين في المرحلة التجريبية وقد تتغير في أي وقت. في الوقت الحالي، هي أنسب للاختبار والتجربة الشخصية ولا يُنصح بعد باستخدامها في بيئات الإنتاج.
ساحة التجربة
أنشئ فيديوهات AI مذهلة من نصوص وصور مرجعية اختيارية.
POST /api/v1/sora2/submit → /queryالوصول إلى API متاح للمشتركين فقط. يشترك الموقع وAPI في رصيد الاشتراك نفسه.
عرض الخططمعامل طلب مطلوب. التزم بالنوع والقيم المقبولة الموضحة في هذا الجدول.
معامل طلب اختياري. التزم بالنوع والقيمة الافتراضية والقيم المقبولة الموضحة في هذا الجدول.
معامل طلب اختياري. التزم بالنوع والقيمة الافتراضية والقيم المقبولة الموضحة في هذا الجدول.
معامل طلب اختياري. التزم بالنوع والقيمة الافتراضية والقيم المقبولة الموضحة في هذا الجدول.
#!/usr/bin/env bash
set -euo pipefail
SUBMIT_RESPONSE="$(curl --fail-with-body --silent --show-error -X POST "https://vidmage.ai/api/v1/sora2/submit" \
-H "Authorization: Bearer ${VIDMAGE_API_KEY}" \
-H "Content-Type: application/json" \
--data-raw '{
"prompt": "A tiny service robot delivers flowers through a lively open-air market, cinematic natural motion",
"size": "720*1280"
}')"
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/sora2/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