{
  "aboutHtml": "<p>Το MiniMax Hailuo 2.3 είναι μοντέλο παραγωγής βίντεο με λειτουργίες μετατροπής κειμένου και εικόνας σε βίντεο. Εξελίσσει το Hailuo 02 με έμφαση στη σωματική δράση, το οπτικό ύφος, τις μικροεκφράσεις χαρακτήρων και την απόκριση σε οδηγίες κίνησης. Δώστε γραπτή σκηνή για να δημιουργήσετε πλάνο από την αρχή ή χρησιμοποιήστε αρχική εικόνα για να ορίσετε την πρώτη οπτική και να περιγράψετε την κίνηση που ακολουθεί.</p><p>Η σωματική ερμηνεία είναι ένας από τους κύριους τομείς βελτίωσης της έκδοσης. Το Hailuo 2.3 στοχεύει σε πιο ομαλές και ελεγχόμενες κινήσεις σώματος, συμπεριλαμβανομένων σκηνών με κινούμενη κάμερα. Σχεδιάστε τη σημαντική δράση πριν προσθέσετε διακοσμητική λεπτομέρεια. Ένας χαρακτήρας που σηκώνει αντικείμενο, στρέφεται προς άλλο άτομο ή κινείται μέσα σε δωμάτιο δίνει στο πλάνο ορατό συμβάν προς αξιολόγηση. Αποφασίστε ποια κίνηση μεταφέρει την ιστορία και κρατήστε τις γύρω οδηγίες συνεπείς με αυτή.</p><p>Η στιλιζαρισμένη απόδοση είναι άλλη μία εστίαση. Το μοντέλο υποστηρίζει εργασία σε anime και εικονογράφηση, καθώς και ύφη όπως ζωγραφική με μελάνι και γραφικά υπολογιστή παιχνιδιών. Περιγράψτε την οπτική απόδοση που θέλετε και κρατήστε την εμφάνιση συνεκτική με τη σκηνή. Αν μια αρχική εικόνα ορίζει ήδη σχεδιαστικό ύφος, χρησιμοποιήστε το κείμενο για να καθοδηγήσετε την κίνηση αντί να εισάγετε ανταγωνιστική περιγραφή του σχεδιασμού χαρακτήρα. Ελέγξτε ολόκληρο το απόσπασμα για το αν αυτή η απόδοση παραμένει ευανάγνωστη κατά την κίνηση.</p><p>Το μοντέλο εστιάζει επίσης στην ερμηνεία προσώπου και στις λεπτές αλλαγές έκφρασης. Προετοιμάστε πλάνο χαρακτήρα γύρω από την αντίδραση που έχει σημασία: να προσέχει ένα αντικείμενο, να αποκτά περιέργεια ή να απαντά με μικρό χαμόγελο. Μια κοντινή οπτική μπορεί να κάνει αυτή την αλλαγή ευκολότερη στην αξιολόγηση, ενώ μεγάλη ακολουθία χειρονομιών μπορεί να αποσπά από αυτή. Ελέγξτε το πρόσωπο πριν, κατά τη διάρκεια και μετά την αντίδραση αντί να κρίνετε μόνο ένα αντιπροσωπευτικό στατικό καρέ.</p><p>Η κίνηση αντικειμένων είναι χρήσιμη για σκηνές με επίκεντρο το προϊόν. Μια πρωτότυπη οδηγία θα μπορούσε να δείχνει μικρό κεραμικό βάζο που περιστρέφεται σε ζεστό πλάγιο φως ενώ η κάμερα το πλησιάζει σταδιακά. Προσδιορίστε ποιες ιδιότητες πρέπει να παραμένουν αναγνωρίσιμες, όπως σιλουέτα, χείλος και φινίρισμα επιφάνειας. Ελέγξτε αυτές τις λεπτομέρειες κατά την κίνηση, επειδή μια πειστική ατμόσφαιρα από μόνη της δεν τεκμηριώνει πιστή άποψη προϊόντος.</p><p>Για μετατροπή κειμένου σε βίντεο, η απαιτούμενη περιγραφή μπορεί να περιέχει έως 2.000 χαρακτήρες. Δηλώστε θέμα, δράση, σκηνικό και οπτικό ύφος με συνεκτική σειρά. Η μετατροπή εικόνας σε βίντεο απαιτεί εικόνα αρχικού καρέ, με προαιρετική περιγραφή έως 2.000 χαρακτήρων. Η εικόνα καθορίζει την αρχική σύνθεση, επομένως προετοιμάστε θέμα και κάδρο πριν ζητήσετε κίνηση. Αφήστε ορατό χώρο όπου πρέπει να κινηθεί χέρι, αντικείμενο ή χαρακτήρας.</p><p>Η αρχική εικόνα δέχεται JPG, JPEG, PNG ή WebP, πρέπει να είναι μικρότερη από 20 MB, χρειάζεται μικρή πλευρά μεγαλύτερη από 300 pixel και πρέπει να έχει αναλογία διαστάσεων μεταξύ 2:5 και 5:2. Μπορεί να παρέχεται ως δημόσιο URL εικόνας ή Base64 data URL. Επιλέξτε καθαρή αρχική εικόνα αντί να βασίζεστε στην κίνηση για διόρθωση κρυμμένου προσώπου ή ήδη περικομμένης δράσης.</p><p>Το Hailuo 2.3 παράγει στα 24 καρέ ανά δευτερόλεπτο. Ένα πλάνο έξι δευτερολέπτων μπορεί να χρησιμοποιεί 768P ή 1080P· ένα πλάνο δέκα δευτερολέπτων χρησιμοποιεί 768P. Οι προεπιλογές είναι έξι δευτερόλεπτα και 768P. Επιλέξτε διάρκεια για τη δράση που θέλετε να δείτε: μια σύντομη αντίδραση μπορεί να χωρά σε μικρό πλάνο, ενώ πιο αργή κίνηση χρειάζεται περισσότερο χώρο. Διαβάστε το πραγματικό πλάτος και ύψος του ολοκληρωμένου αποτελέσματος όταν τοποθετείτε το απόσπασμα σε μοντάζ, αφού μια ετικέτα ανάλυσης από μόνη της δεν είναι ολόκληρη η απόφαση κάδρου.</p><p>Η κατεύθυνση κάμερας μπορεί να χρησιμοποιεί εντολές σε αγκύλες. Τα διαθέσιμα χειριστήρια καλύπτουν πλάγια μετακίνηση, πανοραμική κίνηση, προσέγγιση, κατακόρυφη μετατόπιση, κλίση, ζουμ, κούνημα, παρακολούθηση και στατικό πλάνο. Μια εντολή όπως [Push in] κατευθύνει την προσέγγιση· εντολές ομαδοποιημένες μέσα στην ίδια αγκύλη ενεργούν μαζί, ενώ εντολές τοποθετημένες με σειρά περιγράφουν ακολουθία. Η MiniMax συνιστά έως τρεις ταυτόχρονες εντολές. Κρατήστε την κίνηση κάμερας συμβατή με τη δράση θέματος, ώστε το κύριο συμβάν να παραμένει εύκολο στην παρακολούθηση.</p><p>Η αυτόματη βελτιστοποίηση προτροπής είναι ενεργοποιημένη από προεπιλογή και μπορεί να απενεργοποιηθεί για στενότερο έλεγχο της παρεχόμενης διατύπωσης. Η προαιρετική γρήγορη προεπεξεργασία μειώνει τον χρόνο βελτιστοποίησης όταν αυτή είναι ενεργοποιημένη· είναι ξεχωριστή ρύθμιση από την επιλογή μοντέλου Hailuo 2.3 Fast. Το τυπικό Hailuo 2.3 υποστηρίζει και τους δύο τρόπους δημιουργίας, ενώ το Fast είναι η ξεχωριστή έκδοση εικόνας σε βίντεο. Επιλέξτε έκδοση ανάλογα με το αν το έργο ξεκινά μόνο με κείμενο ή με υπάρχον καρέ.</p><p>Η ροή παραγωγής επιστρέφει ασύγχρονο αναγνωριστικό εργασίας και έπειτα αναφέρει προετοιμασία, ουρά, επεξεργασία, επιτυχία ή αποτυχία. Σε επιτυχία, το αποτέλεσμα παρέχει αναγνωριστικό αρχείου και τις πραγματικές διαστάσεις βίντεο και το ολοκληρωμένο βίντεο ανακτάται για λήψη. Αποθηκεύστε το απόσπασμα όσο ισχύει η διεύθυνση λήψης του. Η τρέχουσα αναφορά λήψης βίντεο του κατασκευαστή δίνει στο επιστρεφόμενο URL λήψης διάρκεια ισχύος μίας ώρας. Για μονταρισμένη ακολουθία, διατηρήστε κάθε πλάνο μαζί με την προτροπή και την αρχική εικόνα του, ώστε η επιλεγμένη δημιουργική κατεύθυνση να παραμένει ανιχνεύσιμη κατά την αναθεώρηση.</p><p>Ελέγξτε δράση, φυσική συνέχεια, λεπτομέρειες προσώπου ή προϊόντος, οπτικό ύφος και συμπεριφορά κάμερας στο αποθηκευμένο απόσπασμα. Παρακολουθήστε ολόκληρο το πλάνο και έπειτα επιθεωρήστε την αρχή και το τέλος του, όπου θα ενωθεί με άλλο υλικό. Αν το αίτημα περιέχει υπερβολικά πολλές ανταγωνιστικές κινήσεις, απλοποιήστε την κύρια δράση· αν ο αρχικός σχεδιασμός είναι ασαφής, βελτιώστε την αρχική εικόνα. Επιλέξτε πλάνο που μεταδίδει το επιδιωκόμενο συμβάν και έπειτα προσθέστε αφήγηση, τίτλους και μεταβάσεις στη ροή μοντάζ.</p>",
  "aboutText": "Το MiniMax Hailuo 2.3 είναι μοντέλο παραγωγής βίντεο με λειτουργίες μετατροπής κειμένου και εικόνας σε βίντεο. Εξελίσσει το Hailuo 02 με έμφαση στη σωματική δράση, το οπτικό ύφος, τις μικροεκφράσεις χαρακτήρων και την απόκριση σε οδηγίες κίνησης. Δώστε γραπτή σκηνή για να δημιουργήσετε πλάνο από την αρχή ή χρησιμοποιήστε αρχική εικόνα για να ορίσετε την πρώτη οπτική και να περιγράψετε την κίνηση που ακολουθεί.\n\nΗ σωματική ερμηνεία είναι ένας από τους κύριους τομείς βελτίωσης της έκδοσης. Το Hailuo 2.3 στοχεύει σε πιο ομαλές και ελεγχόμενες κινήσεις σώματος, συμπεριλαμβανομένων σκηνών με κινούμενη κάμερα. Σχεδιάστε τη σημαντική δράση πριν προσθέσετε διακοσμητική λεπτομέρεια. Ένας χαρακτήρας που σηκώνει αντικείμενο, στρέφεται προς άλλο άτομο ή κινείται μέσα σε δωμάτιο δίνει στο πλάνο ορατό συμβάν προς αξιολόγηση. Αποφασίστε ποια κίνηση μεταφέρει την ιστορία και κρατήστε τις γύρω οδηγίες συνεπείς με αυτή.\n\nΗ στιλιζαρισμένη απόδοση είναι άλλη μία εστίαση. Το μοντέλο υποστηρίζει εργασία σε anime και εικονογράφηση, καθώς και ύφη όπως ζωγραφική με μελάνι και γραφικά υπολογιστή παιχνιδιών. Περιγράψτε την οπτική απόδοση που θέλετε και κρατήστε την εμφάνιση συνεκτική με τη σκηνή. Αν μια αρχική εικόνα ορίζει ήδη σχεδιαστικό ύφος, χρησιμοποιήστε το κείμενο για να καθοδηγήσετε την κίνηση αντί να εισάγετε ανταγωνιστική περιγραφή του σχεδιασμού χαρακτήρα. Ελέγξτε ολόκληρο το απόσπασμα για το αν αυτή η απόδοση παραμένει ευανάγνωστη κατά την κίνηση.\n\nΤο μοντέλο εστιάζει επίσης στην ερμηνεία προσώπου και στις λεπτές αλλαγές έκφρασης. Προετοιμάστε πλάνο χαρακτήρα γύρω από την αντίδραση που έχει σημασία: να προσέχει ένα αντικείμενο, να αποκτά περιέργεια ή να απαντά με μικρό χαμόγελο. Μια κοντινή οπτική μπορεί να κάνει αυτή την αλλαγή ευκολότερη στην αξιολόγηση, ενώ μεγάλη ακολουθία χειρονομιών μπορεί να αποσπά από αυτή. Ελέγξτε το πρόσωπο πριν, κατά τη διάρκεια και μετά την αντίδραση αντί να κρίνετε μόνο ένα αντιπροσωπευτικό στατικό καρέ.\n\nΗ κίνηση αντικειμένων είναι χρήσιμη για σκηνές με επίκεντρο το προϊόν. Μια πρωτότυπη οδηγία θα μπορούσε να δείχνει μικρό κεραμικό βάζο που περιστρέφεται σε ζεστό πλάγιο φως ενώ η κάμερα το πλησιάζει σταδιακά. Προσδιορίστε ποιες ιδιότητες πρέπει να παραμένουν αναγνωρίσιμες, όπως σιλουέτα, χείλος και φινίρισμα επιφάνειας. Ελέγξτε αυτές τις λεπτομέρειες κατά την κίνηση, επειδή μια πειστική ατμόσφαιρα από μόνη της δεν τεκμηριώνει πιστή άποψη προϊόντος.\n\nΓια μετατροπή κειμένου σε βίντεο, η απαιτούμενη περιγραφή μπορεί να περιέχει έως 2.000 χαρακτήρες. Δηλώστε θέμα, δράση, σκηνικό και οπτικό ύφος με συνεκτική σειρά. Η μετατροπή εικόνας σε βίντεο απαιτεί εικόνα αρχικού καρέ, με προαιρετική περιγραφή έως 2.000 χαρακτήρων. Η εικόνα καθορίζει την αρχική σύνθεση, επομένως προετοιμάστε θέμα και κάδρο πριν ζητήσετε κίνηση. Αφήστε ορατό χώρο όπου πρέπει να κινηθεί χέρι, αντικείμενο ή χαρακτήρας.\n\nΗ αρχική εικόνα δέχεται JPG, JPEG, PNG ή WebP, πρέπει να είναι μικρότερη από 20 MB, χρειάζεται μικρή πλευρά μεγαλύτερη από 300 pixel και πρέπει να έχει αναλογία διαστάσεων μεταξύ 2:5 και 5:2. Μπορεί να παρέχεται ως δημόσιο URL εικόνας ή Base64 data URL. Επιλέξτε καθαρή αρχική εικόνα αντί να βασίζεστε στην κίνηση για διόρθωση κρυμμένου προσώπου ή ήδη περικομμένης δράσης.\n\nΤο Hailuo 2.3 παράγει στα 24 καρέ ανά δευτερόλεπτο. Ένα πλάνο έξι δευτερολέπτων μπορεί να χρησιμοποιεί 768P ή 1080P· ένα πλάνο δέκα δευτερολέπτων χρησιμοποιεί 768P. Οι προεπιλογές είναι έξι δευτερόλεπτα και 768P. Επιλέξτε διάρκεια για τη δράση που θέλετε να δείτε: μια σύντομη αντίδραση μπορεί να χωρά σε μικρό πλάνο, ενώ πιο αργή κίνηση χρειάζεται περισσότερο χώρο. Διαβάστε το πραγματικό πλάτος και ύψος του ολοκληρωμένου αποτελέσματος όταν τοποθετείτε το απόσπασμα σε μοντάζ, αφού μια ετικέτα ανάλυσης από μόνη της δεν είναι ολόκληρη η απόφαση κάδρου.\n\nΗ κατεύθυνση κάμερας μπορεί να χρησιμοποιεί εντολές σε αγκύλες. Τα διαθέσιμα χειριστήρια καλύπτουν πλάγια μετακίνηση, πανοραμική κίνηση, προσέγγιση, κατακόρυφη μετατόπιση, κλίση, ζουμ, κούνημα, παρακολούθηση και στατικό πλάνο. Μια εντολή όπως [Push in] κατευθύνει την προσέγγιση· εντολές ομαδοποιημένες μέσα στην ίδια αγκύλη ενεργούν μαζί, ενώ εντολές τοποθετημένες με σειρά περιγράφουν ακολουθία. Η MiniMax συνιστά έως τρεις ταυτόχρονες εντολές. Κρατήστε την κίνηση κάμερας συμβατή με τη δράση θέματος, ώστε το κύριο συμβάν να παραμένει εύκολο στην παρακολούθηση.\n\nΗ αυτόματη βελτιστοποίηση προτροπής είναι ενεργοποιημένη από προεπιλογή και μπορεί να απενεργοποιηθεί για στενότερο έλεγχο της παρεχόμενης διατύπωσης. Η προαιρετική γρήγορη προεπεξεργασία μειώνει τον χρόνο βελτιστοποίησης όταν αυτή είναι ενεργοποιημένη· είναι ξεχωριστή ρύθμιση από την επιλογή μοντέλου Hailuo 2.3 Fast. Το τυπικό Hailuo 2.3 υποστηρίζει και τους δύο τρόπους δημιουργίας, ενώ το Fast είναι η ξεχωριστή έκδοση εικόνας σε βίντεο. Επιλέξτε έκδοση ανάλογα με το αν το έργο ξεκινά μόνο με κείμενο ή με υπάρχον καρέ.\n\nΗ ροή παραγωγής επιστρέφει ασύγχρονο αναγνωριστικό εργασίας και έπειτα αναφέρει προετοιμασία, ουρά, επεξεργασία, επιτυχία ή αποτυχία. Σε επιτυχία, το αποτέλεσμα παρέχει αναγνωριστικό αρχείου και τις πραγματικές διαστάσεις βίντεο και το ολοκληρωμένο βίντεο ανακτάται για λήψη. Αποθηκεύστε το απόσπασμα όσο ισχύει η διεύθυνση λήψης του. Η τρέχουσα αναφορά λήψης βίντεο του κατασκευαστή δίνει στο επιστρεφόμενο URL λήψης διάρκεια ισχύος μίας ώρας. Για μονταρισμένη ακολουθία, διατηρήστε κάθε πλάνο μαζί με την προτροπή και την αρχική εικόνα του, ώστε η επιλεγμένη δημιουργική κατεύθυνση να παραμένει ανιχνεύσιμη κατά την αναθεώρηση.\n\nΕλέγξτε δράση, φυσική συνέχεια, λεπτομέρειες προσώπου ή προϊόντος, οπτικό ύφος και συμπεριφορά κάμερας στο αποθηκευμένο απόσπασμα. Παρακολουθήστε ολόκληρο το πλάνο και έπειτα επιθεωρήστε την αρχή και το τέλος του, όπου θα ενωθεί με άλλο υλικό. Αν το αίτημα περιέχει υπερβολικά πολλές ανταγωνιστικές κινήσεις, απλοποιήστε την κύρια δράση· αν ο αρχικός σχεδιασμός είναι ασαφής, βελτιώστε την αρχική εικόνα. Επιλέξτε πλάνο που μεταδίδει το επιδιωκόμενο συμβάν και έπειτα προσθέστε αφήγηση, τίτλους και μεταβάσεις στη ροή μοντάζ.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "6e995c74a6b23f24cec09ecaab65305bcfe15dbd8ced4c737816d1df77ee1782",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "el",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">MM</span><h2 id=\"sheet-title\">MiniMax-Hailuo-2.3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>MiniMax-Hailuo-2.3</code><button type=\"button\" id=\"copy-id\">Αντιγραφή ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Ενότητες κάρτας μοντέλου\"><button type=\"button\" data-card-jump=\"overview\">Εισαγωγή</button><button type=\"button\" data-card-jump=\"methods\">Είσοδοι και μέθοδοι</button><button type=\"button\" data-card-jump=\"pricing\">Τιμολόγηση</button><button type=\"button\" data-card-jump=\"examples\">Παραδείγματα</button><button type=\"button\" data-card-jump=\"results\">Αποτελέσματα</button><button type=\"button\" data-card-jump=\"aliases\">Εναλλακτικά ονόματα</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Μέθοδοι API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Core|videos|/v1/videos/generations|MiniMax-Hailuo-2.3\">Βίντεο</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-1\" data-card-method=\"Ultra|videos|/v1/videos|MiniMax-Hailuo-2.3\">Βίντεο · Ultra</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Εισαγωγή</h3><p class=\"mdesc-full\">Το MiniMax Hailuo 2.3 δημιουργεί βίντεο από κείμενο ή αρχική εικόνα, με χειριστήρια κίνησης και κατεύθυνσης κάμερας. Επιλέξτε έξι δευτερόλεπτα σε 768P ή 1080P ή δέκα δευτερόλεπτα σε 768P για ερμηνείες χαρακτήρων, στιλιζαρισμένες σκηνές και πλάνα προϊόντων που μπορούν να ελεγχθούν και να μονταριστούν.</p><dl class=\"card-io\" data-card-io><div><dt>Αποδεκτές είσοδοι</dt><dd>Κείμενο · Εικόνες</dd></div><div><dt>Αποτελέσματα</dt><dd>Βίντεο</dd></div></dl><details class=\"card-about\"><summary>Σχετικά με το μοντέλο</summary><p class=\"note-s\" data-model-method-boundary>Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.</p><div class=\"mabout\" id=\"m-about\"><p>Το MiniMax Hailuo 2.3 είναι μοντέλο παραγωγής βίντεο με λειτουργίες μετατροπής κειμένου και εικόνας σε βίντεο. Εξελίσσει το Hailuo 02 με έμφαση στη σωματική δράση, το οπτικό ύφος, τις μικροεκφράσεις χαρακτήρων και την απόκριση σε οδηγίες κίνησης. Δώστε γραπτή σκηνή για να δημιουργήσετε πλάνο από την αρχή ή χρησιμοποιήστε αρχική εικόνα για να ορίσετε την πρώτη οπτική και να περιγράψετε την κίνηση που ακολουθεί.</p><p>Η σωματική ερμηνεία είναι ένας από τους κύριους τομείς βελτίωσης της έκδοσης. Το Hailuo 2.3 στοχεύει σε πιο ομαλές και ελεγχόμενες κινήσεις σώματος, συμπεριλαμβανομένων σκηνών με κινούμενη κάμερα. Σχεδιάστε τη σημαντική δράση πριν προσθέσετε διακοσμητική λεπτομέρεια. Ένας χαρακτήρας που σηκώνει αντικείμενο, στρέφεται προς άλλο άτομο ή κινείται μέσα σε δωμάτιο δίνει στο πλάνο ορατό συμβάν προς αξιολόγηση. Αποφασίστε ποια κίνηση μεταφέρει την ιστορία και κρατήστε τις γύρω οδηγίες συνεπείς με αυτή.</p><p>Η στιλιζαρισμένη απόδοση είναι άλλη μία εστίαση. Το μοντέλο υποστηρίζει εργασία σε anime και εικονογράφηση, καθώς και ύφη όπως ζωγραφική με μελάνι και γραφικά υπολογιστή παιχνιδιών. Περιγράψτε την οπτική απόδοση που θέλετε και κρατήστε την εμφάνιση συνεκτική με τη σκηνή. Αν μια αρχική εικόνα ορίζει ήδη σχεδιαστικό ύφος, χρησιμοποιήστε το κείμενο για να καθοδηγήσετε την κίνηση αντί να εισάγετε ανταγωνιστική περιγραφή του σχεδιασμού χαρακτήρα. Ελέγξτε ολόκληρο το απόσπασμα για το αν αυτή η απόδοση παραμένει ευανάγνωστη κατά την κίνηση.</p><p>Το μοντέλο εστιάζει επίσης στην ερμηνεία προσώπου και στις λεπτές αλλαγές έκφρασης. Προετοιμάστε πλάνο χαρακτήρα γύρω από την αντίδραση που έχει σημασία: να προσέχει ένα αντικείμενο, να αποκτά περιέργεια ή να απαντά με μικρό χαμόγελο. Μια κοντινή οπτική μπορεί να κάνει αυτή την αλλαγή ευκολότερη στην αξιολόγηση, ενώ μεγάλη ακολουθία χειρονομιών μπορεί να αποσπά από αυτή. Ελέγξτε το πρόσωπο πριν, κατά τη διάρκεια και μετά την αντίδραση αντί να κρίνετε μόνο ένα αντιπροσωπευτικό στατικό καρέ.</p><p>Η κίνηση αντικειμένων είναι χρήσιμη για σκηνές με επίκεντρο το προϊόν. Μια πρωτότυπη οδηγία θα μπορούσε να δείχνει μικρό κεραμικό βάζο που περιστρέφεται σε ζεστό πλάγιο φως ενώ η κάμερα το πλησιάζει σταδιακά. Προσδιορίστε ποιες ιδιότητες πρέπει να παραμένουν αναγνωρίσιμες, όπως σιλουέτα, χείλος και φινίρισμα επιφάνειας. Ελέγξτε αυτές τις λεπτομέρειες κατά την κίνηση, επειδή μια πειστική ατμόσφαιρα από μόνη της δεν τεκμηριώνει πιστή άποψη προϊόντος.</p><p>Για μετατροπή κειμένου σε βίντεο, η απαιτούμενη περιγραφή μπορεί να περιέχει έως 2.000 χαρακτήρες. Δηλώστε θέμα, δράση, σκηνικό και οπτικό ύφος με συνεκτική σειρά. Η μετατροπή εικόνας σε βίντεο απαιτεί εικόνα αρχικού καρέ, με προαιρετική περιγραφή έως 2.000 χαρακτήρων. Η εικόνα καθορίζει την αρχική σύνθεση, επομένως προετοιμάστε θέμα και κάδρο πριν ζητήσετε κίνηση. Αφήστε ορατό χώρο όπου πρέπει να κινηθεί χέρι, αντικείμενο ή χαρακτήρας.</p><p>Η αρχική εικόνα δέχεται JPG, JPEG, PNG ή WebP, πρέπει να είναι μικρότερη από 20 MB, χρειάζεται μικρή πλευρά μεγαλύτερη από 300 pixel και πρέπει να έχει αναλογία διαστάσεων μεταξύ 2:5 και 5:2. Μπορεί να παρέχεται ως δημόσιο URL εικόνας ή Base64 data URL. Επιλέξτε καθαρή αρχική εικόνα αντί να βασίζεστε στην κίνηση για διόρθωση κρυμμένου προσώπου ή ήδη περικομμένης δράσης.</p><p>Το Hailuo 2.3 παράγει στα 24 καρέ ανά δευτερόλεπτο. Ένα πλάνο έξι δευτερολέπτων μπορεί να χρησιμοποιεί 768P ή 1080P· ένα πλάνο δέκα δευτερολέπτων χρησιμοποιεί 768P. Οι προεπιλογές είναι έξι δευτερόλεπτα και 768P. Επιλέξτε διάρκεια για τη δράση που θέλετε να δείτε: μια σύντομη αντίδραση μπορεί να χωρά σε μικρό πλάνο, ενώ πιο αργή κίνηση χρειάζεται περισσότερο χώρο. Διαβάστε το πραγματικό πλάτος και ύψος του ολοκληρωμένου αποτελέσματος όταν τοποθετείτε το απόσπασμα σε μοντάζ, αφού μια ετικέτα ανάλυσης από μόνη της δεν είναι ολόκληρη η απόφαση κάδρου.</p><p>Η κατεύθυνση κάμερας μπορεί να χρησιμοποιεί εντολές σε αγκύλες. Τα διαθέσιμα χειριστήρια καλύπτουν πλάγια μετακίνηση, πανοραμική κίνηση, προσέγγιση, κατακόρυφη μετατόπιση, κλίση, ζουμ, κούνημα, παρακολούθηση και στατικό πλάνο. Μια εντολή όπως [Push in] κατευθύνει την προσέγγιση· εντολές ομαδοποιημένες μέσα στην ίδια αγκύλη ενεργούν μαζί, ενώ εντολές τοποθετημένες με σειρά περιγράφουν ακολουθία. Η MiniMax συνιστά έως τρεις ταυτόχρονες εντολές. Κρατήστε την κίνηση κάμερας συμβατή με τη δράση θέματος, ώστε το κύριο συμβάν να παραμένει εύκολο στην παρακολούθηση.</p><p>Η αυτόματη βελτιστοποίηση προτροπής είναι ενεργοποιημένη από προεπιλογή και μπορεί να απενεργοποιηθεί για στενότερο έλεγχο της παρεχόμενης διατύπωσης. Η προαιρετική γρήγορη προεπεξεργασία μειώνει τον χρόνο βελτιστοποίησης όταν αυτή είναι ενεργοποιημένη· είναι ξεχωριστή ρύθμιση από την επιλογή μοντέλου Hailuo 2.3 Fast. Το τυπικό Hailuo 2.3 υποστηρίζει και τους δύο τρόπους δημιουργίας, ενώ το Fast είναι η ξεχωριστή έκδοση εικόνας σε βίντεο. Επιλέξτε έκδοση ανάλογα με το αν το έργο ξεκινά μόνο με κείμενο ή με υπάρχον καρέ.</p><p>Η ροή παραγωγής επιστρέφει ασύγχρονο αναγνωριστικό εργασίας και έπειτα αναφέρει προετοιμασία, ουρά, επεξεργασία, επιτυχία ή αποτυχία. Σε επιτυχία, το αποτέλεσμα παρέχει αναγνωριστικό αρχείου και τις πραγματικές διαστάσεις βίντεο και το ολοκληρωμένο βίντεο ανακτάται για λήψη. Αποθηκεύστε το απόσπασμα όσο ισχύει η διεύθυνση λήψης του. Η τρέχουσα αναφορά λήψης βίντεο του κατασκευαστή δίνει στο επιστρεφόμενο URL λήψης διάρκεια ισχύος μίας ώρας. Για μονταρισμένη ακολουθία, διατηρήστε κάθε πλάνο μαζί με την προτροπή και την αρχική εικόνα του, ώστε η επιλεγμένη δημιουργική κατεύθυνση να παραμένει ανιχνεύσιμη κατά την αναθεώρηση.</p><p>Ελέγξτε δράση, φυσική συνέχεια, λεπτομέρειες προσώπου ή προϊόντος, οπτικό ύφος και συμπεριφορά κάμερας στο αποθηκευμένο απόσπασμα. Παρακολουθήστε ολόκληρο το πλάνο και έπειτα επιθεωρήστε την αρχή και το τέλος του, όπου θα ενωθεί με άλλο υλικό. Αν το αίτημα περιέχει υπερβολικά πολλές ανταγωνιστικές κινήσεις, απλοποιήστε την κύρια δράση· αν ο αρχικός σχεδιασμός είναι ασαφής, βελτιώστε την αρχική εικόνα. Επιλέξτε πλάνο που μεταδίδει το επιδιωκόμενο συμβάν και έπειτα προσθέστε αφήγηση, τίτλους και μεταβάσεις στη ροή μοντάζ.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι</h3><details class=\"card-method\" open><summary><b>Ailoot · Βίντεο</b> <code>POST /v1/videos/generations</code></summary><dl class=\"method-capabilities\"><div><dt>Είσοδος</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Έξοδος</dt><dd><code>video</code></dd></div><div><dt>Μορφή εξόδου</dt><dd>mp4</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Πεδίο</th><th>Τύπος</th><th>Απαίτηση</th><th>Τιμές και όρια</th><th>Προεπιλογή</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>MiniMax-Hailuo-2.3</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Ελάχιστο μήκος: 1</div><div>Μέγιστο μήκος: 2.000</div><div>Μονάδα: χαρακτήρες Unicode</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">duration</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>integer</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>6, 10</div><div>Συνθήκες: Τα 10 δευτερόλεπτα απαιτούν 768P</div><div>Μονάδα: δευτερόλεπτα</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"known\"><span class=\"card-cell-label\">Προεπιλογή</span>6</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>768P, 1080P</div><div>Συνθήκες: Το 1080P απαιτεί 6 δευτερόλεπτα</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"known\"><span class=\"card-cell-label\">Προεπιλογή</span>768P</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">first_frame_image</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>https_url|data_image_url</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Μέγιστο πλήθος αποκωδικοποιημένων byte: 20.971.520</div><div>Τύποι MIME: image/jpeg, image/png, image/webp</div><div>Ελάχιστη διάσταση (αποκλειστική): 300</div><div>Εύρος αναλογιών διαστάσεων: 2:5, 5:2</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">prompt_optimizer</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>boolean</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">fast_pretreatment</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>boolean</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Συνδυασμοί υλικών εισόδου</summary><p class=\"note-s\"><b>Εικόνα σε βίντεο</b> · Υποχρεωτικό: prompt, first_frame_image</p><p class=\"note-s\"><b>Κείμενο σε βίντεο</b> · Υποχρεωτικό: prompt</p></details><details class=\"note-s\" data-method-contract><summary>Παράμετροι και κύκλος ζωής μεθόδου</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Παράμετρος</th><th>Σύμβαση</th></tr></thead><tbody><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>material_types</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>text, image</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>required</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>null</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>optional_controls</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>null</td></tr></tbody></table></div><p>Κύκλος ζωής: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}/content</code></p><p class=\"note-s\">Οι δομές και τα ID των μεθόδων είναι ακριβή· η δυνατότητα του προμηθευτή είναι ξεχωριστή από την αποδοχή αιτημάτων.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Τιμολόγηση</h3><h4>Χρεώσεις μεθόδων Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Βίντεο</b><code>POST /v1/videos/generations</code></header><dl><div><dt>Έξοδος</dt><dd>0,28 $ <em>ανά βίντεο 6 s στα 768p</em></dd></div></dl></section><p class=\"note-s\">Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. <a href=\"/docs/el/billing/reserve/\">Πώς λειτουργούν η δέσμευση και η εκκαθάριση →</a></p><div data-declared-reference-pricing><h4>Στοιχεία τιμοκαταλόγου αναφοράς</h4><p class=\"note-s\">Οι πίνακες αναφοράς του μοντέλου δεν αλλάζουν την επιλογή μεθόδου, τις εκτιμήσεις τιμής ή τις χρεώσεις. Οι εφαρμοζόμενες χρεώσεις χρησιμοποιούν τις τιμές της επιλεγμένης μεθόδου Ailoot.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>Τιμές ανά διαμόρφωση</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Συνθήκες χρέωσης</th><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>MiniMax-Hailuo-2.3 · Προεπιλεγμένη διαμόρφωση</th><td data-cell-label=\"Συνθήκες χρέωσης\"><span class=\"card-cell-label\">Συνθήκες χρέωσης</span>Προεπιλεγμένη διαμόρφωση</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Είσοδος</span> <b>0,00 $</b> <span class=\"price-unit\">ανά κλήση</span></div><div><span>Έξοδος · Έξοδος</span> <b>0,60 $</b> <span class=\"price-unit\">ανά κλήση</span></div></td></tr></tbody></table></div></details><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>Τιμές ανά διαμόρφωση</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Συνθήκες χρέωσης</th><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>MiniMax-Hailuo-2.3 · Προεπιλεγμένη διαμόρφωση</th><td data-cell-label=\"Συνθήκες χρέωσης\"><span class=\"card-cell-label\">Συνθήκες χρέωσης</span>Προεπιλεγμένη διαμόρφωση</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Είσοδος</span> <b>0,00 $</b> <span class=\"price-unit\">ανά κλήση</span></div><div><span>Έξοδος · Έξοδος</span> <b>1,20 $</b> <span class=\"price-unit\">ανά κλήση</span></div></td></tr></tbody></table></div></details><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>Τιμές ανά διαμόρφωση</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Συνθήκες χρέωσης</th><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>MiniMax-Hailuo-2.3 · Προεπιλεγμένη διαμόρφωση</th><td data-cell-label=\"Συνθήκες χρέωσης\"><span class=\"card-cell-label\">Συνθήκες χρέωσης</span>Προεπιλεγμένη διαμόρφωση</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Είσοδος</span> <b>0,00 $</b> <span class=\"price-unit\">ανά κλήση</span></div><div><span>Έξοδος · Έξοδος</span> <b>1,20 $</b> <span class=\"price-unit\">ανά κλήση</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Παραδείγματα αιτημάτων</h3><h4>Ailoot · Βίντεο</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-374-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-374-panel-0\" aria-selected=\"true\" tabindex=\"0\">Παράδειγμα βίντεο</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-374-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-374-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl https://api.ailoot.ai/v1/videos/generations \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; \\\n  -H &quot;Content-Type: application/json&quot; \\\n  -d &#39;{&quot;model&quot;: &quot;MiniMax-Hailuo-2.3&quot;, &quot;prompt&quot;: &quot;A person walks slowly through a quiet garden as the camera tracks from the side.&quot;, &quot;duration&quot;: 6, &quot;resolution&quot;: &quot;768P&quot;}&#39;</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Λήψη και αποθήκευση αποτελεσμάτων</h3><h4>Ailoot · Βίντεο</h4><p class=\"note-s\">mp4</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/generations/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li><li><code>GET /v1/videos/generations/{request_id}/content</code></li></ul><h5>Έλεγχος κατάστασης εργασίας</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-375-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-375-panel-0\" aria-selected=\"true\" tabindex=\"0\">Λήψη κατάστασης με GET</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-375-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-375-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c &#39;import os, urllib.parse; print(urllib.parse.quote(os.environ[&quot;AILOOT_VIDEO_ID&quot;], safe=&quot;&quot;))&#39;) || exit 1\ncurl &quot;https://api.ailoot.ai/v1/videos/generations/$video_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot;</code></pre></div></div></div><details class=\"card-about\"><summary>Άλλες ανακτήσεις περιεχομένου</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-376-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-376-panel-0\" aria-selected=\"true\" tabindex=\"0\">Λήψη περιεχομένου με GET</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-376-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-376-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c &#39;import os, urllib.parse; print(urllib.parse.quote(os.environ[&quot;AILOOT_VIDEO_ID&quot;], safe=&quot;&quot;))&#39;) || exit 1\ncurl &quot;https://api.ailoot.ai/v1/videos/generations/$video_id/content&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; \\\n  --output video.mp4</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα</h5><p class=\"note-s\">Αποθηκεύστε κάθε ολοκληρωμένο βίντεο ή αρχείο που επιστρέφεται· ανακτήστε κάθε πραγματικό URL αρχείου που επιστρέφεται.</p><p class=\"note-s\">Διατηρήστε κάθε στοιχείο δεδομένων και δείκτη εξόδου που επιστρέφεται. Το content_url αφορά μόνο το πρώτο· ανακτήστε κάθε πραγματική διαδρομή περιεχομένου ή αρχείο πολυμέσων. Το GET περιεχομένου χωρίς index δεν αντιστοιχεί σε όλες τις εξόδους.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Αν χρειάζεται έλεγχος της αρχικής απάντησης</h5><p class=\"note-s\">Διαβάστε την υπάρχουσα αρχική εργασία· μην επανυποβάλετε ποτέ αποστολή με άγνωστο αποτέλεσμα.</p></div><details class=\"card-about\" data-output-fields><summary>Πεδία απάντησης</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Πεδίο</th><th>Τύπος</th></tr></thead><tbody><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">content_url</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>signed URL</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>signed URL</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>object</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">result_pending_check</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>boolean</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Σφάλματα και επόμενα βήματα</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Απάντηση</th><th>Συνθήκη</th><th>Επόμενο βήμα</th></tr></thead><tbody><tr><th data-cell-label=\"Απάντηση\" scope=\"row\"><span class=\"card-cell-label\">Απάντηση</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Συνθήκη\"><span class=\"card-cell-label\">Συνθήκη</span>Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου</td><td data-cell-label=\"Επόμενο βήμα\"><span class=\"card-cell-label\">Επόμενο βήμα</span>Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.</td></tr><tr><th data-cell-label=\"Απάντηση\" scope=\"row\"><span class=\"card-cell-label\">Απάντηση</span>409 · <code>video_not_ready</code></th><td data-cell-label=\"Συνθήκη\"><span class=\"card-cell-label\">Συνθήκη</span>Το περιεχόμενο του αρχικού αποτελέσματος δεν είναι ακόμη διαθέσιμο</td><td data-cell-label=\"Επόμενο βήμα\"><span class=\"card-cell-label\">Επόμενο βήμα</span>Ελέγχετε περιοδικά το αρχικό ID που επιστρέφεται και τηρείτε το Retry-After.</td></tr><tr><th data-cell-label=\"Απάντηση\" scope=\"row\"><span class=\"card-cell-label\">Απάντηση</span><code>server_error</code></th><td data-cell-label=\"Συνθήκη\"><span class=\"card-cell-label\">Συνθήκη</span>Η απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο</td><td data-cell-label=\"Επόμενο βήμα\"><span class=\"card-cell-label\">Επόμενο βήμα</span>Διατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Εναλλακτικά ονόματα</h3><h4>Εναλλακτικά ονόματα μοντέλου</h4><p class=\"note-s\"><span data-model-alias-route=\"Core\"><b>Ailoot</b> <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Core&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></span><br><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\"><code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Core&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a>, <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "MiniMax-Hailuo-2.3",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos/generations",
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Core"
      },
      "method_key": "Core|videos|/v1/videos/generations|MiniMax-Hailuo-2.3",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Preserve every returned data item/output index. content_url is first only; fetch every actual content path/asset. GETcontentwithoutindex isnotalloutputs.",
            "errors": [
              {
                "code": null,
                "condition": "Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου",
                "http_status": 400,
                "recovery": "Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Το περιεχόμενο του αρχικού αποτελέσματος δεν είναι ακόμη διαθέσιμο",
                "http_status": 409,
                "recovery": "Ελέγχετε περιοδικά το αρχικό ID που επιστρέφεται και τηρείτε το Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "Η απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο",
                "http_status": null,
                "recovery": "Διατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos/generations"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "operation_id_is_not_task_id": true,
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "Διαβάστε την υπάρχουσα αρχική εργασία· μην επανυποβάλετε ποτέ αποστολή με άγνωστο αποτέλεσμα.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "mode": "image_to_video",
                "required": [
                  "prompt",
                  "first_frame_image"
                ]
              },
              {
                "available": true,
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "videos"
            ],
            "outputs": {
              "all_results": "Διατηρήστε κάθε στοιχείο δεδομένων και δείκτη εξόδου που επιστρέφεται. Το content_url αφορά μόνο το πρώτο· ανακτήστε κάθε πραγματική διαδρομή περιεχομένου ή αρχείο πολυμέσων. Το GET περιεχομένου χωρίς index δεν αντιστοιχεί σε όλες τις εξόδους.",
              "content_selection": "Oneownedvideo; use actualreturnedcontent_url/data[] ororiginalcontentread. No indexedselection field is promised by thisCorehandler.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "content_url",
                  "type": "signed URL"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed URL"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "result_pending_check",
                  "type": "boolean"
                }
              ],
              "format": "mp4"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length": 2000,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "χαρακτήρες Unicode"
              },
              {
                "availability": "source_interface",
                "conditions": "Τα 10 δευτερόλεπτα απαιτούν 768P",
                "default": 6,
                "default_known": true,
                "enum": [
                  6,
                  10
                ],
                "enum_known": true,
                "name": "duration",
                "required": false,
                "type": "integer",
                "unit": "δευτερόλεπτα"
              },
              {
                "availability": "source_interface",
                "conditions": "Το 1080P απαιτεί 6 δευτερόλεπτα",
                "default": "768P",
                "default_known": true,
                "enum": [
                  "768P",
                  "1080P"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "aspect_ratio_range": [
                  "2:5",
                  "5:2"
                ],
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_decoded_bytes": 20971520,
                "mime_types": [
                  "image/jpeg",
                  "image/png",
                  "image/webp"
                ],
                "minimum_dimension_exclusive": 300,
                "name": "first_frame_image",
                "required": false,
                "type": "https_url|data_image_url"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_optimizer",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "fast_pretreatment",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Οι δομές και τα ID των μεθόδων είναι ακριβή· η δυνατότητα του προμηθευτή είναι ξεχωριστή από την αποδοχή αιτημάτων."
          ],
          "input": {
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": null,
            "required": null
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "only actual ID/path from creation/status",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos/generations"
          },
          "operation_modes": [
            "videos"
          ],
          "output": {
            "family": [
              "video"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl https://api.ailoot.ai/v1/videos/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A person walks slowly through a quiet garden as the camera tracks from the side.\", \"duration\": 6, \"resolution\": \"768P\"}'",
            "label": "Create video · retained exact shape",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\"",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  --output video.mp4",
            "label": "GET content",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Βίντεο",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos/generations",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.28,
                "amount_unit": "usd_per_display_unit",
                "key": "video_output_768p_6s_clip",
                "label": "per 6 s video at 768p",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Core",
        "status_reads": [
          "GET /v1/videos/generations/{id}",
          "GET /v1/videos/generations/{id}/content"
        ],
        "tiers": [],
        "tool_prices": null,
        "unit": "video_output_768p_6s_clip",
        "units": [
          {
            "key": "video_output_768p_6s_clip",
            "label": "per 6 s video at 768p",
            "side": "out",
            "usd": 0.28
          }
        ]
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">MM</span><h2 id=\"sheet-title\">MiniMax-Hailuo-2.3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>MiniMax-Hailuo-2.3</code><button type=\"button\" id=\"copy-id\">Αντιγραφή ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Ενότητες κάρτας μοντέλου\"><button type=\"button\" data-card-jump=\"overview\">Εισαγωγή</button><button type=\"button\" data-card-jump=\"methods\">Είσοδοι και μέθοδοι</button><button type=\"button\" data-card-jump=\"pricing\">Τιμολόγηση</button><button type=\"button\" data-card-jump=\"examples\">Παραδείγματα</button><button type=\"button\" data-card-jump=\"results\">Αποτελέσματα</button><button type=\"button\" data-card-jump=\"aliases\">Εναλλακτικά ονόματα</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Μέθοδοι API\"><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-0\" data-card-method=\"Core|videos|/v1/videos/generations|MiniMax-Hailuo-2.3\">Βίντεο</button><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-1\" data-card-method=\"Ultra|videos|/v1/videos|MiniMax-Hailuo-2.3\">Βίντεο · Ultra</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-1\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Εισαγωγή</h3><p class=\"mdesc-full\">Το MiniMax Hailuo 2.3 δημιουργεί βίντεο από κείμενο ή αρχική εικόνα, με χειριστήρια κίνησης και κατεύθυνσης κάμερας. Επιλέξτε έξι δευτερόλεπτα σε 768P ή 1080P ή δέκα δευτερόλεπτα σε 768P για ερμηνείες χαρακτήρων, στιλιζαρισμένες σκηνές και πλάνα προϊόντων που μπορούν να ελεγχθούν και να μονταριστούν.</p><dl class=\"card-io\" data-card-io><div><dt>Αποδεκτές είσοδοι</dt><dd>Κείμενο</dd></div><div><dt>Αποτελέσματα</dt><dd>Βίντεο</dd></div></dl><details class=\"card-about\"><summary>Σχετικά με το μοντέλο</summary><p class=\"note-s\" data-model-method-boundary>Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.</p><div class=\"mabout\" id=\"m-about\"><p>Το MiniMax Hailuo 2.3 είναι μοντέλο παραγωγής βίντεο με λειτουργίες μετατροπής κειμένου και εικόνας σε βίντεο. Εξελίσσει το Hailuo 02 με έμφαση στη σωματική δράση, το οπτικό ύφος, τις μικροεκφράσεις χαρακτήρων και την απόκριση σε οδηγίες κίνησης. Δώστε γραπτή σκηνή για να δημιουργήσετε πλάνο από την αρχή ή χρησιμοποιήστε αρχική εικόνα για να ορίσετε την πρώτη οπτική και να περιγράψετε την κίνηση που ακολουθεί.</p><p>Η σωματική ερμηνεία είναι ένας από τους κύριους τομείς βελτίωσης της έκδοσης. Το Hailuo 2.3 στοχεύει σε πιο ομαλές και ελεγχόμενες κινήσεις σώματος, συμπεριλαμβανομένων σκηνών με κινούμενη κάμερα. Σχεδιάστε τη σημαντική δράση πριν προσθέσετε διακοσμητική λεπτομέρεια. Ένας χαρακτήρας που σηκώνει αντικείμενο, στρέφεται προς άλλο άτομο ή κινείται μέσα σε δωμάτιο δίνει στο πλάνο ορατό συμβάν προς αξιολόγηση. Αποφασίστε ποια κίνηση μεταφέρει την ιστορία και κρατήστε τις γύρω οδηγίες συνεπείς με αυτή.</p><p>Η στιλιζαρισμένη απόδοση είναι άλλη μία εστίαση. Το μοντέλο υποστηρίζει εργασία σε anime και εικονογράφηση, καθώς και ύφη όπως ζωγραφική με μελάνι και γραφικά υπολογιστή παιχνιδιών. Περιγράψτε την οπτική απόδοση που θέλετε και κρατήστε την εμφάνιση συνεκτική με τη σκηνή. Αν μια αρχική εικόνα ορίζει ήδη σχεδιαστικό ύφος, χρησιμοποιήστε το κείμενο για να καθοδηγήσετε την κίνηση αντί να εισάγετε ανταγωνιστική περιγραφή του σχεδιασμού χαρακτήρα. Ελέγξτε ολόκληρο το απόσπασμα για το αν αυτή η απόδοση παραμένει ευανάγνωστη κατά την κίνηση.</p><p>Το μοντέλο εστιάζει επίσης στην ερμηνεία προσώπου και στις λεπτές αλλαγές έκφρασης. Προετοιμάστε πλάνο χαρακτήρα γύρω από την αντίδραση που έχει σημασία: να προσέχει ένα αντικείμενο, να αποκτά περιέργεια ή να απαντά με μικρό χαμόγελο. Μια κοντινή οπτική μπορεί να κάνει αυτή την αλλαγή ευκολότερη στην αξιολόγηση, ενώ μεγάλη ακολουθία χειρονομιών μπορεί να αποσπά από αυτή. Ελέγξτε το πρόσωπο πριν, κατά τη διάρκεια και μετά την αντίδραση αντί να κρίνετε μόνο ένα αντιπροσωπευτικό στατικό καρέ.</p><p>Η κίνηση αντικειμένων είναι χρήσιμη για σκηνές με επίκεντρο το προϊόν. Μια πρωτότυπη οδηγία θα μπορούσε να δείχνει μικρό κεραμικό βάζο που περιστρέφεται σε ζεστό πλάγιο φως ενώ η κάμερα το πλησιάζει σταδιακά. Προσδιορίστε ποιες ιδιότητες πρέπει να παραμένουν αναγνωρίσιμες, όπως σιλουέτα, χείλος και φινίρισμα επιφάνειας. Ελέγξτε αυτές τις λεπτομέρειες κατά την κίνηση, επειδή μια πειστική ατμόσφαιρα από μόνη της δεν τεκμηριώνει πιστή άποψη προϊόντος.</p><p>Για μετατροπή κειμένου σε βίντεο, η απαιτούμενη περιγραφή μπορεί να περιέχει έως 2.000 χαρακτήρες. Δηλώστε θέμα, δράση, σκηνικό και οπτικό ύφος με συνεκτική σειρά. Η μετατροπή εικόνας σε βίντεο απαιτεί εικόνα αρχικού καρέ, με προαιρετική περιγραφή έως 2.000 χαρακτήρων. Η εικόνα καθορίζει την αρχική σύνθεση, επομένως προετοιμάστε θέμα και κάδρο πριν ζητήσετε κίνηση. Αφήστε ορατό χώρο όπου πρέπει να κινηθεί χέρι, αντικείμενο ή χαρακτήρας.</p><p>Η αρχική εικόνα δέχεται JPG, JPEG, PNG ή WebP, πρέπει να είναι μικρότερη από 20 MB, χρειάζεται μικρή πλευρά μεγαλύτερη από 300 pixel και πρέπει να έχει αναλογία διαστάσεων μεταξύ 2:5 και 5:2. Μπορεί να παρέχεται ως δημόσιο URL εικόνας ή Base64 data URL. Επιλέξτε καθαρή αρχική εικόνα αντί να βασίζεστε στην κίνηση για διόρθωση κρυμμένου προσώπου ή ήδη περικομμένης δράσης.</p><p>Το Hailuo 2.3 παράγει στα 24 καρέ ανά δευτερόλεπτο. Ένα πλάνο έξι δευτερολέπτων μπορεί να χρησιμοποιεί 768P ή 1080P· ένα πλάνο δέκα δευτερολέπτων χρησιμοποιεί 768P. Οι προεπιλογές είναι έξι δευτερόλεπτα και 768P. Επιλέξτε διάρκεια για τη δράση που θέλετε να δείτε: μια σύντομη αντίδραση μπορεί να χωρά σε μικρό πλάνο, ενώ πιο αργή κίνηση χρειάζεται περισσότερο χώρο. Διαβάστε το πραγματικό πλάτος και ύψος του ολοκληρωμένου αποτελέσματος όταν τοποθετείτε το απόσπασμα σε μοντάζ, αφού μια ετικέτα ανάλυσης από μόνη της δεν είναι ολόκληρη η απόφαση κάδρου.</p><p>Η κατεύθυνση κάμερας μπορεί να χρησιμοποιεί εντολές σε αγκύλες. Τα διαθέσιμα χειριστήρια καλύπτουν πλάγια μετακίνηση, πανοραμική κίνηση, προσέγγιση, κατακόρυφη μετατόπιση, κλίση, ζουμ, κούνημα, παρακολούθηση και στατικό πλάνο. Μια εντολή όπως [Push in] κατευθύνει την προσέγγιση· εντολές ομαδοποιημένες μέσα στην ίδια αγκύλη ενεργούν μαζί, ενώ εντολές τοποθετημένες με σειρά περιγράφουν ακολουθία. Η MiniMax συνιστά έως τρεις ταυτόχρονες εντολές. Κρατήστε την κίνηση κάμερας συμβατή με τη δράση θέματος, ώστε το κύριο συμβάν να παραμένει εύκολο στην παρακολούθηση.</p><p>Η αυτόματη βελτιστοποίηση προτροπής είναι ενεργοποιημένη από προεπιλογή και μπορεί να απενεργοποιηθεί για στενότερο έλεγχο της παρεχόμενης διατύπωσης. Η προαιρετική γρήγορη προεπεξεργασία μειώνει τον χρόνο βελτιστοποίησης όταν αυτή είναι ενεργοποιημένη· είναι ξεχωριστή ρύθμιση από την επιλογή μοντέλου Hailuo 2.3 Fast. Το τυπικό Hailuo 2.3 υποστηρίζει και τους δύο τρόπους δημιουργίας, ενώ το Fast είναι η ξεχωριστή έκδοση εικόνας σε βίντεο. Επιλέξτε έκδοση ανάλογα με το αν το έργο ξεκινά μόνο με κείμενο ή με υπάρχον καρέ.</p><p>Η ροή παραγωγής επιστρέφει ασύγχρονο αναγνωριστικό εργασίας και έπειτα αναφέρει προετοιμασία, ουρά, επεξεργασία, επιτυχία ή αποτυχία. Σε επιτυχία, το αποτέλεσμα παρέχει αναγνωριστικό αρχείου και τις πραγματικές διαστάσεις βίντεο και το ολοκληρωμένο βίντεο ανακτάται για λήψη. Αποθηκεύστε το απόσπασμα όσο ισχύει η διεύθυνση λήψης του. Η τρέχουσα αναφορά λήψης βίντεο του κατασκευαστή δίνει στο επιστρεφόμενο URL λήψης διάρκεια ισχύος μίας ώρας. Για μονταρισμένη ακολουθία, διατηρήστε κάθε πλάνο μαζί με την προτροπή και την αρχική εικόνα του, ώστε η επιλεγμένη δημιουργική κατεύθυνση να παραμένει ανιχνεύσιμη κατά την αναθεώρηση.</p><p>Ελέγξτε δράση, φυσική συνέχεια, λεπτομέρειες προσώπου ή προϊόντος, οπτικό ύφος και συμπεριφορά κάμερας στο αποθηκευμένο απόσπασμα. Παρακολουθήστε ολόκληρο το πλάνο και έπειτα επιθεωρήστε την αρχή και το τέλος του, όπου θα ενωθεί με άλλο υλικό. Αν το αίτημα περιέχει υπερβολικά πολλές ανταγωνιστικές κινήσεις, απλοποιήστε την κύρια δράση· αν ο αρχικός σχεδιασμός είναι ασαφής, βελτιώστε την αρχική εικόνα. Επιλέξτε πλάνο που μεταδίδει το επιδιωκόμενο συμβάν και έπειτα προσθέστε αφήγηση, τίτλους και μεταβάσεις στη ροή μοντάζ.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Βίντεο</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>Είσοδος</dt><dd><code>text</code></dd></div><div><dt>Έξοδος</dt><dd><code>video</code></dd></div><div><dt>Μορφή εξόδου</dt><dd>mp4</dd></div><div><dt>Πλήθος εξόδων</dt><dd>Έως 1 έξοδος</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Πεδίο</th><th>Τύπος</th><th>Απαίτηση</th><th>Τιμές και όρια</th><th>Προεπιλογή</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>MiniMax-Hailuo-2.3</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Ελάχιστο μήκος: 1</div><div>Μέγιστο μήκος: 2.000</div><div>Συνθήκες: Για 768P: το πολύ 2000 κωδικά σημεία Unicode. Για 1080P: λιγότερα από 200 κωδικά σημεία Unicode (μέγιστο 199). Η προτροπή πρέπει να περιέχει κείμενο που δεν αποτελείται μόνο από κενά.</div><div>Μονάδα: χαρακτήρες Unicode</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">duration</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>integer</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>6</div><div>Μονάδα: δευτερόλεπτα</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>768P, 1080P</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Συνδυασμοί υλικών εισόδου</summary><p class=\"note-s\"><b>Κείμενο σε βίντεο</b> · Υποχρεωτικό: prompt</p></details><details class=\"note-s\" data-method-contract><summary>Παράμετροι και κύκλος ζωής μεθόδου</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Παράμετρος</th><th>Σύμβαση</th></tr></thead><tbody><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>content_type</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>application/json</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>required</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>model, prompt, duration, resolution</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>other_options</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>false</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>duration</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>6</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>resolution</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>768P, 1080P</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>prompt_max_characters</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>2000</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>material_types</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>text</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>prompt_max_characters_by_resolution</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>{&quot;768P&quot;:2000,&quot;1080P&quot;:199}</td></tr></tbody></table></div><p>Εναλλακτικά ονόματα μεθόδου: <code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><p>Κύκλος ζωής: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}/content</code></p><p class=\"note-s\">Δημιουργήστε μία φορά και αποθηκεύστε το ID που επιστρέφεται.</p><p class=\"note-s\">Ελέγχετε περιοδικά την αρχική κατάσταση· διατηρήστε κάθε ολοκληρωμένο αρχείο πολυμέσων και τη διάρκειά του.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Τιμολόγηση</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.</p><dl data-price-conditions><dt>Γρήγορη λειτουργία</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν επιλέγεται η γρήγορη λειτουργία</span></dd><dt>Λειτουργία flex</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν επιλέγεται η λειτουργία flex</span></dd><dt>Μέγιστη προσπάθεια συλλογισμού</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default</span></dd></dl></div><div data-declared-tariff-pricing><h4>Χρεώσεις Ailoot</h4><h4>Τιμές ανά διαμόρφωση</h4><p class=\"note-s\">Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Πίνακας χρεώσεων</th><th>Ονομαστική διάρκεια αποσπάσματος, δευτερόλεπτα</th><th>Ανάλυση</th><th>Μονάδα τιμολόγησης</th><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Βασικές χρεώσεις token</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>Βασική χρέωση</td><td data-cell-label=\"Ονομαστική διάρκεια αποσπάσματος, δευτερόλεπτα\"><span class=\"card-cell-label\">Ονομαστική διάρκεια αποσπάσματος, δευτερόλεπτα</span>—</td><td data-cell-label=\"Ανάλυση\"><span class=\"card-cell-label\">Ανάλυση</span>—</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>—</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Token εισόδου</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Έξοδος · Token εξόδου</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Ανάγνωση από την κρυφή μνήμη</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Ultra</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>—</td><td data-cell-label=\"Ονομαστική διάρκεια αποσπάσματος, δευτερόλεπτα\"><span class=\"card-cell-label\">Ονομαστική διάρκεια αποσπάσματος, δευτερόλεπτα</span>6</td><td data-cell-label=\"Ανάλυση\"><span class=\"card-cell-label\">Ανάλυση</span>1080P</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>ανά απόσπασμα εξόδου ονομαστικής διάρκειας 6s</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Έξοδος · ονομαστικό κλιπ εξόδου 6s</span> <b>$1.2</b> <span class=\"price-unit\">ανά απόσπασμα εξόδου ονομαστικής διάρκειας 6s</span></div></td></tr><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Ultra</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>—</td><td data-cell-label=\"Ονομαστική διάρκεια αποσπάσματος, δευτερόλεπτα\"><span class=\"card-cell-label\">Ονομαστική διάρκεια αποσπάσματος, δευτερόλεπτα</span>6</td><td data-cell-label=\"Ανάλυση\"><span class=\"card-cell-label\">Ανάλυση</span>768P</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>ανά απόσπασμα εξόδου ονομαστικής διάρκειας 6s</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Έξοδος · ονομαστικό κλιπ εξόδου 6s</span> <b>$0.6</b> <span class=\"price-unit\">ανά απόσπασμα εξόδου ονομαστικής διάρκειας 6s</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. <a href=\"/docs/el/billing/reserve/\">Πώς λειτουργούν η δέσμευση και η εκκαθάριση →</a></p><div data-declared-reference-pricing><h4>Στοιχεία τιμοκαταλόγου αναφοράς</h4><p class=\"note-s\">Οι πίνακες αναφοράς του μοντέλου δεν αλλάζουν την επιλογή μεθόδου, τις εκτιμήσεις τιμής ή τις χρεώσεις. Οι εφαρμοζόμενες χρεώσεις χρησιμοποιούν τις τιμές της επιλεγμένης μεθόδου Ailoot.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>Τιμές ανά διαμόρφωση</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Συνθήκες χρέωσης</th><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>MiniMax-Hailuo-2.3 · Προεπιλεγμένη διαμόρφωση</th><td data-cell-label=\"Συνθήκες χρέωσης\"><span class=\"card-cell-label\">Συνθήκες χρέωσης</span>Προεπιλεγμένη διαμόρφωση</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Είσοδος</span> <b>0,00 $</b> <span class=\"price-unit\">ανά κλήση</span></div><div><span>Έξοδος · Έξοδος</span> <b>0,60 $</b> <span class=\"price-unit\">ανά κλήση</span></div></td></tr></tbody></table></div></details><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>Τιμές ανά διαμόρφωση</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Συνθήκες χρέωσης</th><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>MiniMax-Hailuo-2.3 · Προεπιλεγμένη διαμόρφωση</th><td data-cell-label=\"Συνθήκες χρέωσης\"><span class=\"card-cell-label\">Συνθήκες χρέωσης</span>Προεπιλεγμένη διαμόρφωση</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Είσοδος</span> <b>0,00 $</b> <span class=\"price-unit\">ανά κλήση</span></div><div><span>Έξοδος · Έξοδος</span> <b>1,20 $</b> <span class=\"price-unit\">ανά κλήση</span></div></td></tr></tbody></table></div></details><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>Τιμές ανά διαμόρφωση</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Συνθήκες χρέωσης</th><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>MiniMax-Hailuo-2.3 · Προεπιλεγμένη διαμόρφωση</th><td data-cell-label=\"Συνθήκες χρέωσης\"><span class=\"card-cell-label\">Συνθήκες χρέωσης</span>Προεπιλεγμένη διαμόρφωση</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Είσοδος</span> <b>0,00 $</b> <span class=\"price-unit\">ανά κλήση</span></div><div><span>Έξοδος · Έξοδος</span> <b>1,20 $</b> <span class=\"price-unit\">ανά κλήση</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Παραδείγματα αιτημάτων</h3><h4>Ailoot Ultra · Βίντεο</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-377-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-377-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-377-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-377-panel-1\" aria-selected=\"false\" tabindex=\"-1\">curl · 1080P / 6 δευτερόλεπτα</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-377-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-377-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;MiniMax-Hailuo-2.3&quot;, &quot;prompt&quot;: &quot;A cat in a spacesuit walking on the Moon&quot;, &quot;duration&quot;: 6, &quot;resolution&quot;: &quot;768P&quot;}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-377-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-377-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;MiniMax-Hailuo-2.3&quot;, &quot;prompt&quot;: &quot;A cat in a spacesuit walking on the Moon&quot;, &quot;duration&quot;: 6, &quot;resolution&quot;: &quot;1080P&quot;}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Λήψη και αποθήκευση αποτελεσμάτων</h3><h4>Ailoot Ultra · Βίντεο</h4><p class=\"note-s\">mp4</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/generations/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li><li><code>GET /v1/videos/generations/{request_id}/content</code></li></ul><h5>Έλεγχος κατάστασης εργασίας</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-378-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-378-panel-0\" aria-selected=\"true\" tabindex=\"0\">Λήψη κατάστασης με GET</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-378-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-378-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_OPERATION_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/videos/$operation_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o status.json\npython3 - &lt;&lt;&#39;PY_STATUS&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;status.json&quot;).read_text())\nprint(json.dumps(r))\nif r.get(&quot;status&quot;)==&quot;completed&quot;:\n    for x in r.get(&quot;data&quot;,[]):print(x)\nPY_STATUS\n</code></pre></div></div></div><h5>Αποθηκεύστε όλα τα ολοκληρωμένα αρχεία</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-379-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-379-panel-0\" aria-selected=\"true\" tabindex=\"0\">Λήψη όλων των ολοκληρωμένων αρχείων με GET</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-379-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-379-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}&quot;\nexport AILOOT_STATUS_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[&quot;AILOOT_STATUS_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose the actual completed status file&quot;)\nr=json.loads(f.read_text())\nif r.get(&quot;status&quot;)!=&quot;completed&quot; or not isinstance(r.get(&quot;data&quot;),list) or not r[&quot;data&quot;]:raise SystemExit(&quot;Wait for a completed status with asset paths&quot;)\nurls=[]\nfor x in r[&quot;data&quot;]:\n    if not isinstance(x,str) or &quot;\\n&quot; in x or &quot;\\r&quot; in x:raise SystemExit(&quot;Invalid asset path&quot;)\n    u=urljoin(&quot;https://api.ailoot.ai&quot;,x)\n    z=urlsplit(u)\n    if z.scheme!=&quot;https&quot; or z.netloc!=&quot;api.ailoot.ai&quot; or z.username or z.password:raise SystemExit(&quot;Use the actual Ailoot asset paths from status&quot;)\n    urls.append(u)\nPath(&quot;asset-urls.txt&quot;).write_text(&quot;\\n&quot;.join(urls)+&quot;\\n&quot;)\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error &quot;$asset_url&quot; \\\n    -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o &quot;video-${index}.mp4&quot;\n  index=$((index + 1))\ndone &lt; asset-urls.txt\n</code></pre></div></div></div><details class=\"card-about\"><summary>Άλλες ανακτήσεις περιεχομένου</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-380-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-380-panel-0\" aria-selected=\"true\" tabindex=\"0\">Λήψη περιεχομένου με GET</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-380-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-380-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_OPERATION_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/videos/$operation_id/content&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o video.mp4\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα</h5><p class=\"note-s\">Αποθηκεύστε κάθε ολοκληρωμένο βίντεο ή αρχείο που επιστρέφεται· ανακτήστε κάθε πραγματικό URL αρχείου που επιστρέφεται.</p><p class=\"note-s\">Το ολοκληρωμένο data[] περιέχει όλα τα υπογεγραμμένα URL περιεχομένου που σας ανήκουν. Ανακτήστε κάθε URL που επιστρέφεται ή χρησιμοποιήστε το τελικό σημείο περιεχομένου με το index ορισμένο σε πραγματικό δείκτη εξόδου. Μια αποτυχημένη αρχική εργασία μπορεί να επιστρέψει charge_pending_check· ελέγξτε αυτή την αρχική εργασία αντί να τη δημιουργήσετε ξανά.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Αν χρειάζεται έλεγχος της αρχικής απάντησης</h5><p class=\"note-s\">Διαβάστε την υπάρχουσα αρχική εργασία· μην επανυποβάλετε ποτέ αποστολή με άγνωστο αποτέλεσμα.</p></div><p class=\"note-s\">Μέγιστο πλήθος εξόδων: 1.</p><details class=\"card-about\" data-output-fields><summary>Πεδία απάντησης</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Πεδίο</th><th>Τύπος</th></tr></thead><tbody><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>signed content URL</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">charge_pending_check</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>boolean</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">error.code</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">error.message</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">requested_nominal_duration_seconds</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>integer</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">measured_duration_seconds</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>number</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">width</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>integer</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">height</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>integer</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Σφάλματα και επόμενα βήματα</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Απάντηση</th><th>Συνθήκη</th><th>Επόμενο βήμα</th></tr></thead><tbody><tr><th data-cell-label=\"Απάντηση\" scope=\"row\"><span class=\"card-cell-label\">Απάντηση</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Συνθήκη\"><span class=\"card-cell-label\">Συνθήκη</span>Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου</td><td data-cell-label=\"Επόμενο βήμα\"><span class=\"card-cell-label\">Επόμενο βήμα</span>Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.</td></tr><tr><th data-cell-label=\"Απάντηση\" scope=\"row\"><span class=\"card-cell-label\">Απάντηση</span>409 · <code>video_not_ready</code></th><td data-cell-label=\"Συνθήκη\"><span class=\"card-cell-label\">Συνθήκη</span>Το περιεχόμενο του αρχικού αποτελέσματος δεν είναι ακόμη διαθέσιμο</td><td data-cell-label=\"Επόμενο βήμα\"><span class=\"card-cell-label\">Επόμενο βήμα</span>Ελέγχετε περιοδικά το αρχικό ID που επιστρέφεται και τηρείτε το Retry-After.</td></tr><tr><th data-cell-label=\"Απάντηση\" scope=\"row\"><span class=\"card-cell-label\">Απάντηση</span><code>server_error</code></th><td data-cell-label=\"Συνθήκη\"><span class=\"card-cell-label\">Συνθήκη</span>Η απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο</td><td data-cell-label=\"Επόμενο βήμα\"><span class=\"card-cell-label\">Επόμενο βήμα</span>Διατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Εναλλακτικά ονόματα</h3><h4>Εναλλακτικά ονόματα μοντέλου</h4><p class=\"note-s\"><span data-model-alias-route=\"Core\"><b>Ailoot</b> <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Core&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></span><br><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\"><code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Core&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a>, <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "MiniMax-Hailuo-2.3",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|MiniMax-Hailuo-2.3",
      "ordinal": 1,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Completeddata[] contains all owned signedcontentURLs. FetcheachactualURL,orusecontent?index=actualindex. Failedoriginaljobs maycarrycharge_pending_check; do not recreate.",
            "errors": [
              {
                "code": null,
                "condition": "Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου",
                "http_status": 400,
                "recovery": "Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Το περιεχόμενο του αρχικού αποτελέσματος δεν είναι ακόμη διαθέσιμο",
                "http_status": 409,
                "recovery": "Ελέγχετε περιοδικά το αρχικό ID που επιστρέφεται και τηρείτε το Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "Η απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο",
                "http_status": null,
                "recovery": "Διατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default0"
                  }
                },
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "operation_id_is_not_task_id": true,
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "Διαβάστε την υπάρχουσα αρχική εργασία· μην επανυποβάλετε ποτέ αποστολή με άγνωστο αποτέλεσμα.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_video"
            ],
            "outputs": {
              "all_results": "Το ολοκληρωμένο data[] περιέχει όλα τα υπογεγραμμένα URL περιεχομένου που σας ανήκουν. Ανακτήστε κάθε URL που επιστρέφεται ή χρησιμοποιήστε το τελικό σημείο περιεχομένου με το index ορισμένο σε πραγματικό δείκτη εξόδου. Μια αποτυχημένη αρχική εργασία μπορεί να επιστρέψει charge_pending_check· ελέγξτε αυτή την αρχική εργασία αντί να τη δημιουργήσετε ξανά.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed content URL"
                },
                {
                  "description": null,
                  "name": "charge_pending_check",
                  "type": "boolean"
                },
                {
                  "description": null,
                  "name": "error.code",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "error.message",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "requested_nominal_duration_seconds",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "measured_duration_seconds",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "width",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "height",
                  "type": "integer"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 1,
              "status_enum": [
                "in_progress",
                "completed",
                "failed"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Για 768P: το πολύ 2000 κωδικά σημεία Unicode. Για 1080P: λιγότερα από 200 κωδικά σημεία Unicode (μέγιστο 199). Η προτροπή πρέπει να περιέχει κείμενο που δεν αποτελείται μόνο από κενά.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_bytes": null,
                "maximum_length": 2000,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "χαρακτήρες Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  6
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer",
                "unit": "δευτερόλεπτα"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "768P",
                  "1080P"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "request_schema": {
              "additionalProperties": false,
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "resolution": {
                        "const": "1080P"
                      }
                    },
                    "required": [
                      "resolution"
                    ]
                  },
                  "then": {
                    "properties": {
                      "prompt": {
                        "maxLength": 199
                      }
                    }
                  }
                }
              ],
              "properties": {
                "duration": {
                  "enum": [
                    6
                  ],
                  "type": "integer"
                },
                "model": {
                  "enum": [
                    "MiniMax-Hailuo-2.3"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "Non-whitespace UTF-8 text. Length counts Unicode code points; the 1080P conditional maximum is 199.",
                  "maxLength": 2000,
                  "minLength": 1,
                  "type": "string"
                },
                "resolution": {
                  "enum": [
                    "768P",
                    "1080P"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration",
                "resolution"
              ],
              "type": "object"
            },
            "unsupported": [
              "everyfieldoutsideexactrequiredprofile"
            ]
          },
          "hints": [
            "Δημιουργήστε μία φορά και αποθηκεύστε το ID που επιστρέφεται.",
            "Ελέγχετε περιοδικά την αρχική κατάσταση· διατηρήστε κάθε ολοκληρωμένο αρχείο πολυμέσων και τη διάρκειά του."
          ],
          "input": {
            "content_type": "application/json",
            "duration": [
              6
            ],
            "material_types": [
              "text"
            ],
            "other_options": false,
            "prompt_max_characters": 2000,
            "prompt_max_characters_by_resolution": {
              "1080P": 199,
              "768P": 2000
            },
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution"
            ],
            "resolution": [
              "768P",
              "1080P"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "only actual ID/path from creation/status",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "text_to_video"
          ],
          "output": {
            "count": 1,
            "family": "video",
            "format": "mp4",
            "result": "owned validated complete MP4"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "1080P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_1080p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "1.2",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_768p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"768P\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o status.json\npython3 - <<'PY_STATUS'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"status.json\").read_text())\nprint(json.dumps(r))\nif r.get(\"status\")==\"completed\":\n    for x in r.get(\"data\",[]):print(x)\nPY_STATUS\n",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o video.mp4\n",
            "label": "GET content",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif r.get(\"status\")!=\"completed\" or not isinstance(r.get(\"data\"),list) or not r[\"data\"]:raise SystemExit(\"Wait for a completed status with asset paths\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    z=urlsplit(u)\n    if z.scheme!=\"https\" or z.netloc!=\"api.ailoot.ai\" or z.username or z.password:raise SystemExit(\"Use the actual Ailoot asset paths from status\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"1080P\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl · 1080P / 6 seconds",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Create once and save returned ID.",
          "Poll original status; retain every completed asset and duration."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations",
          "/videos",
          "/videos/generations"
        ],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "video",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "video_output_1080p_6s_clip": 1.2,
            "video_output_768p_6s_clip": 0.6
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "1080P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_1080p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "1.2",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_768p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          }
        ],
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_1080p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_768p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          }
        ]
      }
    }
  ],
  "model_id": "MiniMax-Hailuo-2.3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "7352f77a34250118ac35bd6dfd787e8aa9ee6a49119a27a1f7f2b3cd8f0625f2",
    "input_html_sha256": "15c55c82ebdda16d43cfc6a808a308e8baf170fe4a8f9d8537f96bcaa8d024bf",
    "private_audit_sha256": "d9b38f91377a98e67994fb173d7482ec4b20aad9053392bbe118017d3ad3d9eb",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/minimax-hailuo-2-3/",
    "description": "Το MiniMax Hailuo 2.3 δημιουργεί βίντεο από κείμενο ή αρχική εικόνα, με χειριστήρια κίνησης και κατεύθυνσης κάμερας. Επιλέξτε έξι δευτερόλεπτα σε 768P ή 1080P ή δέκα δευτερόλεπτα σε 768P για ερμηνείες χαρακτήρων, στιλιζαρισμένες σκηνές και πλάνα προϊόντων που μπορούν να ελεγχθούν και να μονταριστούν.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/minimax-hailuo-2-3/index.md",
    "title": "MiniMax-Hailuo-2.3 — Ailoot",
    "url": "https://ailoot.ai/models/el/minimax-hailuo-2-3/"
  },
  "rawModel": {
    "about": "Το MiniMax Hailuo 2.3 είναι μοντέλο παραγωγής βίντεο με λειτουργίες μετατροπής κειμένου και εικόνας σε βίντεο. Εξελίσσει το Hailuo 02 με έμφαση στη σωματική δράση, το οπτικό ύφος, τις μικροεκφράσεις χαρακτήρων και την απόκριση σε οδηγίες κίνησης. Δώστε γραπτή σκηνή για να δημιουργήσετε πλάνο από την αρχή ή χρησιμοποιήστε αρχική εικόνα για να ορίσετε την πρώτη οπτική και να περιγράψετε την κίνηση που ακολουθεί.\n\nΗ σωματική ερμηνεία είναι ένας από τους κύριους τομείς βελτίωσης της έκδοσης. Το Hailuo 2.3 στοχεύει σε πιο ομαλές και ελεγχόμενες κινήσεις σώματος, συμπεριλαμβανομένων σκηνών με κινούμενη κάμερα. Σχεδιάστε τη σημαντική δράση πριν προσθέσετε διακοσμητική λεπτομέρεια. Ένας χαρακτήρας που σηκώνει αντικείμενο, στρέφεται προς άλλο άτομο ή κινείται μέσα σε δωμάτιο δίνει στο πλάνο ορατό συμβάν προς αξιολόγηση. Αποφασίστε ποια κίνηση μεταφέρει την ιστορία και κρατήστε τις γύρω οδηγίες συνεπείς με αυτή.\n\nΗ στιλιζαρισμένη απόδοση είναι άλλη μία εστίαση. Το μοντέλο υποστηρίζει εργασία σε anime και εικονογράφηση, καθώς και ύφη όπως ζωγραφική με μελάνι και γραφικά υπολογιστή παιχνιδιών. Περιγράψτε την οπτική απόδοση που θέλετε και κρατήστε την εμφάνιση συνεκτική με τη σκηνή. Αν μια αρχική εικόνα ορίζει ήδη σχεδιαστικό ύφος, χρησιμοποιήστε το κείμενο για να καθοδηγήσετε την κίνηση αντί να εισάγετε ανταγωνιστική περιγραφή του σχεδιασμού χαρακτήρα. Ελέγξτε ολόκληρο το απόσπασμα για το αν αυτή η απόδοση παραμένει ευανάγνωστη κατά την κίνηση.\n\nΤο μοντέλο εστιάζει επίσης στην ερμηνεία προσώπου και στις λεπτές αλλαγές έκφρασης. Προετοιμάστε πλάνο χαρακτήρα γύρω από την αντίδραση που έχει σημασία: να προσέχει ένα αντικείμενο, να αποκτά περιέργεια ή να απαντά με μικρό χαμόγελο. Μια κοντινή οπτική μπορεί να κάνει αυτή την αλλαγή ευκολότερη στην αξιολόγηση, ενώ μεγάλη ακολουθία χειρονομιών μπορεί να αποσπά από αυτή. Ελέγξτε το πρόσωπο πριν, κατά τη διάρκεια και μετά την αντίδραση αντί να κρίνετε μόνο ένα αντιπροσωπευτικό στατικό καρέ.\n\nΗ κίνηση αντικειμένων είναι χρήσιμη για σκηνές με επίκεντρο το προϊόν. Μια πρωτότυπη οδηγία θα μπορούσε να δείχνει μικρό κεραμικό βάζο που περιστρέφεται σε ζεστό πλάγιο φως ενώ η κάμερα το πλησιάζει σταδιακά. Προσδιορίστε ποιες ιδιότητες πρέπει να παραμένουν αναγνωρίσιμες, όπως σιλουέτα, χείλος και φινίρισμα επιφάνειας. Ελέγξτε αυτές τις λεπτομέρειες κατά την κίνηση, επειδή μια πειστική ατμόσφαιρα από μόνη της δεν τεκμηριώνει πιστή άποψη προϊόντος.\n\nΓια μετατροπή κειμένου σε βίντεο, η απαιτούμενη περιγραφή μπορεί να περιέχει έως 2.000 χαρακτήρες. Δηλώστε θέμα, δράση, σκηνικό και οπτικό ύφος με συνεκτική σειρά. Η μετατροπή εικόνας σε βίντεο απαιτεί εικόνα αρχικού καρέ, με προαιρετική περιγραφή έως 2.000 χαρακτήρων. Η εικόνα καθορίζει την αρχική σύνθεση, επομένως προετοιμάστε θέμα και κάδρο πριν ζητήσετε κίνηση. Αφήστε ορατό χώρο όπου πρέπει να κινηθεί χέρι, αντικείμενο ή χαρακτήρας.\n\nΗ αρχική εικόνα δέχεται JPG, JPEG, PNG ή WebP, πρέπει να είναι μικρότερη από 20 MB, χρειάζεται μικρή πλευρά μεγαλύτερη από 300 pixel και πρέπει να έχει αναλογία διαστάσεων μεταξύ 2:5 και 5:2. Μπορεί να παρέχεται ως δημόσιο URL εικόνας ή Base64 data URL. Επιλέξτε καθαρή αρχική εικόνα αντί να βασίζεστε στην κίνηση για διόρθωση κρυμμένου προσώπου ή ήδη περικομμένης δράσης.\n\nΤο Hailuo 2.3 παράγει στα 24 καρέ ανά δευτερόλεπτο. Ένα πλάνο έξι δευτερολέπτων μπορεί να χρησιμοποιεί 768P ή 1080P· ένα πλάνο δέκα δευτερολέπτων χρησιμοποιεί 768P. Οι προεπιλογές είναι έξι δευτερόλεπτα και 768P. Επιλέξτε διάρκεια για τη δράση που θέλετε να δείτε: μια σύντομη αντίδραση μπορεί να χωρά σε μικρό πλάνο, ενώ πιο αργή κίνηση χρειάζεται περισσότερο χώρο. Διαβάστε το πραγματικό πλάτος και ύψος του ολοκληρωμένου αποτελέσματος όταν τοποθετείτε το απόσπασμα σε μοντάζ, αφού μια ετικέτα ανάλυσης από μόνη της δεν είναι ολόκληρη η απόφαση κάδρου.\n\nΗ κατεύθυνση κάμερας μπορεί να χρησιμοποιεί εντολές σε αγκύλες. Τα διαθέσιμα χειριστήρια καλύπτουν πλάγια μετακίνηση, πανοραμική κίνηση, προσέγγιση, κατακόρυφη μετατόπιση, κλίση, ζουμ, κούνημα, παρακολούθηση και στατικό πλάνο. Μια εντολή όπως [Push in] κατευθύνει την προσέγγιση· εντολές ομαδοποιημένες μέσα στην ίδια αγκύλη ενεργούν μαζί, ενώ εντολές τοποθετημένες με σειρά περιγράφουν ακολουθία. Η MiniMax συνιστά έως τρεις ταυτόχρονες εντολές. Κρατήστε την κίνηση κάμερας συμβατή με τη δράση θέματος, ώστε το κύριο συμβάν να παραμένει εύκολο στην παρακολούθηση.\n\nΗ αυτόματη βελτιστοποίηση προτροπής είναι ενεργοποιημένη από προεπιλογή και μπορεί να απενεργοποιηθεί για στενότερο έλεγχο της παρεχόμενης διατύπωσης. Η προαιρετική γρήγορη προεπεξεργασία μειώνει τον χρόνο βελτιστοποίησης όταν αυτή είναι ενεργοποιημένη· είναι ξεχωριστή ρύθμιση από την επιλογή μοντέλου Hailuo 2.3 Fast. Το τυπικό Hailuo 2.3 υποστηρίζει και τους δύο τρόπους δημιουργίας, ενώ το Fast είναι η ξεχωριστή έκδοση εικόνας σε βίντεο. Επιλέξτε έκδοση ανάλογα με το αν το έργο ξεκινά μόνο με κείμενο ή με υπάρχον καρέ.\n\nΗ ροή παραγωγής επιστρέφει ασύγχρονο αναγνωριστικό εργασίας και έπειτα αναφέρει προετοιμασία, ουρά, επεξεργασία, επιτυχία ή αποτυχία. Σε επιτυχία, το αποτέλεσμα παρέχει αναγνωριστικό αρχείου και τις πραγματικές διαστάσεις βίντεο και το ολοκληρωμένο βίντεο ανακτάται για λήψη. Αποθηκεύστε το απόσπασμα όσο ισχύει η διεύθυνση λήψης του. Η τρέχουσα αναφορά λήψης βίντεο του κατασκευαστή δίνει στο επιστρεφόμενο URL λήψης διάρκεια ισχύος μίας ώρας. Για μονταρισμένη ακολουθία, διατηρήστε κάθε πλάνο μαζί με την προτροπή και την αρχική εικόνα του, ώστε η επιλεγμένη δημιουργική κατεύθυνση να παραμένει ανιχνεύσιμη κατά την αναθεώρηση.\n\nΕλέγξτε δράση, φυσική συνέχεια, λεπτομέρειες προσώπου ή προϊόντος, οπτικό ύφος και συμπεριφορά κάμερας στο αποθηκευμένο απόσπασμα. Παρακολουθήστε ολόκληρο το πλάνο και έπειτα επιθεωρήστε την αρχή και το τέλος του, όπου θα ενωθεί με άλλο υλικό. Αν το αίτημα περιέχει υπερβολικά πολλές ανταγωνιστικές κινήσεις, απλοποιήστε την κύρια δράση· αν ο αρχικός σχεδιασμός είναι ασαφής, βελτιώστε την αρχική εικόνα. Επιλέξτε πλάνο που μεταδίδει το επιδιωκόμενο συμβάν και έπειτα προσθέστε αφήγηση, τίτλους και μεταβάσεις στη ροή μοντάζ.",
    "alias_of": null,
    "aliases": [],
    "author": "MiniMax",
    "available": null,
    "canonical_model": "MiniMax-Hailuo-2.3",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [],
      "manufacturer_output": []
    },
    "card_routes": [
      {
        "label": "Core",
        "rates": [
          {
            "key": "video_output_768p_6s_clip",
            "label": "per 6 s video at 768p",
            "side": "out",
            "usd": 0.28
          }
        ],
        "summary": "Πλήρης τιμολόγηση της διαμόρφωσης στις λεπτομέρειες."
      },
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_1080p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_768p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          }
        ],
        "summary": "Πλήρης τιμολόγηση της διαμόρφωσης στις λεπτομέρειες."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "fbaf58dadd2536629a45",
        "label": "MiniMax-Hailuo-2.3",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Προεπιλεγμένη διαμόρφωση"
            },
            "label": "MiniMax-Hailuo-2.3 · Προεπιλεγμένη διαμόρφωση",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "19ab01e12c389ee949ca7020",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "773fea089d2ce55d46c2a7b1",
                "label": "Output",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "out",
                "unit": "次"
              }
            ]
          }
        ]
      },
      {
        "client_selectable": false,
        "key": "09daf355a38c30492684",
        "label": "MiniMax-Hailuo-2.3",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Προεπιλεγμένη διαμόρφωση"
            },
            "label": "MiniMax-Hailuo-2.3 · Προεπιλεγμένη διαμόρφωση",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "daa8a5932b5bcaac702117f1",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "3fd346a74d57c55dc3f1d22b",
                "label": "Output",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "out",
                "unit": "次"
              }
            ]
          }
        ]
      },
      {
        "client_selectable": false,
        "key": "bf657018f1f319cdd9bf",
        "label": "MiniMax-Hailuo-2.3",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Default configuration"
            },
            "label": "MiniMax-Hailuo-2.3 · Default configuration",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "9d0b136d74c27e74edf7a782",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "219fbf3c287f8104ea30a466",
                "label": "Output",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "out",
                "unit": "次"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "videos"
    ],
    "id": "MiniMax-Hailuo-2.3",
    "input": [
      "text",
      "image"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Preserve every returned data item/output index. content_url is first only; fetch every actual content path/asset. GETcontentwithoutindex isnotalloutputs.",
            "errors": [
              {
                "code": null,
                "condition": "Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου",
                "http_status": 400,
                "recovery": "Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Το περιεχόμενο του αρχικού αποτελέσματος δεν είναι ακόμη διαθέσιμο",
                "http_status": 409,
                "recovery": "Ελέγχετε περιοδικά το αρχικό ID που επιστρέφεται και τηρείτε το Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "Η απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο",
                "http_status": null,
                "recovery": "Διατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos/generations"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "operation_id_is_not_task_id": true,
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "Διαβάστε την υπάρχουσα αρχική εργασία· μην επανυποβάλετε ποτέ αποστολή με άγνωστο αποτέλεσμα.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "mode": "image_to_video",
                "required": [
                  "prompt",
                  "first_frame_image"
                ]
              },
              {
                "available": true,
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "videos"
            ],
            "outputs": {
              "all_results": "Διατηρήστε κάθε στοιχείο δεδομένων και δείκτη εξόδου που επιστρέφεται. Το content_url αφορά μόνο το πρώτο· ανακτήστε κάθε πραγματική διαδρομή περιεχομένου ή αρχείο πολυμέσων. Το GET περιεχομένου χωρίς index δεν αντιστοιχεί σε όλες τις εξόδους.",
              "content_selection": "Oneownedvideo; use actualreturnedcontent_url/data[] ororiginalcontentread. No indexedselection field is promised by thisCorehandler.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "content_url",
                  "type": "signed URL"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed URL"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "result_pending_check",
                  "type": "boolean"
                }
              ],
              "format": "mp4"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length": 2000,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "χαρακτήρες Unicode"
              },
              {
                "availability": "source_interface",
                "conditions": "Τα 10 δευτερόλεπτα απαιτούν 768P",
                "default": 6,
                "default_known": true,
                "enum": [
                  6,
                  10
                ],
                "enum_known": true,
                "name": "duration",
                "required": false,
                "type": "integer",
                "unit": "δευτερόλεπτα"
              },
              {
                "availability": "source_interface",
                "conditions": "Το 1080P απαιτεί 6 δευτερόλεπτα",
                "default": "768P",
                "default_known": true,
                "enum": [
                  "768P",
                  "1080P"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "aspect_ratio_range": [
                  "2:5",
                  "5:2"
                ],
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_decoded_bytes": 20971520,
                "mime_types": [
                  "image/jpeg",
                  "image/png",
                  "image/webp"
                ],
                "minimum_dimension_exclusive": 300,
                "name": "first_frame_image",
                "required": false,
                "type": "https_url|data_image_url"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_optimizer",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "fast_pretreatment",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Οι δομές και τα ID των μεθόδων είναι ακριβή· η δυνατότητα του προμηθευτή είναι ξεχωριστή από την αποδοχή αιτημάτων."
          ],
          "input": {
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": null,
            "required": null
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "only actual ID/path from creation/status",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos/generations"
          },
          "operation_modes": [
            "videos"
          ],
          "output": {
            "family": [
              "video"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl https://api.ailoot.ai/v1/videos/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A person walks slowly through a quiet garden as the camera tracks from the side.\", \"duration\": 6, \"resolution\": \"768P\"}'",
            "label": "Create video · retained exact shape",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\"",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  --output video.mp4",
            "label": "GET content",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Βίντεο",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos/generations",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.28,
                "amount_unit": "usd_per_display_unit",
                "key": "video_output_768p_6s_clip",
                "label": "per 6 s video at 768p",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Core",
        "status_reads": [
          "GET /v1/videos/generations/{id}",
          "GET /v1/videos/generations/{id}/content"
        ],
        "tiers": [],
        "tool_prices": null,
        "unit": "video_output_768p_6s_clip",
        "units": [
          {
            "key": "video_output_768p_6s_clip",
            "label": "per 6 s video at 768p",
            "side": "out",
            "usd": 0.28
          }
        ]
      },
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Completeddata[] contains all owned signedcontentURLs. FetcheachactualURL,orusecontent?index=actualindex. Failedoriginaljobs maycarrycharge_pending_check; do not recreate.",
            "errors": [
              {
                "code": null,
                "condition": "Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου",
                "http_status": 400,
                "recovery": "Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Το περιεχόμενο του αρχικού αποτελέσματος δεν είναι ακόμη διαθέσιμο",
                "http_status": 409,
                "recovery": "Ελέγχετε περιοδικά το αρχικό ID που επιστρέφεται και τηρείτε το Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "Η απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο",
                "http_status": null,
                "recovery": "Διατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default0"
                  }
                },
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "operation_id_is_not_task_id": true,
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "Διαβάστε την υπάρχουσα αρχική εργασία· μην επανυποβάλετε ποτέ αποστολή με άγνωστο αποτέλεσμα.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_video"
            ],
            "outputs": {
              "all_results": "Το ολοκληρωμένο data[] περιέχει όλα τα υπογεγραμμένα URL περιεχομένου που σας ανήκουν. Ανακτήστε κάθε URL που επιστρέφεται ή χρησιμοποιήστε το τελικό σημείο περιεχομένου με το index ορισμένο σε πραγματικό δείκτη εξόδου. Μια αποτυχημένη αρχική εργασία μπορεί να επιστρέψει charge_pending_check· ελέγξτε αυτή την αρχική εργασία αντί να τη δημιουργήσετε ξανά.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed content URL"
                },
                {
                  "description": null,
                  "name": "charge_pending_check",
                  "type": "boolean"
                },
                {
                  "description": null,
                  "name": "error.code",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "error.message",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "requested_nominal_duration_seconds",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "measured_duration_seconds",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "width",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "height",
                  "type": "integer"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 1,
              "status_enum": [
                "in_progress",
                "completed",
                "failed"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Για 768P: το πολύ 2000 κωδικά σημεία Unicode. Για 1080P: λιγότερα από 200 κωδικά σημεία Unicode (μέγιστο 199). Η προτροπή πρέπει να περιέχει κείμενο που δεν αποτελείται μόνο από κενά.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_bytes": null,
                "maximum_length": 2000,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "χαρακτήρες Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  6
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer",
                "unit": "δευτερόλεπτα"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "768P",
                  "1080P"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "request_schema": {
              "additionalProperties": false,
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "resolution": {
                        "const": "1080P"
                      }
                    },
                    "required": [
                      "resolution"
                    ]
                  },
                  "then": {
                    "properties": {
                      "prompt": {
                        "maxLength": 199
                      }
                    }
                  }
                }
              ],
              "properties": {
                "duration": {
                  "enum": [
                    6
                  ],
                  "type": "integer"
                },
                "model": {
                  "enum": [
                    "MiniMax-Hailuo-2.3"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "Non-whitespace UTF-8 text. Length counts Unicode code points; the 1080P conditional maximum is 199.",
                  "maxLength": 2000,
                  "minLength": 1,
                  "type": "string"
                },
                "resolution": {
                  "enum": [
                    "768P",
                    "1080P"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration",
                "resolution"
              ],
              "type": "object"
            },
            "unsupported": [
              "everyfieldoutsideexactrequiredprofile"
            ]
          },
          "hints": [
            "Δημιουργήστε μία φορά και αποθηκεύστε το ID που επιστρέφεται.",
            "Ελέγχετε περιοδικά την αρχική κατάσταση· διατηρήστε κάθε ολοκληρωμένο αρχείο πολυμέσων και τη διάρκειά του."
          ],
          "input": {
            "content_type": "application/json",
            "duration": [
              6
            ],
            "material_types": [
              "text"
            ],
            "other_options": false,
            "prompt_max_characters": 2000,
            "prompt_max_characters_by_resolution": {
              "1080P": 199,
              "768P": 2000
            },
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution"
            ],
            "resolution": [
              "768P",
              "1080P"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "only actual ID/path from creation/status",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "text_to_video"
          ],
          "output": {
            "count": 1,
            "family": "video",
            "format": "mp4",
            "result": "owned validated complete MP4"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "1080P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_1080p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "1.2",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_768p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"768P\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o status.json\npython3 - <<'PY_STATUS'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"status.json\").read_text())\nprint(json.dumps(r))\nif r.get(\"status\")==\"completed\":\n    for x in r.get(\"data\",[]):print(x)\nPY_STATUS\n",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o video.mp4\n",
            "label": "GET content",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif r.get(\"status\")!=\"completed\" or not isinstance(r.get(\"data\"),list) or not r[\"data\"]:raise SystemExit(\"Wait for a completed status with asset paths\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    z=urlsplit(u)\n    if z.scheme!=\"https\" or z.netloc!=\"api.ailoot.ai\" or z.username or z.password:raise SystemExit(\"Use the actual Ailoot asset paths from status\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"1080P\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl · 1080P / 6 seconds",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Create once and save returned ID.",
          "Poll original status; retain every completed asset and duration."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations",
          "/videos",
          "/videos/generations"
        ],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "video",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "video_output_1080p_6s_clip": 1.2,
            "video_output_768p_6s_clip": 0.6
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "1080P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_1080p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "1.2",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_768p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          }
        ],
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_1080p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_768p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "MiniMax-Hailuo-2.3",
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Core"
      },
      {
        "canonical_model_id": "MiniMax-Hailuo-2.3",
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Ultra"
      }
    ],
    "name": "MiniMax-Hailuo-2.3",
    "price": {
      "in": null,
      "in_label": null,
      "out": 1.2,
      "out_label": "per nominal 6s output clip",
      "sort_in": null,
      "sort_out": 1.2,
      "varies": true
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "basis": "Source-only tariff reference.",
        "dimensions": {
          "conditions": [
            "Image-to-video and text-to-video: 768P, 6S"
          ]
        },
        "label": "Ailoot Ultra · MiniMax-Hailuo-2.3 · Image-to-video and text-to-video: 768P, 6S",
        "units": [
          {
            "amount": "0.0",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "0.0",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "input",
            "label": "input call",
            "native_amount_usd_per_unit": "0.0",
            "native_quantity": 1,
            "quantity": 1,
            "side": "in",
            "unit": "call"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "0.6",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "output",
            "label": "output call",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "call"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "basis": "Source-only tariff reference.",
        "dimensions": {
          "conditions": [
            "Image-to-video and text-to-video: 768P, 10S"
          ]
        },
        "label": "Ailoot Ultra · MiniMax-Hailuo-2.3 · Image-to-video and text-to-video: 768P, 10S",
        "units": [
          {
            "amount": "0.0",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "0.0",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "input",
            "label": "input call",
            "native_amount_usd_per_unit": "0.0",
            "native_quantity": 1,
            "quantity": 1,
            "side": "in",
            "unit": "call"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "1.2",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "output",
            "label": "output call",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "call"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "basis": "Source-only tariff reference.",
        "dimensions": {
          "conditions": [
            "Image-to-video and text-to-video: 1080P, 6S"
          ]
        },
        "label": "Ailoot Ultra · MiniMax-Hailuo-2.3 · Image-to-video and text-to-video: 1080P, 6S",
        "units": [
          {
            "amount": "0.0",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "0.0",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "input",
            "label": "input call",
            "native_amount_usd_per_unit": "0.0",
            "native_quantity": 1,
            "quantity": 1,
            "side": "in",
            "unit": "call"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "1.2",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "output",
            "label": "output call",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "call"
          }
        ]
      }
    ],
    "public_id": "MiniMax-Hailuo-2.3",
    "short": "Το MiniMax Hailuo 2.3 δημιουργεί βίντεο από κείμενο ή αρχική εικόνα, με χειριστήρια κίνησης και κατεύθυνσης κάμερας. Επιλέξτε έξι δευτερόλεπτα σε 768P ή 1080P ή δέκα δευτερόλεπτα σε 768P για ερμηνείες χαρακτήρων, στιλιζαρισμένες σκηνές και πλάνα προϊόντων που μπορούν να ελεγχθούν και να μονταριστούν."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        },
        {
          "contract_json_pointer": "/methods/1/rawMethod/contract",
          "html_json_pointer": "/methods/1/html",
          "method_ordinal": 1
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod",
        "/methods/1/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Το MiniMax Hailuo 2.3 δημιουργεί βίντεο από κείμενο ή αρχική εικόνα, με χειριστήρια κίνησης και κατεύθυνσης κάμερας. Επιλέξτε έξι δευτερόλεπτα σε 768P ή 1080P ή δέκα δευτερόλεπτα σε 768P για ερμηνείες χαρακτήρων, στιλιζαρισμένες σκηνές και πλάνα προϊόντων που μπορούν να ελεγχθούν και να μονταριστούν.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "28c8f1a85fc7bf2f98c1ceedfe8b6e0e00d93e060a9043ad8fe4e0d161732a37",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "ede2f8525e96e1cec10db18d2470385d113707c57e73fa88261f6045096b9139"
}
