{
  "aboutHtml": "<p>Το Microsoft AI MAI-Image-2.6 είναι η έκδοση της οικογένειας εικόνων 2.6 με έμφαση στην ακρίβεια, σχεδιασμένη για δημιουργία εικόνας από κείμενο και ελεγχόμενη επεξεργασία υπαρχόντων οπτικών αρχείων. Η κάρτα μοντέλου του περιγράφει μοντέλο διάχυσης με flow matching, 20 δισεκατομμύρια παραμέτρους εκτός embeddings και συμφραζόμενα 32K token. Η επιδιωκόμενη έξοδος είναι εικόνα: σύνθεση προϊόντος, πορτρέτο, επώνυμη εικονογράφηση ή αναθεωρημένο οπτικό αποτέλεσμα του οποίου η διάταξη και τα βασικά θέματα παραμένουν συνεπή όσο αλλάζει συγκεκριμένο στοιχείο.</p><p>Για δημιουργία, περιγράψτε το θέμα, τη σύνθεση, τα υλικά, το φως, την οπτική γωνία και το οπτικό ύφος. Συμπεριλάβετε ακριβή διατύπωση όταν πρέπει να εμφανίζεται ετικέτα, τίτλος ή πινακίδα στην εικόνα και περιγράψτε πού ανήκει. Ο κατασκευαστής τονίζει την ισχυρότερη απόδοση κειμένου, πορτρέτων, εικόνων 3D και εμπορικών ή φωτορεαλιστικών αποτελεσμάτων σε αυτή την έκδοση. Μια χρήσιμη περιγραφή προσδιορίζει τις λίγες σχέσεις που κάνουν την εικόνα να λειτουργεί: ποιο αντικείμενο προβάλλεται στο προσκήνιο, πώς εντάσσεται στη σκηνή και πού πρέπει να κοιτάξει πρώτα το κοινό. Εξετάστε μικρά γράμματα και λεπτομέρειες στην ολοκληρωμένη εικόνα.</p><p>Για επεξεργασία, δώστε το αρχικό οπτικό αρχείο και δηλώστε την αλλαγή μαζί με τα μέρη που θα διατηρηθούν. Οι τεκμηριωμένες εργασίες περιλαμβάνουν αφαίρεση ή αντικατάσταση αντικειμένων, αλλαγές ιδιοτήτων, inpainting, προσαρμογή διάταξης, ενημέρωση κειμένου και καθαρισμό ατελειών όπως θόλωση κίνησης. Η κάρτα μοντέλου τονίζει τη συλλογιστική σε κλίμακα, προοπτική, φωτισμό και χωρική τοποθέτηση, ώστε η αναθεώρηση να ταιριάζει στην υπάρχουσα σκηνή. Ως προετοιμασία, προσδιορίστε καθαρά το αντικείμενο ή την περιοχή και εξηγήστε αν στόχος είναι τοπική διόρθωση, διαφορετική διάταξη ή ευρύτερη αλλαγή ύφους.</p><p>Ο οδηγός επεξεργασίας εικόνων του κατασκευαστή δέχεται έως πέντε αναφορές JPEG ή PNG. Δώστε σε κάθε εικόνα διακριτό ρόλο, όπως προϊόν, πρόσωπο, περιβάλλον, διάταξη ή οπτικό ύφος. Για επεξεργασία φωτισμού, τοποθετήστε ένα φωτιστικό από μία αναφορά στο γραφείο μιας άλλης, διατηρώντας την προοπτική του γραφείου και κάνοντας τη σκιά του φωτιστικού να ακολουθεί το φως του δωματίου. Μια χωριστή αναθεώρηση μπορεί να ενημερώνει σύντομη ετικέτα διατηρώντας το σχήμα και τη θέση προϊόντος. Ελέγξτε τις σχέσεις αναφορών στο αποτέλεσμα αντί να αποδέχεστε εύλογο αντικείμενο που διαφέρει από το παρεχόμενο.</p><p>Η οικογένεια 2.6 προσθέτει προαιρετική τεκμηρίωση από τον ιστό και επιλογή αναλογίας διαστάσεων από το μοντέλο. Η τεκμηρίωση από τον ιστό παρέχει σχετικό τρέχον πλαίσιο κατά την ερμηνεία αιτήματος που αφορά πραγματικό τόπο, αντικείμενο ή μεταβαλλόμενες πληροφορίες. Είναι δημιουργική είσοδος, επομένως ελέγξτε τις πραγματολογικές οπτικές λεπτομέρειες έναντι του επιδιωκόμενου θέματος. Η αυτόματη επιλογή αναλογίας επιτρέπει στο μοντέλο να συνεκτιμά προτροπή και εικόνες κατά την επιλογή σχήματος σύνθεσης. Μια σχεδιαστική περιγραφή μπορεί να καθορίζει προορισμό και απαιτούμενη διάταξη: για παράδειγμα, πλατιά κεντρική εικόνα προϊόντος με ελεύθερο χώρο στη μία πλευρά ή κάθετη εικόνα γύρω από όρθιο θέμα.</p><p>Το μέγεθος εξόδου διέπεται από το συνολικό εμβαδόν. Η συγκεκριμένη κάρτα μοντέλου και ο οδηγός εικόνας αναφέρουν μέγιστο 2,359,296 pixel, ισοδύναμο με τετράγωνο 1536×1536. Η τεκμηριωμένη διεπαφή εικόνας απαιτεί πλάτος και ύψος τουλάχιστον 768 pixel και οποιαδήποτε διάσταση μπορεί να υπερβαίνει τα 1536, εφόσον το σύνολο παραμένει εντός ορίου εμβαδού. Αυτό επιτρέπει πιο μακρόστενη οριζόντια ή κάθετη σύνθεση, αντί να επιβάλλει μέγιστο 1536 pixel σε κάθε πλευρά. Για παράδειγμα, στόχος 1024×2048 έχει 2,097,152 pixel και ικανοποιεί αυτόν τον τεκμηριωμένο κανόνα εμβαδού. Ελέγξτε τις τελικές διαστάσεις για τη διάταξη που θα χρησιμοποιήσει την εικόνα.</p><p>Ο οδηγός του κατασκευαστή επιστρέφει παραγόμενα και επεξεργασμένα αποτελέσματα ως δεδομένα εικόνας PNG. Κρατήστε την ολοκληρωμένη εικόνα δίπλα στην περιγραφή και τις αρχικές αναφορές όταν προετοιμάζετε σχεδιαστική αναθεώρηση. Η κάρτα μοντέλου αναφέρει συμφραζόμενα 32K token, ενώ ο οδηγός εξυπηρέτησης ορίζει μέγιστα συμφραζόμενα προτροπής 32,000 token· διατηρήστε αυτά τα δηλωμένα πεδία ισχύος όταν προετοιμάζετε μεγάλη περιγραφή, αντί να τα αντιμετωπίζετε ως διαστάσεις εικόνας. Το χρήσιμο παραδοτέο παραγωγής είναι η αποκωδικοποιημένη εικόνα, που μπορεί να ελεγχθεί και να τοποθετηθεί σε σελίδα, διαφάνεια ή σύνθεση. Καταγράψτε μαζί της την επιθυμητή περικοπή και τη θέση κειμένου, ώστε μετέπειτα επεξεργασίες να μην αλλάζουν κατά λάθος τον σκοπό του σχεδιασμού.</p><p>Μέσα στην οικογένεια, το MAI-Image-2.6 δίνει έμφαση στον ακριβή έλεγχο και τις τελευταίες βελτιώσεις οπτικής λεπτομέρειας. Το MAI-Image-2.6-Flash παρέχει τις ίδιες δυνατότητες δημιουργίας, επεξεργασίας, τεκμηρίωσης και επιλογής αναλογίας σε έκδοση βελτιστοποιημένη για άμεση, επαναλαμβανόμενη παραγωγή. Η σειρά 2.5 χρησιμοποιεί μικρότερο τεκμηριωμένο όριο εμβαδού εξόδου και δεν κληρονομεί τους ελέγχους τεκμηρίωσης ή αυτόματης αναλογίας της 2.6. Επιλέξτε έκδοση σύμφωνα με την απαιτούμενη εικόνα και τη διαδικασία αναθεώρησης, αντί να υποθέτετε ότι κοινό οικογενειακό όνομα κάνει κάθε ρύθμιση ίδια.</p><p>Ελέγξτε μια επεξεργασία έναντι ολόκληρης της πηγής: διατηρημένα πρόσωπα, ταυτότητα αντικειμένων, γεωμετρία, σκιές, γράμματα και επιθυμητή διάταξη έχουν όλα σημασία. Μια πειστική φωτογραφία μπορεί και πάλι να περιέχει λάθος σήμανση, ασυνεπή αντανάκλαση ή αλλαγμένο χαρακτηριστικό εκτός της ζητούμενης επεξεργασίας. Κρατήστε συγκεκριμένη την επόμενη διόρθωση, όπως ετικέτα, θέση αντικειμένου ή συγκεκριμένη ατέλεια. Αυτό κάνει χρήσιμη την επαναληπτική επεξεργασία διατηρώντας το θέμα και τη σύνθεση της αρχικής περιγραφής.</p>",
  "aboutText": "Το Microsoft AI MAI-Image-2.6 είναι η έκδοση της οικογένειας εικόνων 2.6 με έμφαση στην ακρίβεια, σχεδιασμένη για δημιουργία εικόνας από κείμενο και ελεγχόμενη επεξεργασία υπαρχόντων οπτικών αρχείων. Η κάρτα μοντέλου του περιγράφει μοντέλο διάχυσης με flow matching, 20 δισεκατομμύρια παραμέτρους εκτός embeddings και συμφραζόμενα 32K token. Η επιδιωκόμενη έξοδος είναι εικόνα: σύνθεση προϊόντος, πορτρέτο, επώνυμη εικονογράφηση ή αναθεωρημένο οπτικό αποτέλεσμα του οποίου η διάταξη και τα βασικά θέματα παραμένουν συνεπή όσο αλλάζει συγκεκριμένο στοιχείο.\n\nΓια δημιουργία, περιγράψτε το θέμα, τη σύνθεση, τα υλικά, το φως, την οπτική γωνία και το οπτικό ύφος. Συμπεριλάβετε ακριβή διατύπωση όταν πρέπει να εμφανίζεται ετικέτα, τίτλος ή πινακίδα στην εικόνα και περιγράψτε πού ανήκει. Ο κατασκευαστής τονίζει την ισχυρότερη απόδοση κειμένου, πορτρέτων, εικόνων 3D και εμπορικών ή φωτορεαλιστικών αποτελεσμάτων σε αυτή την έκδοση. Μια χρήσιμη περιγραφή προσδιορίζει τις λίγες σχέσεις που κάνουν την εικόνα να λειτουργεί: ποιο αντικείμενο προβάλλεται στο προσκήνιο, πώς εντάσσεται στη σκηνή και πού πρέπει να κοιτάξει πρώτα το κοινό. Εξετάστε μικρά γράμματα και λεπτομέρειες στην ολοκληρωμένη εικόνα.\n\nΓια επεξεργασία, δώστε το αρχικό οπτικό αρχείο και δηλώστε την αλλαγή μαζί με τα μέρη που θα διατηρηθούν. Οι τεκμηριωμένες εργασίες περιλαμβάνουν αφαίρεση ή αντικατάσταση αντικειμένων, αλλαγές ιδιοτήτων, inpainting, προσαρμογή διάταξης, ενημέρωση κειμένου και καθαρισμό ατελειών όπως θόλωση κίνησης. Η κάρτα μοντέλου τονίζει τη συλλογιστική σε κλίμακα, προοπτική, φωτισμό και χωρική τοποθέτηση, ώστε η αναθεώρηση να ταιριάζει στην υπάρχουσα σκηνή. Ως προετοιμασία, προσδιορίστε καθαρά το αντικείμενο ή την περιοχή και εξηγήστε αν στόχος είναι τοπική διόρθωση, διαφορετική διάταξη ή ευρύτερη αλλαγή ύφους.\n\nΟ οδηγός επεξεργασίας εικόνων του κατασκευαστή δέχεται έως πέντε αναφορές JPEG ή PNG. Δώστε σε κάθε εικόνα διακριτό ρόλο, όπως προϊόν, πρόσωπο, περιβάλλον, διάταξη ή οπτικό ύφος. Για επεξεργασία φωτισμού, τοποθετήστε ένα φωτιστικό από μία αναφορά στο γραφείο μιας άλλης, διατηρώντας την προοπτική του γραφείου και κάνοντας τη σκιά του φωτιστικού να ακολουθεί το φως του δωματίου. Μια χωριστή αναθεώρηση μπορεί να ενημερώνει σύντομη ετικέτα διατηρώντας το σχήμα και τη θέση προϊόντος. Ελέγξτε τις σχέσεις αναφορών στο αποτέλεσμα αντί να αποδέχεστε εύλογο αντικείμενο που διαφέρει από το παρεχόμενο.\n\nΗ οικογένεια 2.6 προσθέτει προαιρετική τεκμηρίωση από τον ιστό και επιλογή αναλογίας διαστάσεων από το μοντέλο. Η τεκμηρίωση από τον ιστό παρέχει σχετικό τρέχον πλαίσιο κατά την ερμηνεία αιτήματος που αφορά πραγματικό τόπο, αντικείμενο ή μεταβαλλόμενες πληροφορίες. Είναι δημιουργική είσοδος, επομένως ελέγξτε τις πραγματολογικές οπτικές λεπτομέρειες έναντι του επιδιωκόμενου θέματος. Η αυτόματη επιλογή αναλογίας επιτρέπει στο μοντέλο να συνεκτιμά προτροπή και εικόνες κατά την επιλογή σχήματος σύνθεσης. Μια σχεδιαστική περιγραφή μπορεί να καθορίζει προορισμό και απαιτούμενη διάταξη: για παράδειγμα, πλατιά κεντρική εικόνα προϊόντος με ελεύθερο χώρο στη μία πλευρά ή κάθετη εικόνα γύρω από όρθιο θέμα.\n\nΤο μέγεθος εξόδου διέπεται από το συνολικό εμβαδόν. Η συγκεκριμένη κάρτα μοντέλου και ο οδηγός εικόνας αναφέρουν μέγιστο 2,359,296 pixel, ισοδύναμο με τετράγωνο 1536×1536. Η τεκμηριωμένη διεπαφή εικόνας απαιτεί πλάτος και ύψος τουλάχιστον 768 pixel και οποιαδήποτε διάσταση μπορεί να υπερβαίνει τα 1536, εφόσον το σύνολο παραμένει εντός ορίου εμβαδού. Αυτό επιτρέπει πιο μακρόστενη οριζόντια ή κάθετη σύνθεση, αντί να επιβάλλει μέγιστο 1536 pixel σε κάθε πλευρά. Για παράδειγμα, στόχος 1024×2048 έχει 2,097,152 pixel και ικανοποιεί αυτόν τον τεκμηριωμένο κανόνα εμβαδού. Ελέγξτε τις τελικές διαστάσεις για τη διάταξη που θα χρησιμοποιήσει την εικόνα.\n\nΟ οδηγός του κατασκευαστή επιστρέφει παραγόμενα και επεξεργασμένα αποτελέσματα ως δεδομένα εικόνας PNG. Κρατήστε την ολοκληρωμένη εικόνα δίπλα στην περιγραφή και τις αρχικές αναφορές όταν προετοιμάζετε σχεδιαστική αναθεώρηση. Η κάρτα μοντέλου αναφέρει συμφραζόμενα 32K token, ενώ ο οδηγός εξυπηρέτησης ορίζει μέγιστα συμφραζόμενα προτροπής 32,000 token· διατηρήστε αυτά τα δηλωμένα πεδία ισχύος όταν προετοιμάζετε μεγάλη περιγραφή, αντί να τα αντιμετωπίζετε ως διαστάσεις εικόνας. Το χρήσιμο παραδοτέο παραγωγής είναι η αποκωδικοποιημένη εικόνα, που μπορεί να ελεγχθεί και να τοποθετηθεί σε σελίδα, διαφάνεια ή σύνθεση. Καταγράψτε μαζί της την επιθυμητή περικοπή και τη θέση κειμένου, ώστε μετέπειτα επεξεργασίες να μην αλλάζουν κατά λάθος τον σκοπό του σχεδιασμού.\n\nΜέσα στην οικογένεια, το MAI-Image-2.6 δίνει έμφαση στον ακριβή έλεγχο και τις τελευταίες βελτιώσεις οπτικής λεπτομέρειας. Το MAI-Image-2.6-Flash παρέχει τις ίδιες δυνατότητες δημιουργίας, επεξεργασίας, τεκμηρίωσης και επιλογής αναλογίας σε έκδοση βελτιστοποιημένη για άμεση, επαναλαμβανόμενη παραγωγή. Η σειρά 2.5 χρησιμοποιεί μικρότερο τεκμηριωμένο όριο εμβαδού εξόδου και δεν κληρονομεί τους ελέγχους τεκμηρίωσης ή αυτόματης αναλογίας της 2.6. Επιλέξτε έκδοση σύμφωνα με την απαιτούμενη εικόνα και τη διαδικασία αναθεώρησης, αντί να υποθέτετε ότι κοινό οικογενειακό όνομα κάνει κάθε ρύθμιση ίδια.\n\nΕλέγξτε μια επεξεργασία έναντι ολόκληρης της πηγής: διατηρημένα πρόσωπα, ταυτότητα αντικειμένων, γεωμετρία, σκιές, γράμματα και επιθυμητή διάταξη έχουν όλα σημασία. Μια πειστική φωτογραφία μπορεί και πάλι να περιέχει λάθος σήμανση, ασυνεπή αντανάκλαση ή αλλαγμένο χαρακτηριστικό εκτός της ζητούμενης επεξεργασίας. Κρατήστε συγκεκριμένη την επόμενη διόρθωση, όπως ετικέτα, θέση αντικειμένου ή συγκεκριμένη ατέλεια. Αυτό κάνει χρήσιμη την επαναληπτική επεξεργασία διατηρώντας το θέμα και τη σύνθεση της αρχικής περιγραφής.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "dbc55f3a1afed0a65510fbf9fd56025381bb0b67a9395250d72d94cdef559cf1",
    "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\">•</span><h2 id=\"sheet-title\">Microsoft AI: MAI-Image-2.6</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>Microsoft AI /</span><code>microsoft/mai-image-2.6</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|images|/v1/images/generations|microsoft%2Fmai-image-2.6\">Εικόνες</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\">Το Microsoft AI MAI-Image-2.6 δημιουργεί και επεξεργάζεται εικόνες για σχεδιασμό ακριβείας. Συνδυάζει κείμενο με έως πέντε οπτικές αναφορές, υποστηρίζει προαιρετική τεκμηρίωση από τον ιστό και αυτόματη επιλογή μεγέθους σύνθεσης και παράγει εικόνες PNG έως 2,359,296 pixel. Δίνει έμφαση σε ελεγχόμενες επεξεργασίες, κείμενο, πορτρέτα και εμπορικές εικόνες.</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>Το Microsoft AI MAI-Image-2.6 είναι η έκδοση της οικογένειας εικόνων 2.6 με έμφαση στην ακρίβεια, σχεδιασμένη για δημιουργία εικόνας από κείμενο και ελεγχόμενη επεξεργασία υπαρχόντων οπτικών αρχείων. Η κάρτα μοντέλου του περιγράφει μοντέλο διάχυσης με flow matching, 20 δισεκατομμύρια παραμέτρους εκτός embeddings και συμφραζόμενα 32K token. Η επιδιωκόμενη έξοδος είναι εικόνα: σύνθεση προϊόντος, πορτρέτο, επώνυμη εικονογράφηση ή αναθεωρημένο οπτικό αποτέλεσμα του οποίου η διάταξη και τα βασικά θέματα παραμένουν συνεπή όσο αλλάζει συγκεκριμένο στοιχείο.</p><p>Για δημιουργία, περιγράψτε το θέμα, τη σύνθεση, τα υλικά, το φως, την οπτική γωνία και το οπτικό ύφος. Συμπεριλάβετε ακριβή διατύπωση όταν πρέπει να εμφανίζεται ετικέτα, τίτλος ή πινακίδα στην εικόνα και περιγράψτε πού ανήκει. Ο κατασκευαστής τονίζει την ισχυρότερη απόδοση κειμένου, πορτρέτων, εικόνων 3D και εμπορικών ή φωτορεαλιστικών αποτελεσμάτων σε αυτή την έκδοση. Μια χρήσιμη περιγραφή προσδιορίζει τις λίγες σχέσεις που κάνουν την εικόνα να λειτουργεί: ποιο αντικείμενο προβάλλεται στο προσκήνιο, πώς εντάσσεται στη σκηνή και πού πρέπει να κοιτάξει πρώτα το κοινό. Εξετάστε μικρά γράμματα και λεπτομέρειες στην ολοκληρωμένη εικόνα.</p><p>Για επεξεργασία, δώστε το αρχικό οπτικό αρχείο και δηλώστε την αλλαγή μαζί με τα μέρη που θα διατηρηθούν. Οι τεκμηριωμένες εργασίες περιλαμβάνουν αφαίρεση ή αντικατάσταση αντικειμένων, αλλαγές ιδιοτήτων, inpainting, προσαρμογή διάταξης, ενημέρωση κειμένου και καθαρισμό ατελειών όπως θόλωση κίνησης. Η κάρτα μοντέλου τονίζει τη συλλογιστική σε κλίμακα, προοπτική, φωτισμό και χωρική τοποθέτηση, ώστε η αναθεώρηση να ταιριάζει στην υπάρχουσα σκηνή. Ως προετοιμασία, προσδιορίστε καθαρά το αντικείμενο ή την περιοχή και εξηγήστε αν στόχος είναι τοπική διόρθωση, διαφορετική διάταξη ή ευρύτερη αλλαγή ύφους.</p><p>Ο οδηγός επεξεργασίας εικόνων του κατασκευαστή δέχεται έως πέντε αναφορές JPEG ή PNG. Δώστε σε κάθε εικόνα διακριτό ρόλο, όπως προϊόν, πρόσωπο, περιβάλλον, διάταξη ή οπτικό ύφος. Για επεξεργασία φωτισμού, τοποθετήστε ένα φωτιστικό από μία αναφορά στο γραφείο μιας άλλης, διατηρώντας την προοπτική του γραφείου και κάνοντας τη σκιά του φωτιστικού να ακολουθεί το φως του δωματίου. Μια χωριστή αναθεώρηση μπορεί να ενημερώνει σύντομη ετικέτα διατηρώντας το σχήμα και τη θέση προϊόντος. Ελέγξτε τις σχέσεις αναφορών στο αποτέλεσμα αντί να αποδέχεστε εύλογο αντικείμενο που διαφέρει από το παρεχόμενο.</p><p>Η οικογένεια 2.6 προσθέτει προαιρετική τεκμηρίωση από τον ιστό και επιλογή αναλογίας διαστάσεων από το μοντέλο. Η τεκμηρίωση από τον ιστό παρέχει σχετικό τρέχον πλαίσιο κατά την ερμηνεία αιτήματος που αφορά πραγματικό τόπο, αντικείμενο ή μεταβαλλόμενες πληροφορίες. Είναι δημιουργική είσοδος, επομένως ελέγξτε τις πραγματολογικές οπτικές λεπτομέρειες έναντι του επιδιωκόμενου θέματος. Η αυτόματη επιλογή αναλογίας επιτρέπει στο μοντέλο να συνεκτιμά προτροπή και εικόνες κατά την επιλογή σχήματος σύνθεσης. Μια σχεδιαστική περιγραφή μπορεί να καθορίζει προορισμό και απαιτούμενη διάταξη: για παράδειγμα, πλατιά κεντρική εικόνα προϊόντος με ελεύθερο χώρο στη μία πλευρά ή κάθετη εικόνα γύρω από όρθιο θέμα.</p><p>Το μέγεθος εξόδου διέπεται από το συνολικό εμβαδόν. Η συγκεκριμένη κάρτα μοντέλου και ο οδηγός εικόνας αναφέρουν μέγιστο 2,359,296 pixel, ισοδύναμο με τετράγωνο 1536×1536. Η τεκμηριωμένη διεπαφή εικόνας απαιτεί πλάτος και ύψος τουλάχιστον 768 pixel και οποιαδήποτε διάσταση μπορεί να υπερβαίνει τα 1536, εφόσον το σύνολο παραμένει εντός ορίου εμβαδού. Αυτό επιτρέπει πιο μακρόστενη οριζόντια ή κάθετη σύνθεση, αντί να επιβάλλει μέγιστο 1536 pixel σε κάθε πλευρά. Για παράδειγμα, στόχος 1024×2048 έχει 2,097,152 pixel και ικανοποιεί αυτόν τον τεκμηριωμένο κανόνα εμβαδού. Ελέγξτε τις τελικές διαστάσεις για τη διάταξη που θα χρησιμοποιήσει την εικόνα.</p><p>Ο οδηγός του κατασκευαστή επιστρέφει παραγόμενα και επεξεργασμένα αποτελέσματα ως δεδομένα εικόνας PNG. Κρατήστε την ολοκληρωμένη εικόνα δίπλα στην περιγραφή και τις αρχικές αναφορές όταν προετοιμάζετε σχεδιαστική αναθεώρηση. Η κάρτα μοντέλου αναφέρει συμφραζόμενα 32K token, ενώ ο οδηγός εξυπηρέτησης ορίζει μέγιστα συμφραζόμενα προτροπής 32,000 token· διατηρήστε αυτά τα δηλωμένα πεδία ισχύος όταν προετοιμάζετε μεγάλη περιγραφή, αντί να τα αντιμετωπίζετε ως διαστάσεις εικόνας. Το χρήσιμο παραδοτέο παραγωγής είναι η αποκωδικοποιημένη εικόνα, που μπορεί να ελεγχθεί και να τοποθετηθεί σε σελίδα, διαφάνεια ή σύνθεση. Καταγράψτε μαζί της την επιθυμητή περικοπή και τη θέση κειμένου, ώστε μετέπειτα επεξεργασίες να μην αλλάζουν κατά λάθος τον σκοπό του σχεδιασμού.</p><p>Μέσα στην οικογένεια, το MAI-Image-2.6 δίνει έμφαση στον ακριβή έλεγχο και τις τελευταίες βελτιώσεις οπτικής λεπτομέρειας. Το MAI-Image-2.6-Flash παρέχει τις ίδιες δυνατότητες δημιουργίας, επεξεργασίας, τεκμηρίωσης και επιλογής αναλογίας σε έκδοση βελτιστοποιημένη για άμεση, επαναλαμβανόμενη παραγωγή. Η σειρά 2.5 χρησιμοποιεί μικρότερο τεκμηριωμένο όριο εμβαδού εξόδου και δεν κληρονομεί τους ελέγχους τεκμηρίωσης ή αυτόματης αναλογίας της 2.6. Επιλέξτε έκδοση σύμφωνα με την απαιτούμενη εικόνα και τη διαδικασία αναθεώρησης, αντί να υποθέτετε ότι κοινό οικογενειακό όνομα κάνει κάθε ρύθμιση ίδια.</p><p>Ελέγξτε μια επεξεργασία έναντι ολόκληρης της πηγής: διατηρημένα πρόσωπα, ταυτότητα αντικειμένων, γεωμετρία, σκιές, γράμματα και επιθυμητή διάταξη έχουν όλα σημασία. Μια πειστική φωτογραφία μπορεί και πάλι να περιέχει λάθος σήμανση, ασυνεπή αντανάκλαση ή αλλαγμένο χαρακτηριστικό εκτός της ζητούμενης επεξεργασίας. Κρατήστε συγκεκριμένη την επόμενη διόρθωση, όπως ετικέτα, θέση αντικειμένου ή συγκεκριμένη ατέλεια. Αυτό κάνει χρήσιμη την επαναληπτική επεξεργασία διατηρώντας το θέμα και τη σύνθεση της αρχικής περιγραφής.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Εικόνες</b> <code>POST /v1/images/generations</code></summary><dl class=\"method-capabilities\"><div><dt>Είσοδος</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Έξοδος</dt><dd><code>image</code></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><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>microsoft/mai-image-2.6</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><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\">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></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><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\">aspect_ratio</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:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3, auto</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><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\">n</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>Ελάχιστο: 1</div><div>Μέγιστο: 1</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><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\">input_references</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>array</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Ελάχιστο πλήθος στοιχείων: 0</div><div>Μέγιστο πλήθος στοιχείων: 5</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><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\">provider</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>object</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr></tbody></table></div><details class=\"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</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></tbody></table></div><p>Κύκλος ζωής: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Τιμολόγηση</h3><div class=\"card-result-process\" data-billing-basis><h5>Πώς υπολογίζεται η τελική χρέωση</h5><p class=\"note-s\">Οι εμφανιζόμενες τιμές χρησιμοποιούνται για την εκτίμηση του κόστους πριν από την παραγωγή. Η τελική χρέωση υπολογίζεται από το κόστος που καταγράφηκε για την αρχική παραγωγή. Η μετρημένη διάρκεια της εξόδου και οι προβλεπόμενες ποσότητες δεν αποτελούν την τελική χρεώσιμη ποσότητα.</p></div><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>Εκτιμώμενες χρεώσεις για σύγκριση</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></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><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>Εκτιμώμενο κόστος δημιουργίας</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><div><span>Έξοδος · Εκτιμώμενο κόστος δημιουργίας · Εκτίμηση μόνο για σύγκριση</span> <b>$0.311296</b> <span class=\"price-unit\">εκτίμηση πριν από τη δημιουργία</span></div><p class=\"note-s\">Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. <a href=\"/docs/el/billing/reserve/\">Πώς λειτουργούν η δέσμευση και η εκκαθάριση →</a></p></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-1841-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1841-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-1841-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1841-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_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np={&#39;model&#39;: &#39;microsoft/mai-image-2.6&#39;, &#39;prompt&#39;: &#39;a red panda astronaut floating in space, studio lighting&#39;}\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\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\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(&quot;No completed images; retain the full response&quot;)\n    for index, item in enumerate(items):\n        encoded=item.get(&quot;b64_json&quot;)\n        uri=item.get(&quot;url&quot;, &quot;&quot;)\n        if not encoded and uri.startswith(&quot;data:image/&quot;):\n            header, separator, encoded=uri.partition(&quot;,&quot;)\n            if not separator or &quot;;base64&quot; not in header: raise SystemExit(&quot;Unsupported image data URI&quot;)\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(&quot;https://api.ailoot.ai&quot;,uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=&quot;https&quot; or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(&quot;Invalid returned image URL&quot;)\n            owned=parsed.netloc==&quot;api.ailoot.ai&quot; and parsed.path.startswith(&quot;/v1/media/assets/&quot;) and parsed.path.endswith(&quot;/content&quot;)\n            args=[&quot;curl&quot;,&quot;--fail-with-body&quot;,&quot;--silent&quot;,&quot;--show-error&quot;,uri]\n            if owned: args += [&quot;-H&quot;,&quot;Authorization: Bearer &quot;+os.environ[&quot;AILOOT_API_KEY&quot;]]\n            temporary=Path(f&quot;image-{index}.bin&quot;)\n            subprocess.run(args+[&quot;-o&quot;,str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(&quot;Image has neither bytes nor URL&quot;)\n        if not raw: raise SystemExit(&quot;Empty image result&quot;)\n        ext=&quot;png&quot; if raw.startswith(b&quot;\\x89PNG&quot;) else &quot;jpg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;webp&quot; if raw[:4]==b&quot;RIFF&quot; and raw[8:12]==b&quot;WEBP&quot; else &quot;svg&quot; if raw.lstrip().startswith((b&quot;&lt;svg&quot;,b&quot;&lt;?xml&quot;)) else &quot;bin&quot;\n        Path(f&quot;image-{index}.{ext}&quot;).write_bytes(raw)\n    print(&quot;Every returned image saved; complete response metadata retained&quot;)\nsave_images(json.loads(Path(&quot;result.json&quot;).read_text())[&quot;data&quot;])\nPY_RESULT\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\">Κατεβάστε κάθε εικόνα που επιστρέφεται ή αποθηκεύστε το περιεχόμενο Base64</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><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-1842-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1842-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-1842-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1842-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα</h5><p class=\"note-s\">Αποθηκεύστε κάθε ολοκληρωμένη εικόνα· ανακτήστε κάθε URL που επιστρέφεται ή αποκωδικοποιήστε το περιεχόμενο Base64.</p><p class=\"note-s\">Διατηρήστε ολόκληρη την απόκριση και τις κεφαλίδες, κάθε πραγματικό αποτέλεσμα εξόδου, τα αρχικά αναγνωριστικά που επιστράφηκαν και όλα τα πεδία χρήσης. Ανακτήστε την αρχική λειτουργία χωρίς να υποβάλετε ξανά αίτημα δημιουργίας.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Αν χρειάζεται έλεγχος της αρχικής απάντησης</h5><p class=\"note-s\">Διατηρήστε το X-Client-Request-ID που επιστράφηκε για τη συμφωνία των εγγραφών. Διαβάστε μόνο πραγματικές τιμές task_id/asset_id που επιστράφηκαν ή τη βιβλιοθήκη πολυμέσων που σας ανήκει· μην κατασκευάσετε ποτέ URL εργασίας από το ID της λειτουργίας και μην υποβάλετε ποτέ ξανά αίτημα δημιουργίας.</p></div><details class=\"card-about\" data-output-fields><summary>Πεδία απάντησης</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Πεδίο</th><th>Τύπος</th></tr></thead><tbody><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">created</code></th><td data-cell-label=\"Τύπος\" data-field-type><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[].url</code></th><td data-cell-label=\"Τύπος\" data-field-type><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[].b64_json</code></th><td data-cell-label=\"Τύπος\" data-field-type><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\">usage</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span></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=microsoft%2Fmai-image-2.6&amp;route=Ultra&amp;caller=microsoft%2Fmai-image-2.6&amp;fmt=images\"><code>microsoft/mai-image-2.6</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\"><code>/v1/images</code></p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=microsoft%2Fmai-image-2.6&amp;route=Ultra&amp;caller=microsoft%2Fmai-image-2.6&amp;fmt=images\"><code>microsoft/mai-image-2.6</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "microsoft/mai-image-2.6",
        "fmt": "images",
        "http": "POST",
        "path": "/v1/images/generations",
        "request_model_id": "microsoft/mai-image-2.6",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|images|/v1/images/generations|microsoft%2Fmai-image-2.6",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Οι εμφανιζόμενες τιμές χρησιμοποιούνται για την εκτίμηση του κόστους πριν από την παραγωγή. Η τελική χρέωση υπολογίζεται από το κόστος που καταγράφηκε για την αρχική παραγωγή. Η μετρημένη διάρκεια της εξόδου και οι προβλεπόμενες ποσότητες δεν αποτελούν την τελική χρεώσιμη ποσότητα.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Διατηρήστε το X-Client-Request-ID που επιστράφηκε για τη συμφωνία των εγγραφών. Διαβάστε μόνο πραγματικές τιμές task_id/asset_id που επιστράφηκαν ή τη βιβλιοθήκη πολυμέσων που σας ανήκει· μην κατασκευάσετε ποτέ URL εργασίας από το ID της λειτουργίας και μην υποβάλετε ποτέ ξανά αίτημα δημιουργίας."
            },
            "outputs": {
              "all_results": "Διατηρήστε ολόκληρη την απόκριση και τις κεφαλίδες, κάθε πραγματικό αποτέλεσμα εξόδου, τα αρχικά αναγνωριστικά που επιστράφηκαν και όλα τα πεδία χρήσης. Ανακτήστε την αρχική λειτουργία χωρίς να υποβάλετε ξανά αίτημα δημιουργίας.",
              "family": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "microsoft/mai-image-2.6"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "4:3",
                  "3:4",
                  "16:9",
                  "9:16",
                  "3:2",
                  "2:3",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 5,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "4:3",
                    "3:4",
                    "16:9",
                    "9:16",
                    "3:2",
                    "2:3",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 5,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "microsoft/mai-image-2.6"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 1,
                  "minimum": 1,
                  "type": "integer"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "microsoft/mai-image-2.6",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Εκτιμώμενο κόστος δημιουργίας",
            "units": [
              {
                "amount": "0.311296",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.311296",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'microsoft/mai-image-2.6', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Εικόνες",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "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": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.311296",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.311296",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "microsoft/mai-image-2.6",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.311296",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.311296",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "microsoft/mai-image-2.6",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "6a752c74b67082c17b9617cbcbf8a31a423ca6c4425237ff8ff14352b3b26bbd",
    "input_html_sha256": "706bcffa7bd73e08f8a99ad7aaf20347d29d68233c6c5471753a14838ae954c1",
    "private_audit_sha256": "ab2e1b1e93750260905a86e2b3f36bba8c3456c1679e1162d2213525ba667c64",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/microsoft-mai-image-2-6/",
    "description": "Το Microsoft AI MAI-Image-2.6 δημιουργεί και επεξεργάζεται εικόνες για σχεδιασμό ακριβείας. Συνδυάζει κείμενο με έως πέντε οπτικές αναφορές, υποστηρίζει προαιρετική τεκμηρίωση από τον ιστό και αυτόματη επιλογή μεγέθους σύνθεσης και παράγει εικόνες PNG έως 2,359,296 pixel. Δίνει έμφαση σε ελεγχόμενες επεξεργασίες, κείμενο, πορτρέτα και εμπορικές εικόνες.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/microsoft-mai-image-2-6/index.md",
    "title": "Microsoft AI: MAI-Image-2.6 — Ailoot",
    "url": "https://ailoot.ai/models/el/microsoft-mai-image-2-6/"
  },
  "rawModel": {
    "about": "Το Microsoft AI MAI-Image-2.6 είναι η έκδοση της οικογένειας εικόνων 2.6 με έμφαση στην ακρίβεια, σχεδιασμένη για δημιουργία εικόνας από κείμενο και ελεγχόμενη επεξεργασία υπαρχόντων οπτικών αρχείων. Η κάρτα μοντέλου του περιγράφει μοντέλο διάχυσης με flow matching, 20 δισεκατομμύρια παραμέτρους εκτός embeddings και συμφραζόμενα 32K token. Η επιδιωκόμενη έξοδος είναι εικόνα: σύνθεση προϊόντος, πορτρέτο, επώνυμη εικονογράφηση ή αναθεωρημένο οπτικό αποτέλεσμα του οποίου η διάταξη και τα βασικά θέματα παραμένουν συνεπή όσο αλλάζει συγκεκριμένο στοιχείο.\n\nΓια δημιουργία, περιγράψτε το θέμα, τη σύνθεση, τα υλικά, το φως, την οπτική γωνία και το οπτικό ύφος. Συμπεριλάβετε ακριβή διατύπωση όταν πρέπει να εμφανίζεται ετικέτα, τίτλος ή πινακίδα στην εικόνα και περιγράψτε πού ανήκει. Ο κατασκευαστής τονίζει την ισχυρότερη απόδοση κειμένου, πορτρέτων, εικόνων 3D και εμπορικών ή φωτορεαλιστικών αποτελεσμάτων σε αυτή την έκδοση. Μια χρήσιμη περιγραφή προσδιορίζει τις λίγες σχέσεις που κάνουν την εικόνα να λειτουργεί: ποιο αντικείμενο προβάλλεται στο προσκήνιο, πώς εντάσσεται στη σκηνή και πού πρέπει να κοιτάξει πρώτα το κοινό. Εξετάστε μικρά γράμματα και λεπτομέρειες στην ολοκληρωμένη εικόνα.\n\nΓια επεξεργασία, δώστε το αρχικό οπτικό αρχείο και δηλώστε την αλλαγή μαζί με τα μέρη που θα διατηρηθούν. Οι τεκμηριωμένες εργασίες περιλαμβάνουν αφαίρεση ή αντικατάσταση αντικειμένων, αλλαγές ιδιοτήτων, inpainting, προσαρμογή διάταξης, ενημέρωση κειμένου και καθαρισμό ατελειών όπως θόλωση κίνησης. Η κάρτα μοντέλου τονίζει τη συλλογιστική σε κλίμακα, προοπτική, φωτισμό και χωρική τοποθέτηση, ώστε η αναθεώρηση να ταιριάζει στην υπάρχουσα σκηνή. Ως προετοιμασία, προσδιορίστε καθαρά το αντικείμενο ή την περιοχή και εξηγήστε αν στόχος είναι τοπική διόρθωση, διαφορετική διάταξη ή ευρύτερη αλλαγή ύφους.\n\nΟ οδηγός επεξεργασίας εικόνων του κατασκευαστή δέχεται έως πέντε αναφορές JPEG ή PNG. Δώστε σε κάθε εικόνα διακριτό ρόλο, όπως προϊόν, πρόσωπο, περιβάλλον, διάταξη ή οπτικό ύφος. Για επεξεργασία φωτισμού, τοποθετήστε ένα φωτιστικό από μία αναφορά στο γραφείο μιας άλλης, διατηρώντας την προοπτική του γραφείου και κάνοντας τη σκιά του φωτιστικού να ακολουθεί το φως του δωματίου. Μια χωριστή αναθεώρηση μπορεί να ενημερώνει σύντομη ετικέτα διατηρώντας το σχήμα και τη θέση προϊόντος. Ελέγξτε τις σχέσεις αναφορών στο αποτέλεσμα αντί να αποδέχεστε εύλογο αντικείμενο που διαφέρει από το παρεχόμενο.\n\nΗ οικογένεια 2.6 προσθέτει προαιρετική τεκμηρίωση από τον ιστό και επιλογή αναλογίας διαστάσεων από το μοντέλο. Η τεκμηρίωση από τον ιστό παρέχει σχετικό τρέχον πλαίσιο κατά την ερμηνεία αιτήματος που αφορά πραγματικό τόπο, αντικείμενο ή μεταβαλλόμενες πληροφορίες. Είναι δημιουργική είσοδος, επομένως ελέγξτε τις πραγματολογικές οπτικές λεπτομέρειες έναντι του επιδιωκόμενου θέματος. Η αυτόματη επιλογή αναλογίας επιτρέπει στο μοντέλο να συνεκτιμά προτροπή και εικόνες κατά την επιλογή σχήματος σύνθεσης. Μια σχεδιαστική περιγραφή μπορεί να καθορίζει προορισμό και απαιτούμενη διάταξη: για παράδειγμα, πλατιά κεντρική εικόνα προϊόντος με ελεύθερο χώρο στη μία πλευρά ή κάθετη εικόνα γύρω από όρθιο θέμα.\n\nΤο μέγεθος εξόδου διέπεται από το συνολικό εμβαδόν. Η συγκεκριμένη κάρτα μοντέλου και ο οδηγός εικόνας αναφέρουν μέγιστο 2,359,296 pixel, ισοδύναμο με τετράγωνο 1536×1536. Η τεκμηριωμένη διεπαφή εικόνας απαιτεί πλάτος και ύψος τουλάχιστον 768 pixel και οποιαδήποτε διάσταση μπορεί να υπερβαίνει τα 1536, εφόσον το σύνολο παραμένει εντός ορίου εμβαδού. Αυτό επιτρέπει πιο μακρόστενη οριζόντια ή κάθετη σύνθεση, αντί να επιβάλλει μέγιστο 1536 pixel σε κάθε πλευρά. Για παράδειγμα, στόχος 1024×2048 έχει 2,097,152 pixel και ικανοποιεί αυτόν τον τεκμηριωμένο κανόνα εμβαδού. Ελέγξτε τις τελικές διαστάσεις για τη διάταξη που θα χρησιμοποιήσει την εικόνα.\n\nΟ οδηγός του κατασκευαστή επιστρέφει παραγόμενα και επεξεργασμένα αποτελέσματα ως δεδομένα εικόνας PNG. Κρατήστε την ολοκληρωμένη εικόνα δίπλα στην περιγραφή και τις αρχικές αναφορές όταν προετοιμάζετε σχεδιαστική αναθεώρηση. Η κάρτα μοντέλου αναφέρει συμφραζόμενα 32K token, ενώ ο οδηγός εξυπηρέτησης ορίζει μέγιστα συμφραζόμενα προτροπής 32,000 token· διατηρήστε αυτά τα δηλωμένα πεδία ισχύος όταν προετοιμάζετε μεγάλη περιγραφή, αντί να τα αντιμετωπίζετε ως διαστάσεις εικόνας. Το χρήσιμο παραδοτέο παραγωγής είναι η αποκωδικοποιημένη εικόνα, που μπορεί να ελεγχθεί και να τοποθετηθεί σε σελίδα, διαφάνεια ή σύνθεση. Καταγράψτε μαζί της την επιθυμητή περικοπή και τη θέση κειμένου, ώστε μετέπειτα επεξεργασίες να μην αλλάζουν κατά λάθος τον σκοπό του σχεδιασμού.\n\nΜέσα στην οικογένεια, το MAI-Image-2.6 δίνει έμφαση στον ακριβή έλεγχο και τις τελευταίες βελτιώσεις οπτικής λεπτομέρειας. Το MAI-Image-2.6-Flash παρέχει τις ίδιες δυνατότητες δημιουργίας, επεξεργασίας, τεκμηρίωσης και επιλογής αναλογίας σε έκδοση βελτιστοποιημένη για άμεση, επαναλαμβανόμενη παραγωγή. Η σειρά 2.5 χρησιμοποιεί μικρότερο τεκμηριωμένο όριο εμβαδού εξόδου και δεν κληρονομεί τους ελέγχους τεκμηρίωσης ή αυτόματης αναλογίας της 2.6. Επιλέξτε έκδοση σύμφωνα με την απαιτούμενη εικόνα και τη διαδικασία αναθεώρησης, αντί να υποθέτετε ότι κοινό οικογενειακό όνομα κάνει κάθε ρύθμιση ίδια.\n\nΕλέγξτε μια επεξεργασία έναντι ολόκληρης της πηγής: διατηρημένα πρόσωπα, ταυτότητα αντικειμένων, γεωμετρία, σκιές, γράμματα και επιθυμητή διάταξη έχουν όλα σημασία. Μια πειστική φωτογραφία μπορεί και πάλι να περιέχει λάθος σήμανση, ασυνεπή αντανάκλαση ή αλλαγμένο χαρακτηριστικό εκτός της ζητούμενης επεξεργασίας. Κρατήστε συγκεκριμένη την επόμενη διόρθωση, όπως ετικέτα, θέση αντικειμένου ή συγκεκριμένη ατέλεια. Αυτό κάνει χρήσιμη την επαναληπτική επεξεργασία διατηρώντας το θέμα και τη σύνθεση της αρχικής περιγραφής.",
    "alias_of": null,
    "aliases": [],
    "author": "Microsoft AI",
    "capabilities": {
      "context_length": 4096,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "image"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.311296",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.311296",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Πλήρης τιμολόγηση της διαμόρφωσης στις λεπτομέρειες."
      }
    ],
    "ctx": null,
    "formats": [
      "images"
    ],
    "id": "microsoft/mai-image-2.6",
    "input": [
      "text",
      "image"
    ],
    "kind": "image",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Οι εμφανιζόμενες τιμές χρησιμοποιούνται για την εκτίμηση του κόστους πριν από την παραγωγή. Η τελική χρέωση υπολογίζεται από το κόστος που καταγράφηκε για την αρχική παραγωγή. Η μετρημένη διάρκεια της εξόδου και οι προβλεπόμενες ποσότητες δεν αποτελούν την τελική χρεώσιμη ποσότητα.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Διατηρήστε το X-Client-Request-ID που επιστράφηκε για τη συμφωνία των εγγραφών. Διαβάστε μόνο πραγματικές τιμές task_id/asset_id που επιστράφηκαν ή τη βιβλιοθήκη πολυμέσων που σας ανήκει· μην κατασκευάσετε ποτέ URL εργασίας από το ID της λειτουργίας και μην υποβάλετε ποτέ ξανά αίτημα δημιουργίας."
            },
            "outputs": {
              "all_results": "Διατηρήστε ολόκληρη την απόκριση και τις κεφαλίδες, κάθε πραγματικό αποτέλεσμα εξόδου, τα αρχικά αναγνωριστικά που επιστράφηκαν και όλα τα πεδία χρήσης. Ανακτήστε την αρχική λειτουργία χωρίς να υποβάλετε ξανά αίτημα δημιουργίας.",
              "family": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "microsoft/mai-image-2.6"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "4:3",
                  "3:4",
                  "16:9",
                  "9:16",
                  "3:2",
                  "2:3",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 5,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "4:3",
                    "3:4",
                    "16:9",
                    "9:16",
                    "3:2",
                    "2:3",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 5,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "microsoft/mai-image-2.6"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 1,
                  "minimum": 1,
                  "type": "integer"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "microsoft/mai-image-2.6",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Εκτιμώμενο κόστος δημιουργίας",
            "units": [
              {
                "amount": "0.311296",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.311296",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'microsoft/mai-image-2.6', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Εικόνες",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "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": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.311296",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.311296",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "microsoft/mai-image-2.6",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.311296",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.311296",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "microsoft/mai-image-2.6",
        "request_model_id": "microsoft/mai-image-2.6",
        "route_label": "Ultra"
      }
    ],
    "name": "Microsoft AI: MAI-Image-2.6",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.311296,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.311296,
      "varies": false
    },
    "short": "Το Microsoft AI MAI-Image-2.6 δημιουργεί και επεξεργάζεται εικόνες για σχεδιασμό ακριβείας. Συνδυάζει κείμενο με έως πέντε οπτικές αναφορές, υποστηρίζει προαιρετική τεκμηρίωση από τον ιστό και αυτόματη επιλογή μεγέθους σύνθεσης και παράγει εικόνες PNG έως 2,359,296 pixel. Δίνει έμφαση σε ελεγχόμενες επεξεργασίες, κείμενο, πορτρέτα και εμπορικές εικόνες."
  },
  "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": "Το Microsoft AI MAI-Image-2.6 δημιουργεί και επεξεργάζεται εικόνες για σχεδιασμό ακριβείας. Συνδυάζει κείμενο με έως πέντε οπτικές αναφορές, υποστηρίζει προαιρετική τεκμηρίωση από τον ιστό και αυτόματη επιλογή μεγέθους σύνθεσης και παράγει εικόνες PNG έως 2,359,296 pixel. Δίνει έμφαση σε ελεγχόμενες επεξεργασίες, κείμενο, πορτρέτα και εμπορικές εικόνες.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "4898e0eeefab42a05ab2dce9f3ed4bee62c71685dd350e6df90535a3315d4329",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "8aef226bd2a21492643f9618c3dd79a083f9a9432d988b43ca37a08478fcd108"
}
