Source: https://ailoot.ai/docs/el/api/video-music/
Canonical: https://ailoot.ai/docs/el/api/video-music/
Language: el

[API](https://ailoot.ai/docs/el/) 

# Βίντεο και μουσική

[Markdown](https://ailoot.ai/docs/el/api/video-music/index.md)

Παραγωγή βίντεο και μουσικής: το αίτημα δημιουργεί μια εργασία και το αποτέλεσμα ανακτάται με το αναγνωριστικό της.

POST`https://api.ailoot.ai/v1/videos`

Βίντεο και μουσική

```bash
# Κρατήστε το 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.
```

```bash
curl https://api.ailoot.ai/v1/music/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "google/lyria", "prompt": "Ήρεμο πιάνο και βιολοντσέλο, χωρίς φωνητικά"}' 
```

Απάντηση · συνοπτικά

```json
// Το αναγνωριστικό της εργασίας βρίσκεται στο πεδίο id ή request_id
{ "id": "…", … }

// Η μορφή εξαρτάται από το μοντέλο: πάρτε το αναγνωριστικό
// από την απάντηση δημιουργίας όπως δίνεται.
```

## Έλεγχος ταυτότητας

| Παράμετρος | Τύπος | Απαιτείται | Περιγραφή |
| --- | --- | --- | --- |
| `Authorization` | header | υποχρεωτικό | Κλειδί στη μορφή `Bearer sk-…`. Μπορείτε επίσης να χρησιμοποιήσετε τις κεφαλίδες `x-api-key` ή `x-goog-api-key`. |

## Βίντεο: σώμα αιτήματος

| Παράμετρος | Τύπος | Απαιτείται | Περιγραφή |
| --- | --- | --- | --- |
| `model` | string | υποχρεωτικό | Μοντέλο βίντεο: `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`. |
| `prompt` | string | υποχρεωτικό | Περιγραφή βίντεο. |
| `duration / seconds` | integer / string | προαιρετικό | Εξαρτάται από την οικογένεια: Grok 1–15 δευτερόλεπτα, MiniMax 6/10 σε 768P ή 6 σε 1080P, HappyHorse 3–15· Google Omni 4/6/8/10. Μη μεταφέρετε πεδία από τη μία οικογένεια στην άλλη. |
| `resolution / size` | string | προαιρετικό | 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_urls` | string / array | προαιρετικό | Τα πεδία των αρχικών εικόνων εξαρτώνται από την οικογένεια και τη λειτουργία. Το MiniMax Fast απαιτεί first\_frame\_image. HappyHorse t2v — χωρίς images, i2v — ακριβώς μία εικόνα χωρίς ratio, r2v — 1–9 εικόνες. |

Η απάντηση περιέχει το αναγνωριστικό της εργασίας (πεδίο `id` ή `request_id`). Χρησιμοποιήστε το ως έχει, χωρίς ανάλυση: η μορφή εξαρτάται από το μοντέλο. Κατάσταση και ολοκληρωμένο αρχείο:

GET`https://api.ailoot.ai/v1/videos/{id}`

GET`https://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. Η διαγραφή του ολοκληρωμένου αρχείου αποκλείει την πρόσβαση σε αυτό, αλλά δεν ακυρώνει την παραγωγή.

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

## Μουσική

POST`https://api.ailoot.ai/v1/music/generations`

| Παράμετρος | Τύπος | Απαιτείται | Περιγραφή |
| --- | --- | --- | --- |
| `model` | string | υποχρεωτικό | `google/lyria`, `google/lyria-3-clip-preview`. |
| `prompt` | string | υποχρεωτικό | Περιγραφή κομματιού: είδος, όργανα, διάθεση. |

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

Μη στείλετε ξανά αίτημα βίντεο ή μουσικής αν διακοπεί η σύνδεση: η εργασία μπορεί να έχει ήδη ξεκινήσει. Ελέγξτε πρώτα την κατάσταση με το αναγνωριστικό ή επικοινωνήστε με την υποστήριξη αναφέροντας το Request ID.

Έχετε ερωτήσεις; Στείλτε μας το Request ID και μια περιγραφή — θα σας βοηθήσουμε να βρείτε την αιτία.[Επικοινωνία με την υποστήριξη](mailto:support@ailoot.ai)

## Ailoot · Η εταιρεία και το χαρτοφυλάκιο έργων της





Η Ailoot στηρίζεται στη συσσωρευμένη λειτουργική εμπειρία, τη μεγάλη πελατειακή βάση, τη σταθερή εξυπηρέτηση και τον συνεχή έλεγχο KPI.





Η εταιρεία και το χαρτοφυλάκιο έργων της: εκατομμύρια πελάτες· μηνιαίες πωλήσεις δισεκατομμυρίων.





Η Ailoot αξιοποιεί αυτή τη λειτουργική εμπειρία για πρόσβαση μέσω API σε λειτουργίες AI στα προϊόντα, τους πράκτορες, τις εφαρμογές και τους αυτοματισμούς των πελατών.
