תיעוד
API

וידאו ומוזיקה

Markdown

יצירת סרטונים ומוזיקה: הבקשה יוצרת משימה, והתוצאה מתקבלת לפי המזהה שלה.

המדריך המלא
POSThttps://api.ailoot.ai/v1/videos
וידאו ומוזיקה
# שמרו את Request ID: התמיכה משתמשת בו כדי לאתר את הבקשה שלכם.
# צרו את המשימה פעם אחת; הלולאה שלהלן רק קוראת את הסטטוס שלה.
curl --fail-with-body --max-time 120 -D video-create-headers-v1.txt \
  https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"grok-imagine-video-1.5","prompt":"אגם שקט","seconds":"8","size":"1280x720"}' \
  -o video-create-v1.json || exit 1
VIDEO_ID=$(jq -er '.id // .request_id' video-create-v1.json) || exit 1
VIDEO_STATUS=""
# הלולאה הזאת קוראת רק את המשימה המקורית. היא לעולם אינה שולחת שוב את בקשת היצירה.
for ATTEMPT in $(seq 1 60); do
  curl --fail-with-body --max-time 30 \
    "https://api.ailoot.ai/v1/videos/$VIDEO_ID" \
    -H "Authorization: Bearer $AILOOT_API_KEY" \
    -o video-status-v1.json || exit 1
  VIDEO_STATUS=$(jq -r '.status // empty' video-status-v1.json)
  # result_pending_check: true (הסטטוס נשאר in_progress): התוצאה נבדקת. עצרו; לעולם אל תיצרו את המשימה שוב.
  if jq -e '.result_pending_check == true' video-status-v1.json >/dev/null; then
    cat video-status-v1.json
    echo "The result is being checked. Do not create the job again: check GET /v1/videos/$VIDEO_ID later or contact support with the Request ID." >&2
    exit 1
  fi
  case "$VIDEO_STATUS" in
    done|completed) break ;;
    queued|in_progress|pending|processing) sleep 5 ;;
    # failed או כל סטטוס אחר: הציגו אותו ועצרו. לעולם אל תיצרו את המשימה שוב.
    *) cat video-status-v1.json; exit 1 ;;
  esac
done
case "$VIDEO_STATUS" in
  done|completed) ;;
  *) echo "The job is not finished yet (status: ${VIDEO_STATUS:-none}). Check it later: GET /v1/videos/$VIDEO_ID" >&2; exit 1 ;;
esac
curl --fail-with-body --max-time 120 -L --max-redirs 3 \
  "https://api.ailoot.ai/v1/videos/$VIDEO_ID/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video-v1.mp4
# לאחר חריגה מזמן ההמתנה ביצירה, בדקו את Request ID בהיסטוריית השימוש לפני הרצת הסקריפט הזה שוב.
תשובה · מקוצרת
// מזהה המשימה נמצא בשדה id או request_id
{ "id": "…", … }

// הפורמט תלוי במודל: קחו את המזהה
// מתשובת היצירה כפי שהוא.

אימות

  • Authorizationheaderחובה

    המפתח בפורמט Bearer sk-…. אפשר להשתמש גם בכותרות x-api-key או x-goog-api-key.

וידאו: גוף הבקשה

  • modelstringחובה

    מודל וידאו: google/omni-1.1-flash, grok-imagine-video, happyhorse-1.1-t2v, MiniMax-Hailuo-2.3, grok-imagine-video-1.5, happyhorse-1.1-r2v, grok-imagine-video-1.5-preview, happyhorse-1.1-i2v.

  • promptstringחובה

    תיאור הסרטון.

  • duration / secondsinteger / stringרשות

    תלוי במשפחת המודלים: Grok — 1–15 שניות, MiniMax — 6/10 ב-768P או 6 ב-1080P, HappyHorse — 3–15; Google Omni — 4/6/8/10. אין להעביר שדה ממשפחת מודלים אחת לאחרת.

  • resolution / sizestringרשות

    Grok: 480p/720p/1080p (1080p ב-video-1.5), או size 1280x720/720x1280/1920x1080/1080x1920. MiniMax: 768P/1080P. HappyHorse: 480P/720P/1080P. Google Omni: 360p/720p.

  • image / first_frame_image / image_urlsstring / arrayרשות

    שדות תמונות המקור תלויים במשפחת המודלים ובמצב. MiniMax Fast דורש first_frame_image. HappyHorse t2v — ללא images, i2v — בדיוק תמונה אחת ללא ratio, r2v — 1–9 תמונות.

התשובה מכילה מזהה משימה (השדה id או request_id). השתמשו בו כפי שהוא, בלי לנתח אותו: הפורמט תלוי במודל. הסטטוס והקובץ המוכן:

GEThttps://api.ailoot.ai/v1/videos/{id}
GEThttps://api.ailoot.ai/v1/videos/{id}/content

אותן כתובות פועלות גם עם הקידומת /v1/videos/generations/{id}. הסטטוס של משימה מוכנה ושדות התשובה תלויים במודל — התבססו על שדה הסטטוס והורידו את הקובץ דרך /content.

יצירה ← סטטוס ← הורדה

שמרו את תשובת היצירה ואת ה-Request ID שלה. ב-MiniMax/HappyHorse, מצב מוכן הוא status: completed, והתשובה מכילה content_url, data[] ו-usage. ב-Grok — status: done עם video.url. Google Omni מחזיר 202 queued, ואז in_progress עם Retry-After, ולאחר מכן completed או partial/content_revoked. אין לראות בכל 200 סרטון מוכן. אם תשובת הסטטוס מכילה result_pending_check: true (status הוא במקרה זה in_progress), התוצאה עדיין נבדקת. אל תיצרו את המשימה מחדש — בדקו אותה מאוחר יותר באמצעות GET /v1/videos/{id}, או פנו לתמיכה עם Request ID.

/content עשוי להחזיר MP4 ישירות או redirect לקובץ חתום. אם התשובה מכילה כמה תוצאות ב- data[], שמרו כל אחת מהן: כל התוצאות שנמסרו מחויבות. אי אפשר לבטל או למחוק משימת וידאו דרך ה-API. מחיקת הקובץ המוכן סוגרת את הגישה אליו, אך אינה מבטלת את היצירה.

החיוב הוא לפי שניות הווידאו המוכן ברזולוציה שנבחרה, או לפי סרטון, כפי שמצוין בקטלוג. מלוא העלות נשמרת כרזרבה בעת יצירת המשימה.

מוזיקה

POSThttps://api.ailoot.ai/v1/music/generations
  • modelstringחובה

    google/lyria, google/lyria-3-clip-preview.

  • promptstringחובה

    תיאור הקטע המוזיקלי: ז'אנר, כלי נגינה ואווירה.

בתשובה data[] — קישורים לקטעים מוכנים. המודל עשוי להחזיר כמה קטעים בבקשה אחת; כל קטע שנמסר מחויב.

נשארו שאלות? שלחו Request ID ותיאור — נעזור לברר.פנייה לתמיכה