τεκμηρίωση
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 στο ιστορικό χρήσης σας πριν εκτελέσετε ξανά αυτό το script.
Απάντηση · συνοπτικά
// Το αναγνωριστικό της εργασίας βρίσκεται στο πεδίο 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 ή ανακατεύθυνση σε υπογεγραμμένο αρχείο. Αν η απάντηση περιέχει πολλά αποτελέσματα στο data[], αποθηκεύστε το καθένα: χρεώνονται όλα τα παραδοθέντα αποτελέσματα. Δεν μπορείτε να ακυρώσετε ή να διαγράψετε εργασία βίντεο μέσω API. Η διαγραφή του ολοκληρωμένου αρχείου αποκλείει την πρόσβαση σε αυτό, αλλά δεν ακυρώνει την παραγωγή.

Η χρέωση γίνεται ανά δευτερόλεπτο ολοκληρωμένου βίντεο στην επιλεγμένη ανάλυση ή ανά βίντεο, όπως ορίζεται στον κατάλογο. Το πλήρες κόστος δεσμεύεται κατά τη δημιουργία της εργασίας.

Μουσική

POSThttps://api.ailoot.ai/v1/music/generations
  • modelstringυποχρεωτικό

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

  • promptstringυποχρεωτικό

    Περιγραφή κομματιού: είδος, όργανα, διάθεση.

Στην απάντηση, το data[] — σύνδεσμοι προς ολοκληρωμένα κλιπ. Με ένα αίτημα, το μοντέλο μπορεί να επιστρέψει πολλά κλιπ· χρεώνεται κάθε παραδοθέν κλιπ.

Έχετε ερωτήσεις; Στείλτε μας το Request ID και μια περιγραφή — θα σας βοηθήσουμε να βρείτε την αιτία.Επικοινωνία με την υποστήριξη