لا تزال واجهات API للمطورين في المرحلة التجريبية وقد تتغير في أي وقت. في الوقت الحالي، هي أنسب للاختبار والتجربة الشخصية ولا يُنصح بعد باستخدامها في بيئات الإنتاج.
ساحة التجربة
حوّل صورك بالذكاء الاصطناعي باستخدام أوصاف نصية. ارفع صورة وصف التغييرات — يعيد الذكاء الاصطناعي تخيلها في ثوانٍ.
POST /api/v1/image-to-image/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/image-to-image/submit" \
-H "Authorization: Bearer ${VIDMAGE_API_KEY}" \
-H "Content-Type: application/json" \
--data-raw '{
"imageUrls": [
"https://vidmage.ai/assets/images/samples/blue-eyed-woman-sunlight.webp"
],
"prompt": "Transform the uploaded portrait into a refined watercolor illustration while preserving the face and pose",
"aspectRatio": "9:16",
"resolution": "2k",
"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/image-to-image/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