{
  "aboutHtml": "<p>Το MiniMax Hailuo 2.3 Fast είναι το ονομαστικά προσδιορισμένο προφίλ Fast για παραγωγή βίντεο από εικόνα. Ξεκινήστε με συντεθειμένη εικόνα πρώτου καρέ και περιγράψτε πώς πρέπει να κινηθεί το θέμα ή η κάμερα. Μια στατική εικόνα προϊόντος, στάση χαρακτήρα ή καρέ storyboard δίνει στο πλάνο συγκεκριμένο οπτικό σημείο εκκίνησης.</p><h4>Προετοιμασία εικόνας και οδηγίας κίνησης</h4><p>Δώστε τετράγωνη εικόνα PNG ή JPEG μέσω URL HTTPS, με κάθε πλευρά μεταξύ 300 και 4.096 pixel. Το αρχείο εικόνας που λαμβάνεται δεν πρέπει να υπερβαίνει τα 20.000.000 byte. Κρατήστε την προτροπή μεταξύ 1 και 199 χαρακτήρων, εστιάζοντας σε μία ορατή δράση και στην κίνηση που έχει σημασία για το πλάνο.</p><h4>Παρακολούθηση του αποσπάσματος μέχρι την ολοκλήρωση</h4><p>Αυτό το προφίλ έχει ρυθμιστεί για ένα απόσπασμα MP4 768 × 768 με ονομαστική διάρκεια έξι δευτερολέπτων. Υποβάλετε το αίτημα μία φορά, αποθηκεύστε το επιστρεφόμενο ID και παρακολουθήστε εκείνο το αρχικό αίτημα μέχρι να ολοκληρωθεί. Κατεβάστε το επιστρεφόμενο βίντεο και διατηρήστε τις αναφερόμενες διαστάσεις και τη μετρημένη διάρκειά του μαζί με το αποτέλεσμα. Αν η έκβαση δημιουργίας είναι αβέβαιη, συνεχίστε τον έλεγχο του αρχικού αιτήματος αντί να το δημιουργήσετε ξανά.</p>",
  "aboutText": "Το MiniMax Hailuo 2.3 Fast είναι το ονομαστικά προσδιορισμένο προφίλ Fast για παραγωγή βίντεο από εικόνα. Ξεκινήστε με συντεθειμένη εικόνα πρώτου καρέ και περιγράψτε πώς πρέπει να κινηθεί το θέμα ή η κάμερα. Μια στατική εικόνα προϊόντος, στάση χαρακτήρα ή καρέ storyboard δίνει στο πλάνο συγκεκριμένο οπτικό σημείο εκκίνησης.\n\n### Προετοιμασία εικόνας και οδηγίας κίνησης\n\nΔώστε τετράγωνη εικόνα PNG ή JPEG μέσω URL HTTPS, με κάθε πλευρά μεταξύ 300 και 4.096 pixel. Το αρχείο εικόνας που λαμβάνεται δεν πρέπει να υπερβαίνει τα 20.000.000 byte. Κρατήστε την προτροπή μεταξύ 1 και 199 χαρακτήρων, εστιάζοντας σε μία ορατή δράση και στην κίνηση που έχει σημασία για το πλάνο.\n\n### Παρακολούθηση του αποσπάσματος μέχρι την ολοκλήρωση\n\nΑυτό το προφίλ έχει ρυθμιστεί για ένα απόσπασμα MP4 768 × 768 με ονομαστική διάρκεια έξι δευτερολέπτων. Υποβάλετε το αίτημα μία φορά, αποθηκεύστε το επιστρεφόμενο ID και παρακολουθήστε εκείνο το αρχικό αίτημα μέχρι να ολοκληρωθεί. Κατεβάστε το επιστρεφόμενο βίντεο και διατηρήστε τις αναφερόμενες διαστάσεις και τη μετρημένη διάρκειά του μαζί με το αποτέλεσμα. Αν η έκβαση δημιουργίας είναι αβέβαιη, συνεχίστε τον έλεγχο του αρχικού αιτήματος αντί να το δημιουργήσετε ξανά.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "3b4240c778d5c2c05b0fbbdbb95b871182c0254a9c80e4c6427f9a74877d0cd3",
    "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\">Hailuo 2.3 Fast</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-Fast</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=\"Ultra|videos|/v1/videos|MiniMax-Hailuo-2.3-Fast\">Βίντεο</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 Fast κινεί μια εικόνα πρώτου καρέ από σύντομη προτροπή κίνησης. Επιλέξτε αυτό το προφίλ εικόνας σε βίντεο για πλάνο προϊόντος, στάση χαρακτήρα ή στατικό καρέ storyboard.</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 Fast είναι το ονομαστικά προσδιορισμένο προφίλ Fast για παραγωγή βίντεο από εικόνα. Ξεκινήστε με συντεθειμένη εικόνα πρώτου καρέ και περιγράψτε πώς πρέπει να κινηθεί το θέμα ή η κάμερα. Μια στατική εικόνα προϊόντος, στάση χαρακτήρα ή καρέ storyboard δίνει στο πλάνο συγκεκριμένο οπτικό σημείο εκκίνησης.</p><h4>Προετοιμασία εικόνας και οδηγίας κίνησης</h4><p>Δώστε τετράγωνη εικόνα PNG ή JPEG μέσω URL HTTPS, με κάθε πλευρά μεταξύ 300 και 4.096 pixel. Το αρχείο εικόνας που λαμβάνεται δεν πρέπει να υπερβαίνει τα 20.000.000 byte. Κρατήστε την προτροπή μεταξύ 1 και 199 χαρακτήρων, εστιάζοντας σε μία ορατή δράση και στην κίνηση που έχει σημασία για το πλάνο.</p><h4>Παρακολούθηση του αποσπάσματος μέχρι την ολοκλήρωση</h4><p>Αυτό το προφίλ έχει ρυθμιστεί για ένα απόσπασμα MP4 768 × 768 με ονομαστική διάρκεια έξι δευτερολέπτων. Υποβάλετε το αίτημα μία φορά, αποθηκεύστε το επιστρεφόμενο ID και παρακολουθήστε εκείνο το αρχικό αίτημα μέχρι να ολοκληρωθεί. Κατεβάστε το επιστρεφόμενο βίντεο και διατηρήστε τις αναφερόμενες διαστάσεις και τη μετρημένη διάρκειά του μαζί με το αποτέλεσμα. Αν η έκβαση δημιουργίας είναι αβέβαιη, συνεχίστε τον έλεγχο του αρχικού αιτήματος αντί να το δημιουργήσετε ξανά.</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>, <code>image</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-Fast</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>Μέγιστο μήκος: 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</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\">first_frame_image</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>https_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.000.000</div><div>Τύποι MIME: image/png, image/jpeg</div><div>Ελάχιστη διάσταση: 300</div><div>Μέγιστη διάσταση: 4.096</div><div>Μόνο τετράγωνο: Ναι</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, first_frame_image</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, first_frame_image</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</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>199</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>first_frame_image</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>{&quot;type&quot;:&quot;https_url&quot;,&quot;format&quot;:[&quot;png&quot;,&quot;jpeg&quot;],&quot;dimensions&quot;:&quot;τετράγωνη εικόνα 300..4096 pixel&quot;,&quot;full_image_validation_before_send&quot;:true,&quot;maximum_file_bytes&quot;:20000000}</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, image</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>additional_properties</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>false</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>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.4</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-Fast</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-Fast · Προεπιλεγμένη διαμόρφωση</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,40 $</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-Fast</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-Fast · Προεπιλεγμένη διαμόρφωση</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,80 $</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-Fast</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-Fast · Προεπιλεγμένη διαμόρφωση</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,80 $</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-890-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-890-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · ακριβές διατηρημένο αίτημα δημιουργίας</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-890-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-890-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_IMAGE_URL:?Set the actual HTTPS first-frame image URL}&quot;\nexport AILOOT_IMAGE_URL\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-Fast&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;)\nfrom urllib.parse import urlsplit\nu=os.environ[&quot;AILOOT_IMAGE_URL&quot;]\nz=urlsplit(u)\nif z.scheme!=&quot;https&quot; or not z.netloc or z.username or z.password:raise SystemExit(&quot;Choose the actual HTTPS first-frame image URL&quot;)\np[&quot;first_frame_image&quot;]=u\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-891-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-891-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-891-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-891-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_STATUS_URL&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nif not isinstance(r.get(&#39;id&#39;),str) or not r[&#39;id&#39;]:raise SystemExit(&#39;Keep the original response and headers for reconciliation; no returned ID&#39;)\nPath(&#39;status-url.txt&#39;).write_text(&#39;https://api.ailoot.ai/v1/videos/&#39;+quote(r[&#39;id&#39;],safe=&#39;&#39;))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error &quot;$(cat status-url.txt)&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -D status-headers.txt -o status.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\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-892-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-892-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-892-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-892-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nif r.get(&#39;status&#39;)!=&#39;completed&#39;:raise SystemExit(&#39;Keep the original ID and read its status; never recreate an unknown job&#39;)\nif not isinstance(r.get(&#39;data&#39;),list) or not r[&#39;data&#39;]:raise SystemExit(&#39;Keep the complete original status; no completed outputs supplied&#39;)\nurls=[]\nfor i,u in enumerate(r.get(&#39;data&#39;,[])):\n    if not isinstance(u,str):raise SystemExit(&#39;Keep the original response; unexpected asset shape&#39;)\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin(&#39;https://api.ailoot.ai&#39;,path);z=urlsplit(u)\n    if z.scheme!=&#39;https&#39; or z.netloc!=&#39;api.ailoot.ai&#39; or z.username or z.password:raise SystemExit(&#39;Use the actual returned Ailoot owned content URL&#39;)\n    target=Path(&#39;owned-&#39;+label+&#39;.bin&#39;)\n    subprocess.run([&#39;curl&#39;,&#39;--fail-with-body&#39;,&#39;--silent&#39;,&#39;--show-error&#39;,u,&#39;-H&#39;,&#39;Authorization: Bearer &#39;+os.environ[&#39;AILOOT_API_KEY&#39;],&#39;-D&#39;,str(target)+&#39;.headers&#39;,&#39;-o&#39;,str(target)],check=True)\nprint(&#39;All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.&#39;)\nPY_ASSETS\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><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><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><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</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><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</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><code class=\"card-field-name\">status</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</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><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><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><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><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><code class=\"card-field-name\">error.code</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</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><code class=\"card-field-name\">error.message</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</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><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><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><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><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><code class=\"card-field-name\">width</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>integer</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><code class=\"card-field-name\">height</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>integer</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><code class=\"card-field-name\">operation_id</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td><td data-cell-label=\"Σημασία\"><span class=\"card-cell-label\">Σημασία</span>Επιστρέφεται όταν status=unknown· πραγματικό αρχικό δημόσιο ID λειτουργίας βίντεο</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">request_id</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td><td data-cell-label=\"Σημασία\"><span class=\"card-cell-label\">Σημασία</span>Προαιρετικό όταν status=unknown· επιστρέφεται μόνο αν η αρχική εργασία έχει ID αιτήματος</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>422 · <code>price_unavailable</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><tr><th data-cell-label=\"Απάντηση\" scope=\"row\"><span class=\"card-cell-label\">Απάντηση</span>200 · <code>video_result_unverified</code></th><td data-cell-label=\"Συνθήκη\"><span class=\"card-cell-label\">Συνθήκη</span>Η κατάσταση της αρχικής εργασίας Fast είναι άγνωστη· status=unknown και charge_pending_check=true</td><td data-cell-label=\"Επόμενο βήμα\"><span class=\"card-cell-label\">Επόμενο βήμα</span>Διατηρήστε τα πραγματικά id/operation_id και το προαιρετικό request_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=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=MiniMax-Hailuo-2.3-Fast&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3-Fast&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3-Fast</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-Fast&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3-Fast&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3-Fast</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "MiniMax-Hailuo-2.3-Fast",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "MiniMax-Hailuo-2.3-Fast",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|MiniMax-Hailuo-2.3-Fast",
      "ordinal": 0,
      "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": 422,
                "message": "The complete video request cannot be priced",
                "recovery": "Διατηρήστε την απόκριση· χρησιμοποιήστε το πλήρες, ακριβές προφίλ που έχει άδεια πρόσβασης και τη δημοσιευμένη κάρτα του. Αυτός ο κλάδος εκτελείται πριν από αποστολή στον πάροχο.",
                "type": "price_unavailable"
              },
              {
                "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"
              },
              {
                "code": "video_result_unverified",
                "condition": "Η κατάσταση της αρχικής εργασίας Fast είναι άγνωστη· status=unknown και charge_pending_check=true",
                "http_status": 200,
                "message": "The video result and its charge are being checked; do not resubmit this operation.",
                "recovery": "Διατηρήστε τα πραγματικά id/operation_id και το προαιρετικό request_id που επιστρέφονται· διαβάστε μόνο την αρχική εργασία. Μην επανυποβάλετε ποτέ το αίτημα.",
                "type": null
              }
            ],
            "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": "image_to_video",
                "required": [
                  "prompt",
                  "first_frame_image"
                ]
              }
            ],
            "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": [
              "image_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"
                },
                {
                  "description": "Επιστρέφεται όταν status=unknown· πραγματικό αρχικό δημόσιο ID λειτουργίας βίντεο",
                  "name": "operation_id",
                  "type": "string"
                },
                {
                  "description": "Προαιρετικό όταν status=unknown· επιστρέφεται μόνο αν η αρχική εργασία έχει ID αιτήματος",
                  "name": "request_id",
                  "type": "string"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 1,
              "status_enum": [
                "in_progress",
                "completed",
                "failed",
                "unknown"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3-Fast"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_bytes": null,
                "maximum_length": 199,
                "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"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_dimension": 4096,
                "maximum_file_bytes": 20000000,
                "mime_types": [
                  "image/png",
                  "image/jpeg"
                ],
                "minimum_dimension": 300,
                "name": "first_frame_image",
                "required": true,
                "square_only": true,
                "type": "https_url"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "everyfieldoutsideexactrequiredprofile"
            ]
          },
          "hints": [
            "Δημιουργήστε μία φορά και αποθηκεύστε το ID που επιστρέφεται.",
            "Ελέγχετε περιοδικά την αρχική κατάσταση· διατηρήστε κάθε ολοκληρωμένο αρχείο πολυμέσων και τη διάρκειά του."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "duration": [
              6
            ],
            "first_frame_image": {
              "dimensions": "τετράγωνη εικόνα 300..4096 pixel",
              "format": [
                "png",
                "jpeg"
              ],
              "full_image_validation_before_send": true,
              "maximum_file_bytes": 20000000,
              "type": "https_url"
            },
            "material_types": [
              "text",
              "image"
            ],
            "other_options": false,
            "prompt_max_characters": 199,
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution",
              "first_frame_image"
            ],
            "resolution": [
              "768P"
            ]
          },
          "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": "Read existing original job; never resubmit unknown send.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "image_to_video"
          ],
          "output": {
            "all_results": "Completed data[] contains all owned signed content URLs. Fetch each returned URL, or use the content endpoint with index set to an actual output index. A failed original job may return charge_pending_check; check that original job rather than creating it again.",
            "create_status": 202,
            "dimensions": {
              "height": 768,
              "width": 768
            },
            "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"
              },
              {
                "description": "Returned when status=unknown; actual original public video operation ID",
                "name": "operation_id",
                "type": "string"
              },
              {
                "description": "Optional when status=unknown; returned only if the original task has a request ID",
                "name": "request_id",
                "type": "string"
              }
            ],
            "format": "mp4",
            "maximum_outputs": 1,
            "status_enum": [
              "in_progress",
              "completed",
              "failed",
              "unknown"
            ]
          }
        },
        "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": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.4",
                "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.4",
                "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}\"\n: \"${AILOOT_IMAGE_URL:?Set the actual HTTPS first-frame image URL}\"\nexport AILOOT_IMAGE_URL\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3-Fast\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"768P\"}')\nfrom urllib.parse import urlsplit\nu=os.environ[\"AILOOT_IMAGE_URL\"]\nz=urlsplit(u)\nif z.scheme!=\"https\" or not z.netloc or z.username or z.password:raise SystemExit(\"Choose the actual HTTPS first-frame image URL\")\np[\"first_frame_image\"]=u\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 · exact retained creation",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);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 returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "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",
          "image"
        ],
        "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_768p_6s_clip": 0.4
          }
        },
        "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": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.4",
                "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.4",
                "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-Fast",
        "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": "0.4",
            "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.4",
            "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-Fast",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "a931a3d65c8dbb71c51fcb200645134ba714271ef6c3a19d08b512f084b51f16",
    "input_html_sha256": "ece49491eb3369257f4d1151d14a02bb7eeb7f6916a46d94d0088fc605f14d65",
    "private_audit_sha256": "82a6ab7ddae20ef9769c9254f9f6df1b29af50ef424f2fb9fc9109f598264155",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/minimax-hailuo-2-3-fast/",
    "description": "Το MiniMax Hailuo 2.3 Fast κινεί μια εικόνα πρώτου καρέ από σύντομη προτροπή κίνησης. Επιλέξτε αυτό το προφίλ εικόνας σε βίντεο για πλάνο προϊόντος, στάση χαρακτήρα ή στατικό καρέ storyboard.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/minimax-hailuo-2-3-fast/index.md",
    "title": "Hailuo 2.3 Fast — Ailoot",
    "url": "https://ailoot.ai/models/el/minimax-hailuo-2-3-fast/"
  },
  "rawModel": {
    "about": "Το MiniMax Hailuo 2.3 Fast είναι το ονομαστικά προσδιορισμένο προφίλ Fast για παραγωγή βίντεο από εικόνα. Ξεκινήστε με συντεθειμένη εικόνα πρώτου καρέ και περιγράψτε πώς πρέπει να κινηθεί το θέμα ή η κάμερα. Μια στατική εικόνα προϊόντος, στάση χαρακτήρα ή καρέ storyboard δίνει στο πλάνο συγκεκριμένο οπτικό σημείο εκκίνησης.\n\n### Προετοιμασία εικόνας και οδηγίας κίνησης\n\nΔώστε τετράγωνη εικόνα PNG ή JPEG μέσω URL HTTPS, με κάθε πλευρά μεταξύ 300 και 4.096 pixel. Το αρχείο εικόνας που λαμβάνεται δεν πρέπει να υπερβαίνει τα 20.000.000 byte. Κρατήστε την προτροπή μεταξύ 1 και 199 χαρακτήρων, εστιάζοντας σε μία ορατή δράση και στην κίνηση που έχει σημασία για το πλάνο.\n\n### Παρακολούθηση του αποσπάσματος μέχρι την ολοκλήρωση\n\nΑυτό το προφίλ έχει ρυθμιστεί για ένα απόσπασμα MP4 768 × 768 με ονομαστική διάρκεια έξι δευτερολέπτων. Υποβάλετε το αίτημα μία φορά, αποθηκεύστε το επιστρεφόμενο ID και παρακολουθήστε εκείνο το αρχικό αίτημα μέχρι να ολοκληρωθεί. Κατεβάστε το επιστρεφόμενο βίντεο και διατηρήστε τις αναφερόμενες διαστάσεις και τη μετρημένη διάρκειά του μαζί με το αποτέλεσμα. Αν η έκβαση δημιουργίας είναι αβέβαιη, συνεχίστε τον έλεγχο του αρχικού αιτήματος αντί να το δημιουργήσετε ξανά.",
    "alias_of": null,
    "aliases": [],
    "author": "MiniMax",
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.4",
            "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.4",
            "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": "a7fb828112d4f8512a6c",
        "label": "MiniMax-Hailuo-2.3-Fast",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Προεπιλεγμένη διαμόρφωση"
            },
            "label": "MiniMax-Hailuo-2.3-Fast · Προεπιλεγμένη διαμόρφωση",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "80fe70316d9250227dcf82af",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "0.4",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "82631df9afee57af2f6c8804",
                "label": "Output",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "out",
                "unit": "次"
              }
            ]
          }
        ]
      },
      {
        "client_selectable": false,
        "key": "7b0f29fa413532e53099",
        "label": "MiniMax-Hailuo-2.3-Fast",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Προεπιλεγμένη διαμόρφωση"
            },
            "label": "MiniMax-Hailuo-2.3-Fast · Προεπιλεγμένη διαμόρφωση",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "8578b82c69e8df4c42f68460",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "0.8",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "839fc651d2a5ed215bbf477c",
                "label": "Output",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "out",
                "unit": "次"
              }
            ]
          }
        ]
      },
      {
        "client_selectable": false,
        "key": "0f52b1d0f07e48b8e889",
        "label": "MiniMax-Hailuo-2.3-Fast",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Default configuration"
            },
            "label": "MiniMax-Hailuo-2.3-Fast · Default configuration",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "8768b8eaaf4b4cf626af1f43",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "0.8",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "be39469cb01d943ec9d6b9ab",
                "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-Fast",
    "input": [
      "text",
      "image"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "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": 422,
                "message": "The complete video request cannot be priced",
                "recovery": "Διατηρήστε την απόκριση· χρησιμοποιήστε το πλήρες, ακριβές προφίλ που έχει άδεια πρόσβασης και τη δημοσιευμένη κάρτα του. Αυτός ο κλάδος εκτελείται πριν από αποστολή στον πάροχο.",
                "type": "price_unavailable"
              },
              {
                "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"
              },
              {
                "code": "video_result_unverified",
                "condition": "Η κατάσταση της αρχικής εργασίας Fast είναι άγνωστη· status=unknown και charge_pending_check=true",
                "http_status": 200,
                "message": "The video result and its charge are being checked; do not resubmit this operation.",
                "recovery": "Διατηρήστε τα πραγματικά id/operation_id και το προαιρετικό request_id που επιστρέφονται· διαβάστε μόνο την αρχική εργασία. Μην επανυποβάλετε ποτέ το αίτημα.",
                "type": null
              }
            ],
            "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": "image_to_video",
                "required": [
                  "prompt",
                  "first_frame_image"
                ]
              }
            ],
            "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": [
              "image_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"
                },
                {
                  "description": "Επιστρέφεται όταν status=unknown· πραγματικό αρχικό δημόσιο ID λειτουργίας βίντεο",
                  "name": "operation_id",
                  "type": "string"
                },
                {
                  "description": "Προαιρετικό όταν status=unknown· επιστρέφεται μόνο αν η αρχική εργασία έχει ID αιτήματος",
                  "name": "request_id",
                  "type": "string"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 1,
              "status_enum": [
                "in_progress",
                "completed",
                "failed",
                "unknown"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3-Fast"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_bytes": null,
                "maximum_length": 199,
                "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"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_dimension": 4096,
                "maximum_file_bytes": 20000000,
                "mime_types": [
                  "image/png",
                  "image/jpeg"
                ],
                "minimum_dimension": 300,
                "name": "first_frame_image",
                "required": true,
                "square_only": true,
                "type": "https_url"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "everyfieldoutsideexactrequiredprofile"
            ]
          },
          "hints": [
            "Δημιουργήστε μία φορά και αποθηκεύστε το ID που επιστρέφεται.",
            "Ελέγχετε περιοδικά την αρχική κατάσταση· διατηρήστε κάθε ολοκληρωμένο αρχείο πολυμέσων και τη διάρκειά του."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "duration": [
              6
            ],
            "first_frame_image": {
              "dimensions": "τετράγωνη εικόνα 300..4096 pixel",
              "format": [
                "png",
                "jpeg"
              ],
              "full_image_validation_before_send": true,
              "maximum_file_bytes": 20000000,
              "type": "https_url"
            },
            "material_types": [
              "text",
              "image"
            ],
            "other_options": false,
            "prompt_max_characters": 199,
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution",
              "first_frame_image"
            ],
            "resolution": [
              "768P"
            ]
          },
          "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": "Read existing original job; never resubmit unknown send.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "image_to_video"
          ],
          "output": {
            "all_results": "Completed data[] contains all owned signed content URLs. Fetch each returned URL, or use the content endpoint with index set to an actual output index. A failed original job may return charge_pending_check; check that original job rather than creating it again.",
            "create_status": 202,
            "dimensions": {
              "height": 768,
              "width": 768
            },
            "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"
              },
              {
                "description": "Returned when status=unknown; actual original public video operation ID",
                "name": "operation_id",
                "type": "string"
              },
              {
                "description": "Optional when status=unknown; returned only if the original task has a request ID",
                "name": "request_id",
                "type": "string"
              }
            ],
            "format": "mp4",
            "maximum_outputs": 1,
            "status_enum": [
              "in_progress",
              "completed",
              "failed",
              "unknown"
            ]
          }
        },
        "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": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.4",
                "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.4",
                "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}\"\n: \"${AILOOT_IMAGE_URL:?Set the actual HTTPS first-frame image URL}\"\nexport AILOOT_IMAGE_URL\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3-Fast\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"768P\"}')\nfrom urllib.parse import urlsplit\nu=os.environ[\"AILOOT_IMAGE_URL\"]\nz=urlsplit(u)\nif z.scheme!=\"https\" or not z.netloc or z.username or z.password:raise SystemExit(\"Choose the actual HTTPS first-frame image URL\")\np[\"first_frame_image\"]=u\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 · exact retained creation",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);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 returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "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",
          "image"
        ],
        "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_768p_6s_clip": 0.4
          }
        },
        "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": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.4",
                "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.4",
                "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-Fast",
        "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": "0.4",
            "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.4",
            "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-Fast",
        "request_model_id": "MiniMax-Hailuo-2.3-Fast",
        "route_label": "Ultra"
      }
    ],
    "name": "Hailuo 2.3 Fast",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.4,
      "out_label": "per nominal 6s output clip",
      "sort_in": null,
      "sort_out": 0.4,
      "varies": true
    },
    "short": "Το MiniMax Hailuo 2.3 Fast κινεί μια εικόνα πρώτου καρέ από σύντομη προτροπή κίνησης. Επιλέξτε αυτό το προφίλ εικόνας σε βίντεο για πλάνο προϊόντος, στάση χαρακτήρα ή στατικό καρέ storyboard."
  },
  "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
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/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 Fast κινεί μια εικόνα πρώτου καρέ από σύντομη προτροπή κίνησης. Επιλέξτε αυτό το προφίλ εικόνας σε βίντεο για πλάνο προϊόντος, στάση χαρακτήρα ή στατικό καρέ storyboard.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "9679fd559a6937e6f4e11b2874a7a358e8584dda29cc85e2ac048414cd6b9523",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "8ffeedd6c4d7577a0e2bb6f21e012812f9b606e4d51081cb088bf1bc2adef767"
}
