{
  "aboutHtml": "<p>Το Grok Imagine Image 2.0 είναι το μοντέλο δημιουργίας και επεξεργασίας εικόνων της xAI. Δέχεται μια γραπτή περιγραφή ή μια περιγραφή μαζί με εικόνες προέλευσης και επιστρέφει μια εικόνα ως αποτέλεσμα. Το προφίλ του δημιουργού με την ονομασία 2.0 καλύπτει τη δημιουργία σκηνών, την αλλαγή υπάρχουσας εικόνας, τον συνδυασμό θεμάτων από εικόνες αναφοράς και τη μεταμόρφωση του οπτικού ύφους. Ξεκινήστε επιλέγοντας αν χρειάζεστε μια νέα σύνθεση ή μια συγκεκριμένη αλλαγή σε υλικό που έχετε ήδη.</p><h4>Δημιουργία εικόνας από μια περιγραφή</h4><p>Περιγράψτε το κύριο θέμα, το περιβάλλον του, τη σύνθεση, τον φωτισμό και την οπτική απόδοση. Προσδιορίστε τι πρέπει να προσέξει πρώτα ο θεατής και πού θα χρησιμοποιηθεί η εικόνα. Για μια ιδέα προϊόντος, μια ενδεικτική περιγραφή μπορεί να περιλαμβάνει ένα κεραμικό φωτιστικό γραφείου πάνω σε τραπέζι από ανοιχτόχρωμη πέτρα, απαλό φως από παράθυρο, κοντινή λήψη του υλικού και ελεύθερο χώρο για μια ξεχωριστή επικεφαλίδα. Για μια εικονογράφηση, καθορίστε τους χαρακτήρες, τη δράση και την επιθυμητή αισθητική αντί να περιμένετε ότι μία μόνο λέξη ύφους θα ορίσει ολόκληρη τη σκηνή.</p><p>Ο δημιουργός τεκμηριώνει από μία έως δέκα εικόνες εξόδου ανά αίτημα δημιουργίας, με προεπιλογή τη μία. Πολλά αποτελέσματα από την ίδια περιγραφή προσφέρουν εναλλακτικές για αξιολόγηση· δεν εγγυώνται πανομοιότυπο θέμα σε κάθε παραλλαγή. Ελέγξτε το θέμα, τη σύνθεση και τις σημαντικές λεπτομέρειες και κρατήστε την εκδοχή που ανταποκρίνεται καλύτερα στην περιγραφή. Φυλάξτε μαζί την περιγραφή και την επιλεγμένη παραλλαγή, ώστε οι επόμενες επεξεργασίες να χρησιμοποιούν την επιθυμητή σύνθεση.</p><h4>Σύνθεση, ανάλυση και ποιότητα</h4><p>Ο οδηγός δημιουργίας τεκμηριώνει αυτόματη επιλογή αναλογίας διαστάσεων ή ρητό ορισμό της. Οι αναφερόμενες επιλογές περιλαμβάνουν τις 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 2:1, 1:2, 19.5:9, 9:19.5, 20:9, 9:20, 21:9 και 5:2. Επιλέξτε το σχήμα με βάση τη θέση χρήσης: τετράγωνο για ένα συμπαγές πλακίδιο, κατακόρυφο για μια όρθια σύνθεση ή οριζόντιο για μια πλατιά σκηνή. Προσδιορίστε το θέμα που μπορεί να επηρεαστεί από την περικοπή και τον χώρο που χρειάζεται η διάταξη, αντί να βασίζεστε μόνο στην αναλογία διαστάσεων.</p><p>Οι τεκμηριωμένες ρυθμίσεις ανάλυσης δημιουργίας είναι 1k και 2k, με προεπιλογή το 1k. Η ποιότητα αποτελεί ξεχωριστή ρύθμιση με επιλογές low, medium και auto. Στον τρέχοντα οδηγό της xAI, το auto είναι η προεπιλογή και χρησιμοποιεί low για τη δημιουργία και medium για την επεξεργασία· μια ρητή ρύθμιση low ή medium διατηρεί σταθερή την αντίστοιχη επιλογή. Επομένως, η ανάλυση και η ποιότητα περιγράφουν διαφορετικές ρυθμίσεις. Δηλώστε τις οπτικές λεπτομέρειες που έχουν σημασία και εξετάστε τις στην εικόνα που επιστρέφεται, αντί να θεωρείτε ότι οποιαδήποτε από τις δύο ρυθμίσεις εγγυάται ακριβή γράμματα, γεωμετρία ή διατήρηση του θέματος.</p><h4>Επεξεργασία και μεταφορά οπτικού ύφους</h4><p>Δώστε την εικόνα που θέλετε να αλλάξετε και περιγράψτε τη ζητούμενη αλλαγή σε σχέση με το ορατό περιεχόμενό της. Μια στοχευμένη επεξεργασία μπορεί να ζητά την αντικατάσταση ενός σκούρου τοίχου με ανοιχτόχρωμη επιφάνεια σοβά, διατηρώντας τη διάταξη των επίπλων, την οπτική γωνία της κάμερας και τον θερμό φωτισμό. Αν ο στόχος είναι μια μεταμόρφωση ύφους, προσδιορίστε την επιθυμητή απόδοση: ο δημιουργός παρουσιάζει παραδείγματα φωτογραφίας, anime, ελαιογραφίας, ακουαρέλας, pop art και σκίτσου με μολύβι. Προσδιορίστε ποια στοιχεία πρέπει να διατηρήσουν την εμφάνισή τους και ποια μπορούν να αλλάξουν μαζί με την απόδοση.</p><p>Η ροή επεξεργασίας του δημιουργού δέχεται αναφορά σε εικόνα προέλευσης, κωδικοποιημένα δεδομένα εικόνας ή αναγνωριστικό αρχείου. Για αποθηκευμένες αναφορές, χρησιμοποιήστε εικόνες PNG, JPEG ή WebP των οποίων η μεταφόρτωση έχει ολοκληρωθεί. Ο οδηγός του τεκμηριώνει επίσης διαδοχικές επεξεργασίες: χρησιμοποιήστε το αποτέλεσμα μιας επεξεργασίας ως είσοδο για την επόμενη. Έτσι, μια βασική σύνθεση μπορεί να μετατραπεί σε πιο συγκεκριμένο αποτέλεσμα με μια αλλαγή επίπλων και κατόπιν μια προσαρμογή φωτισμού. Κρατήστε την αρχική και την επιλεγμένη ενδιάμεση εικόνα συνδεδεμένες με κάθε περιγραφή, ώστε μια μεταγενέστερη βελτίωση να μπορεί να ελεγχθεί ως προς την επιθυμητή σύνθεση.</p><h4>Συνδυασμός πολλών εικόνων αναφοράς</h4><p>Ο τρέχων οδηγός για πολλές εικόνες επιτρέπει έως πέντε εικόνες προέλευσης σε μία επεξεργασία. Αναφερθείτε σε αυτές με τη σειρά που δόθηκαν και αναθέστε σε καθεμία σαφή ρόλο, όπως το θέμα από την πρώτη εικόνα και το περιβάλλον από τη δεύτερη. Η αναλογία του αποτελέσματος ακολουθεί από προεπιλογή την πρώτη εικόνα εισόδου, ενώ υπάρχει δυνατότητα ρητής επιλογής άλλης αναλογίας. Για μια απεικόνιση προϊόντος μέσα σε δωμάτιο, περιγράψτε τη θέση, το μέγεθος και την επαφή του προϊόντος με τις επιφάνειες του δωματίου και ζητήστε να διατηρηθούν οι λεπτομέρειες που το ταυτοποιούν. Εξετάστε πώς συνδυάστηκαν οι εικόνες προέλευσης αντί να υποθέτετε ότι κάθε στοιχείο αντιγράφηκε χωρίς αλλαγές.</p><h4>Παραλαβή και διατήρηση της εικόνας</h4><p>Ο δημιουργός επιστρέφει από προεπιλογή μια προσωρινή διεύθυνση εικόνας και τεκμηριώνει επίσης έξοδο με κωδικοποιημένη εικόνα. Αποθηκεύστε έγκαιρα την ίδια την εικόνα όταν τη χρειάζεστε ως υλικό. Η προαιρετική αναβαλλόμενη ροή διαχωρίζει την επιβεβαίωση λήψης του αιτήματος από την ολοκλήρωση: ένα αναγνωριστικό αιτήματος ακολουθείται από κατάσταση pending, done ή failed, και τα αναβαλλόμενα αποτελέσματα χρησιμοποιούν τη μορφή απάντησης με διεύθυνση, με τεκμηριωμένη περίοδο διατήρησης 24 ωρών. Ένα υποβληθέν αίτημα ή μια κατάσταση pending δεν αποτελεί ολοκληρωμένη εικόνα. Φυλάξτε την ολοκληρωμένη εικόνα μαζί με την περιγραφή και τις επιλεγμένες ρυθμίσεις για μελλοντική επαναχρησιμοποίηση.</p><p>Ένα χρήσιμο τελικό παραδοτέο είναι μια εικόνα που ταιριάζει σε μια καθορισμένη σκηνή, διάταξη ή περιγραφή επεξεργασίας. Εξετάστε ολόκληρη τη σύνθεση και τις μικρές λεπτομέρειές της, ιδίως το θέμα προέλευσης, τα όρια των αντικειμένων, τις αναλογίες και κάθε κείμενο που μεταφέρει νόημα. Για διαδοχικές βελτιώσεις, αλλάξτε την οδηγία που σχετίζεται με το ορατό πρόβλημα και χρησιμοποιήστε το επιλεγμένο αποτέλεσμα ως επόμενη αναφορά. Διατυπώστε συγκεκριμένα την επιθυμητή τροποποίηση και τις οδηγίες διατήρησης, ώστε κάθε αποτέλεσμα να μπορεί να αξιολογηθεί ως προς έναν συγκεκριμένο δημιουργικό σκοπό.</p>",
  "aboutText": "Το Grok Imagine Image 2.0 είναι το μοντέλο δημιουργίας και επεξεργασίας εικόνων της xAI. Δέχεται μια γραπτή περιγραφή ή μια περιγραφή μαζί με εικόνες προέλευσης και επιστρέφει μια εικόνα ως αποτέλεσμα. Το προφίλ του δημιουργού με την ονομασία 2.0 καλύπτει τη δημιουργία σκηνών, την αλλαγή υπάρχουσας εικόνας, τον συνδυασμό θεμάτων από εικόνες αναφοράς και τη μεταμόρφωση του οπτικού ύφους. Ξεκινήστε επιλέγοντας αν χρειάζεστε μια νέα σύνθεση ή μια συγκεκριμένη αλλαγή σε υλικό που έχετε ήδη.\n\n### Δημιουργία εικόνας από μια περιγραφή\n\nΠεριγράψτε το κύριο θέμα, το περιβάλλον του, τη σύνθεση, τον φωτισμό και την οπτική απόδοση. Προσδιορίστε τι πρέπει να προσέξει πρώτα ο θεατής και πού θα χρησιμοποιηθεί η εικόνα. Για μια ιδέα προϊόντος, μια ενδεικτική περιγραφή μπορεί να περιλαμβάνει ένα κεραμικό φωτιστικό γραφείου πάνω σε τραπέζι από ανοιχτόχρωμη πέτρα, απαλό φως από παράθυρο, κοντινή λήψη του υλικού και ελεύθερο χώρο για μια ξεχωριστή επικεφαλίδα. Για μια εικονογράφηση, καθορίστε τους χαρακτήρες, τη δράση και την επιθυμητή αισθητική αντί να περιμένετε ότι μία μόνο λέξη ύφους θα ορίσει ολόκληρη τη σκηνή.\n\nΟ δημιουργός τεκμηριώνει από μία έως δέκα εικόνες εξόδου ανά αίτημα δημιουργίας, με προεπιλογή τη μία. Πολλά αποτελέσματα από την ίδια περιγραφή προσφέρουν εναλλακτικές για αξιολόγηση· δεν εγγυώνται πανομοιότυπο θέμα σε κάθε παραλλαγή. Ελέγξτε το θέμα, τη σύνθεση και τις σημαντικές λεπτομέρειες και κρατήστε την εκδοχή που ανταποκρίνεται καλύτερα στην περιγραφή. Φυλάξτε μαζί την περιγραφή και την επιλεγμένη παραλλαγή, ώστε οι επόμενες επεξεργασίες να χρησιμοποιούν την επιθυμητή σύνθεση.\n\n### Σύνθεση, ανάλυση και ποιότητα\n\nΟ οδηγός δημιουργίας τεκμηριώνει αυτόματη επιλογή αναλογίας διαστάσεων ή ρητό ορισμό της. Οι αναφερόμενες επιλογές περιλαμβάνουν τις 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 2:1, 1:2, 19.5:9, 9:19.5, 20:9, 9:20, 21:9 και 5:2. Επιλέξτε το σχήμα με βάση τη θέση χρήσης: τετράγωνο για ένα συμπαγές πλακίδιο, κατακόρυφο για μια όρθια σύνθεση ή οριζόντιο για μια πλατιά σκηνή. Προσδιορίστε το θέμα που μπορεί να επηρεαστεί από την περικοπή και τον χώρο που χρειάζεται η διάταξη, αντί να βασίζεστε μόνο στην αναλογία διαστάσεων.\n\nΟι τεκμηριωμένες ρυθμίσεις ανάλυσης δημιουργίας είναι 1k και 2k, με προεπιλογή το 1k. Η ποιότητα αποτελεί ξεχωριστή ρύθμιση με επιλογές low, medium και auto. Στον τρέχοντα οδηγό της xAI, το auto είναι η προεπιλογή και χρησιμοποιεί low για τη δημιουργία και medium για την επεξεργασία· μια ρητή ρύθμιση low ή medium διατηρεί σταθερή την αντίστοιχη επιλογή. Επομένως, η ανάλυση και η ποιότητα περιγράφουν διαφορετικές ρυθμίσεις. Δηλώστε τις οπτικές λεπτομέρειες που έχουν σημασία και εξετάστε τις στην εικόνα που επιστρέφεται, αντί να θεωρείτε ότι οποιαδήποτε από τις δύο ρυθμίσεις εγγυάται ακριβή γράμματα, γεωμετρία ή διατήρηση του θέματος.\n\n### Επεξεργασία και μεταφορά οπτικού ύφους\n\nΔώστε την εικόνα που θέλετε να αλλάξετε και περιγράψτε τη ζητούμενη αλλαγή σε σχέση με το ορατό περιεχόμενό της. Μια στοχευμένη επεξεργασία μπορεί να ζητά την αντικατάσταση ενός σκούρου τοίχου με ανοιχτόχρωμη επιφάνεια σοβά, διατηρώντας τη διάταξη των επίπλων, την οπτική γωνία της κάμερας και τον θερμό φωτισμό. Αν ο στόχος είναι μια μεταμόρφωση ύφους, προσδιορίστε την επιθυμητή απόδοση: ο δημιουργός παρουσιάζει παραδείγματα φωτογραφίας, anime, ελαιογραφίας, ακουαρέλας, pop art και σκίτσου με μολύβι. Προσδιορίστε ποια στοιχεία πρέπει να διατηρήσουν την εμφάνισή τους και ποια μπορούν να αλλάξουν μαζί με την απόδοση.\n\nΗ ροή επεξεργασίας του δημιουργού δέχεται αναφορά σε εικόνα προέλευσης, κωδικοποιημένα δεδομένα εικόνας ή αναγνωριστικό αρχείου. Για αποθηκευμένες αναφορές, χρησιμοποιήστε εικόνες PNG, JPEG ή WebP των οποίων η μεταφόρτωση έχει ολοκληρωθεί. Ο οδηγός του τεκμηριώνει επίσης διαδοχικές επεξεργασίες: χρησιμοποιήστε το αποτέλεσμα μιας επεξεργασίας ως είσοδο για την επόμενη. Έτσι, μια βασική σύνθεση μπορεί να μετατραπεί σε πιο συγκεκριμένο αποτέλεσμα με μια αλλαγή επίπλων και κατόπιν μια προσαρμογή φωτισμού. Κρατήστε την αρχική και την επιλεγμένη ενδιάμεση εικόνα συνδεδεμένες με κάθε περιγραφή, ώστε μια μεταγενέστερη βελτίωση να μπορεί να ελεγχθεί ως προς την επιθυμητή σύνθεση.\n\n### Συνδυασμός πολλών εικόνων αναφοράς\n\nΟ τρέχων οδηγός για πολλές εικόνες επιτρέπει έως πέντε εικόνες προέλευσης σε μία επεξεργασία. Αναφερθείτε σε αυτές με τη σειρά που δόθηκαν και αναθέστε σε καθεμία σαφή ρόλο, όπως το θέμα από την πρώτη εικόνα και το περιβάλλον από τη δεύτερη. Η αναλογία του αποτελέσματος ακολουθεί από προεπιλογή την πρώτη εικόνα εισόδου, ενώ υπάρχει δυνατότητα ρητής επιλογής άλλης αναλογίας. Για μια απεικόνιση προϊόντος μέσα σε δωμάτιο, περιγράψτε τη θέση, το μέγεθος και την επαφή του προϊόντος με τις επιφάνειες του δωματίου και ζητήστε να διατηρηθούν οι λεπτομέρειες που το ταυτοποιούν. Εξετάστε πώς συνδυάστηκαν οι εικόνες προέλευσης αντί να υποθέτετε ότι κάθε στοιχείο αντιγράφηκε χωρίς αλλαγές.\n\n### Παραλαβή και διατήρηση της εικόνας\n\nΟ δημιουργός επιστρέφει από προεπιλογή μια προσωρινή διεύθυνση εικόνας και τεκμηριώνει επίσης έξοδο με κωδικοποιημένη εικόνα. Αποθηκεύστε έγκαιρα την ίδια την εικόνα όταν τη χρειάζεστε ως υλικό. Η προαιρετική αναβαλλόμενη ροή διαχωρίζει την επιβεβαίωση λήψης του αιτήματος από την ολοκλήρωση: ένα αναγνωριστικό αιτήματος ακολουθείται από κατάσταση pending, done ή failed, και τα αναβαλλόμενα αποτελέσματα χρησιμοποιούν τη μορφή απάντησης με διεύθυνση, με τεκμηριωμένη περίοδο διατήρησης 24 ωρών. Ένα υποβληθέν αίτημα ή μια κατάσταση pending δεν αποτελεί ολοκληρωμένη εικόνα. Φυλάξτε την ολοκληρωμένη εικόνα μαζί με την περιγραφή και τις επιλεγμένες ρυθμίσεις για μελλοντική επαναχρησιμοποίηση.\n\nΈνα χρήσιμο τελικό παραδοτέο είναι μια εικόνα που ταιριάζει σε μια καθορισμένη σκηνή, διάταξη ή περιγραφή επεξεργασίας. Εξετάστε ολόκληρη τη σύνθεση και τις μικρές λεπτομέρειές της, ιδίως το θέμα προέλευσης, τα όρια των αντικειμένων, τις αναλογίες και κάθε κείμενο που μεταφέρει νόημα. Για διαδοχικές βελτιώσεις, αλλάξτε την οδηγία που σχετίζεται με το ορατό πρόβλημα και χρησιμοποιήστε το επιλεγμένο αποτέλεσμα ως επόμενη αναφορά. Διατυπώστε συγκεκριμένα την επιθυμητή τροποποίηση και τις οδηγίες διατήρησης, ώστε κάθε αποτέλεσμα να μπορεί να αξιολογηθεί ως προς έναν συγκεκριμένο δημιουργικό σκοπό.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "9d4de5aff660fbb17bbb2fd2d47a2d4e83a25011b22890591d497a3fc3dce875",
    "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\">x</span><h2 id=\"sheet-title\">xAI: Grok Imagine Image 2.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>xAI /</span><code>x-ai/grok-imagine-image-2.0</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|x-ai%2Fgrok-imagine-image-2.0\">Εικόνες</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\">Το Grok Imagine Image 2.0 δημιουργεί εικόνες από γραπτές περιγραφές και επεξεργάζεται υπάρχουσες εικόνες με οδηγίες σε φυσική γλώσσα. Η xAI τεκμηριώνει ρυθμίσεις ποιότητας, ανάλυσης και σύνθεσης, τη χρήση πολλών εικόνων αναφοράς, τη μεταφορά ύφους και τη σταδιακή βελτίωση.</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>Το Grok Imagine Image 2.0 είναι το μοντέλο δημιουργίας και επεξεργασίας εικόνων της xAI. Δέχεται μια γραπτή περιγραφή ή μια περιγραφή μαζί με εικόνες προέλευσης και επιστρέφει μια εικόνα ως αποτέλεσμα. Το προφίλ του δημιουργού με την ονομασία 2.0 καλύπτει τη δημιουργία σκηνών, την αλλαγή υπάρχουσας εικόνας, τον συνδυασμό θεμάτων από εικόνες αναφοράς και τη μεταμόρφωση του οπτικού ύφους. Ξεκινήστε επιλέγοντας αν χρειάζεστε μια νέα σύνθεση ή μια συγκεκριμένη αλλαγή σε υλικό που έχετε ήδη.</p><h4>Δημιουργία εικόνας από μια περιγραφή</h4><p>Περιγράψτε το κύριο θέμα, το περιβάλλον του, τη σύνθεση, τον φωτισμό και την οπτική απόδοση. Προσδιορίστε τι πρέπει να προσέξει πρώτα ο θεατής και πού θα χρησιμοποιηθεί η εικόνα. Για μια ιδέα προϊόντος, μια ενδεικτική περιγραφή μπορεί να περιλαμβάνει ένα κεραμικό φωτιστικό γραφείου πάνω σε τραπέζι από ανοιχτόχρωμη πέτρα, απαλό φως από παράθυρο, κοντινή λήψη του υλικού και ελεύθερο χώρο για μια ξεχωριστή επικεφαλίδα. Για μια εικονογράφηση, καθορίστε τους χαρακτήρες, τη δράση και την επιθυμητή αισθητική αντί να περιμένετε ότι μία μόνο λέξη ύφους θα ορίσει ολόκληρη τη σκηνή.</p><p>Ο δημιουργός τεκμηριώνει από μία έως δέκα εικόνες εξόδου ανά αίτημα δημιουργίας, με προεπιλογή τη μία. Πολλά αποτελέσματα από την ίδια περιγραφή προσφέρουν εναλλακτικές για αξιολόγηση· δεν εγγυώνται πανομοιότυπο θέμα σε κάθε παραλλαγή. Ελέγξτε το θέμα, τη σύνθεση και τις σημαντικές λεπτομέρειες και κρατήστε την εκδοχή που ανταποκρίνεται καλύτερα στην περιγραφή. Φυλάξτε μαζί την περιγραφή και την επιλεγμένη παραλλαγή, ώστε οι επόμενες επεξεργασίες να χρησιμοποιούν την επιθυμητή σύνθεση.</p><h4>Σύνθεση, ανάλυση και ποιότητα</h4><p>Ο οδηγός δημιουργίας τεκμηριώνει αυτόματη επιλογή αναλογίας διαστάσεων ή ρητό ορισμό της. Οι αναφερόμενες επιλογές περιλαμβάνουν τις 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 2:1, 1:2, 19.5:9, 9:19.5, 20:9, 9:20, 21:9 και 5:2. Επιλέξτε το σχήμα με βάση τη θέση χρήσης: τετράγωνο για ένα συμπαγές πλακίδιο, κατακόρυφο για μια όρθια σύνθεση ή οριζόντιο για μια πλατιά σκηνή. Προσδιορίστε το θέμα που μπορεί να επηρεαστεί από την περικοπή και τον χώρο που χρειάζεται η διάταξη, αντί να βασίζεστε μόνο στην αναλογία διαστάσεων.</p><p>Οι τεκμηριωμένες ρυθμίσεις ανάλυσης δημιουργίας είναι 1k και 2k, με προεπιλογή το 1k. Η ποιότητα αποτελεί ξεχωριστή ρύθμιση με επιλογές low, medium και auto. Στον τρέχοντα οδηγό της xAI, το auto είναι η προεπιλογή και χρησιμοποιεί low για τη δημιουργία και medium για την επεξεργασία· μια ρητή ρύθμιση low ή medium διατηρεί σταθερή την αντίστοιχη επιλογή. Επομένως, η ανάλυση και η ποιότητα περιγράφουν διαφορετικές ρυθμίσεις. Δηλώστε τις οπτικές λεπτομέρειες που έχουν σημασία και εξετάστε τις στην εικόνα που επιστρέφεται, αντί να θεωρείτε ότι οποιαδήποτε από τις δύο ρυθμίσεις εγγυάται ακριβή γράμματα, γεωμετρία ή διατήρηση του θέματος.</p><h4>Επεξεργασία και μεταφορά οπτικού ύφους</h4><p>Δώστε την εικόνα που θέλετε να αλλάξετε και περιγράψτε τη ζητούμενη αλλαγή σε σχέση με το ορατό περιεχόμενό της. Μια στοχευμένη επεξεργασία μπορεί να ζητά την αντικατάσταση ενός σκούρου τοίχου με ανοιχτόχρωμη επιφάνεια σοβά, διατηρώντας τη διάταξη των επίπλων, την οπτική γωνία της κάμερας και τον θερμό φωτισμό. Αν ο στόχος είναι μια μεταμόρφωση ύφους, προσδιορίστε την επιθυμητή απόδοση: ο δημιουργός παρουσιάζει παραδείγματα φωτογραφίας, anime, ελαιογραφίας, ακουαρέλας, pop art και σκίτσου με μολύβι. Προσδιορίστε ποια στοιχεία πρέπει να διατηρήσουν την εμφάνισή τους και ποια μπορούν να αλλάξουν μαζί με την απόδοση.</p><p>Η ροή επεξεργασίας του δημιουργού δέχεται αναφορά σε εικόνα προέλευσης, κωδικοποιημένα δεδομένα εικόνας ή αναγνωριστικό αρχείου. Για αποθηκευμένες αναφορές, χρησιμοποιήστε εικόνες PNG, JPEG ή WebP των οποίων η μεταφόρτωση έχει ολοκληρωθεί. Ο οδηγός του τεκμηριώνει επίσης διαδοχικές επεξεργασίες: χρησιμοποιήστε το αποτέλεσμα μιας επεξεργασίας ως είσοδο για την επόμενη. Έτσι, μια βασική σύνθεση μπορεί να μετατραπεί σε πιο συγκεκριμένο αποτέλεσμα με μια αλλαγή επίπλων και κατόπιν μια προσαρμογή φωτισμού. Κρατήστε την αρχική και την επιλεγμένη ενδιάμεση εικόνα συνδεδεμένες με κάθε περιγραφή, ώστε μια μεταγενέστερη βελτίωση να μπορεί να ελεγχθεί ως προς την επιθυμητή σύνθεση.</p><h4>Συνδυασμός πολλών εικόνων αναφοράς</h4><p>Ο τρέχων οδηγός για πολλές εικόνες επιτρέπει έως πέντε εικόνες προέλευσης σε μία επεξεργασία. Αναφερθείτε σε αυτές με τη σειρά που δόθηκαν και αναθέστε σε καθεμία σαφή ρόλο, όπως το θέμα από την πρώτη εικόνα και το περιβάλλον από τη δεύτερη. Η αναλογία του αποτελέσματος ακολουθεί από προεπιλογή την πρώτη εικόνα εισόδου, ενώ υπάρχει δυνατότητα ρητής επιλογής άλλης αναλογίας. Για μια απεικόνιση προϊόντος μέσα σε δωμάτιο, περιγράψτε τη θέση, το μέγεθος και την επαφή του προϊόντος με τις επιφάνειες του δωματίου και ζητήστε να διατηρηθούν οι λεπτομέρειες που το ταυτοποιούν. Εξετάστε πώς συνδυάστηκαν οι εικόνες προέλευσης αντί να υποθέτετε ότι κάθε στοιχείο αντιγράφηκε χωρίς αλλαγές.</p><h4>Παραλαβή και διατήρηση της εικόνας</h4><p>Ο δημιουργός επιστρέφει από προεπιλογή μια προσωρινή διεύθυνση εικόνας και τεκμηριώνει επίσης έξοδο με κωδικοποιημένη εικόνα. Αποθηκεύστε έγκαιρα την ίδια την εικόνα όταν τη χρειάζεστε ως υλικό. Η προαιρετική αναβαλλόμενη ροή διαχωρίζει την επιβεβαίωση λήψης του αιτήματος από την ολοκλήρωση: ένα αναγνωριστικό αιτήματος ακολουθείται από κατάσταση pending, done ή failed, και τα αναβαλλόμενα αποτελέσματα χρησιμοποιούν τη μορφή απάντησης με διεύθυνση, με τεκμηριωμένη περίοδο διατήρησης 24 ωρών. Ένα υποβληθέν αίτημα ή μια κατάσταση pending δεν αποτελεί ολοκληρωμένη εικόνα. Φυλάξτε την ολοκληρωμένη εικόνα μαζί με την περιγραφή και τις επιλεγμένες ρυθμίσεις για μελλοντική επαναχρησιμοποίηση.</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>x-ai/grok-imagine-image-2.0</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\">resolution</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>1K, 2K</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, 3:4, 4:3, 9:16, 16:9, 2:3, 3:2, 9:19.5, 19.5:9, 9:20, 20:9, 1:2, 2:1, 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\">quality</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>low, medium</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>Μέγιστο πλήθος στοιχείων: 3</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><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Βασικές χρεώσεις token</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>Βασική χρέωση</td><td data-cell-label=\"Προβλεπόμενη ποσότητα\"><span class=\"card-cell-label\">Προβλεπόμενη ποσότητα</span>—</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>—</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><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>ανά εικόνα εισόδου</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · εικόνα εισόδου · Εκτίμηση μόνο για σύγκριση</span> <b>$0.02</b> <span class=\"price-unit\">ανά εικόνα εισόδου</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>—</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Έξοδος · Εκτιμώμενο κόστος δημιουργίας · Εκτίμηση μόνο για σύγκριση</span> <b>$0.08</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-2716-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2716-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-2716-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2716-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;x-ai/grok-imagine-image-2.0&#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-2717-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2717-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-2717-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2717-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=x-ai%2Fgrok-imagine-image-2.0&amp;route=Ultra&amp;caller=x-ai%2Fgrok-imagine-image-2.0&amp;fmt=images\"><code>x-ai/grok-imagine-image-2.0</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=x-ai%2Fgrok-imagine-image-2.0&amp;route=Ultra&amp;caller=x-ai%2Fgrok-imagine-image-2.0&amp;fmt=images\"><code>x-ai/grok-imagine-image-2.0</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "x-ai/grok-imagine-image-2.0",
        "fmt": "images",
        "http": "POST",
        "path": "/v1/images/generations",
        "request_model_id": "x-ai/grok-imagine-image-2.0",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|images|/v1/images/generations|x-ai%2Fgrok-imagine-image-2.0",
      "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": [
                  "x-ai/grok-imagine-image-2.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1K",
                  "2K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "3:4",
                  "4:3",
                  "9:16",
                  "16:9",
                  "2:3",
                  "3:2",
                  "9:19.5",
                  "19.5:9",
                  "9:20",
                  "20:9",
                  "1:2",
                  "2:1",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "low",
                  "medium"
                ],
                "enum_known": true,
                "name": "quality",
                "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": 3,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "3:4",
                    "4:3",
                    "9:16",
                    "16:9",
                    "2:3",
                    "3:2",
                    "9:19.5",
                    "19.5:9",
                    "9:20",
                    "20:9",
                    "1:2",
                    "2:1",
                    "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": 3,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "x-ai/grok-imagine-image-2.0"
                  ],
                  "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"
                },
                "quality": {
                  "enum": [
                    "low",
                    "medium"
                  ],
                  "type": "string"
                },
                "resolution": {
                  "enum": [
                    "1K",
                    "2K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "x-ai/grok-imagine-image-2.0",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image"
            },
            "label": "input image",
            "units": [
              {
                "amount": "0.02",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.02",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "basis": "Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Εκτιμώμενο κόστος δημιουργίας",
            "units": [
              {
                "amount": "0.08",
                "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.08",
                "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': 'x-ai/grok-imagine-image-2.0', '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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image"
            },
            "label": "input image",
            "units": [
              {
                "amount": "0.02",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.02",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "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.08",
                "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.08",
                "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": "x-ai/grok-imagine-image-2.0",
        "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.02",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_input",
            "label": "input image",
            "native_amount_usd_per_unit": "0.02",
            "native_quantity": 1,
            "public_unit_label": "per input image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "image_input"
          },
          {
            "amount": "0.08",
            "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.08",
            "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": "x-ai/grok-imagine-image-2.0",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "0a477eaca6ffe55510995f58dda75e6d3ba1c98dc98281a011bfb41592017640",
    "input_html_sha256": "585b511f0ccbafeea799f5b2aa276c256f14ddafecd49b69876c3b0a469a2bd8",
    "private_audit_sha256": "dd082df8c29a7777c72f688d8b3fee2ab12be5ccf831fda7e2b6af5b26faa53a",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/x-ai-grok-imagine-image-2-0/",
    "description": "Το Grok Imagine Image 2.0 δημιουργεί εικόνες από γραπτές περιγραφές και επεξεργάζεται υπάρχουσες εικόνες με οδηγίες σε φυσική γλώσσα. Η xAI τεκμηριώνει ρυθμίσεις ποιότητας, ανάλυσης και σύνθεσης, τη χρήση πολλών εικόνων αναφοράς, τη μεταφορά ύφους και τη σταδιακή βελτίωση.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/x-ai-grok-imagine-image-2-0/index.md",
    "title": "xAI: Grok Imagine Image 2.0 — Ailoot",
    "url": "https://ailoot.ai/models/el/x-ai-grok-imagine-image-2-0/"
  },
  "rawModel": {
    "about": "Το Grok Imagine Image 2.0 είναι το μοντέλο δημιουργίας και επεξεργασίας εικόνων της xAI. Δέχεται μια γραπτή περιγραφή ή μια περιγραφή μαζί με εικόνες προέλευσης και επιστρέφει μια εικόνα ως αποτέλεσμα. Το προφίλ του δημιουργού με την ονομασία 2.0 καλύπτει τη δημιουργία σκηνών, την αλλαγή υπάρχουσας εικόνας, τον συνδυασμό θεμάτων από εικόνες αναφοράς και τη μεταμόρφωση του οπτικού ύφους. Ξεκινήστε επιλέγοντας αν χρειάζεστε μια νέα σύνθεση ή μια συγκεκριμένη αλλαγή σε υλικό που έχετε ήδη.\n\n### Δημιουργία εικόνας από μια περιγραφή\n\nΠεριγράψτε το κύριο θέμα, το περιβάλλον του, τη σύνθεση, τον φωτισμό και την οπτική απόδοση. Προσδιορίστε τι πρέπει να προσέξει πρώτα ο θεατής και πού θα χρησιμοποιηθεί η εικόνα. Για μια ιδέα προϊόντος, μια ενδεικτική περιγραφή μπορεί να περιλαμβάνει ένα κεραμικό φωτιστικό γραφείου πάνω σε τραπέζι από ανοιχτόχρωμη πέτρα, απαλό φως από παράθυρο, κοντινή λήψη του υλικού και ελεύθερο χώρο για μια ξεχωριστή επικεφαλίδα. Για μια εικονογράφηση, καθορίστε τους χαρακτήρες, τη δράση και την επιθυμητή αισθητική αντί να περιμένετε ότι μία μόνο λέξη ύφους θα ορίσει ολόκληρη τη σκηνή.\n\nΟ δημιουργός τεκμηριώνει από μία έως δέκα εικόνες εξόδου ανά αίτημα δημιουργίας, με προεπιλογή τη μία. Πολλά αποτελέσματα από την ίδια περιγραφή προσφέρουν εναλλακτικές για αξιολόγηση· δεν εγγυώνται πανομοιότυπο θέμα σε κάθε παραλλαγή. Ελέγξτε το θέμα, τη σύνθεση και τις σημαντικές λεπτομέρειες και κρατήστε την εκδοχή που ανταποκρίνεται καλύτερα στην περιγραφή. Φυλάξτε μαζί την περιγραφή και την επιλεγμένη παραλλαγή, ώστε οι επόμενες επεξεργασίες να χρησιμοποιούν την επιθυμητή σύνθεση.\n\n### Σύνθεση, ανάλυση και ποιότητα\n\nΟ οδηγός δημιουργίας τεκμηριώνει αυτόματη επιλογή αναλογίας διαστάσεων ή ρητό ορισμό της. Οι αναφερόμενες επιλογές περιλαμβάνουν τις 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 2:1, 1:2, 19.5:9, 9:19.5, 20:9, 9:20, 21:9 και 5:2. Επιλέξτε το σχήμα με βάση τη θέση χρήσης: τετράγωνο για ένα συμπαγές πλακίδιο, κατακόρυφο για μια όρθια σύνθεση ή οριζόντιο για μια πλατιά σκηνή. Προσδιορίστε το θέμα που μπορεί να επηρεαστεί από την περικοπή και τον χώρο που χρειάζεται η διάταξη, αντί να βασίζεστε μόνο στην αναλογία διαστάσεων.\n\nΟι τεκμηριωμένες ρυθμίσεις ανάλυσης δημιουργίας είναι 1k και 2k, με προεπιλογή το 1k. Η ποιότητα αποτελεί ξεχωριστή ρύθμιση με επιλογές low, medium και auto. Στον τρέχοντα οδηγό της xAI, το auto είναι η προεπιλογή και χρησιμοποιεί low για τη δημιουργία και medium για την επεξεργασία· μια ρητή ρύθμιση low ή medium διατηρεί σταθερή την αντίστοιχη επιλογή. Επομένως, η ανάλυση και η ποιότητα περιγράφουν διαφορετικές ρυθμίσεις. Δηλώστε τις οπτικές λεπτομέρειες που έχουν σημασία και εξετάστε τις στην εικόνα που επιστρέφεται, αντί να θεωρείτε ότι οποιαδήποτε από τις δύο ρυθμίσεις εγγυάται ακριβή γράμματα, γεωμετρία ή διατήρηση του θέματος.\n\n### Επεξεργασία και μεταφορά οπτικού ύφους\n\nΔώστε την εικόνα που θέλετε να αλλάξετε και περιγράψτε τη ζητούμενη αλλαγή σε σχέση με το ορατό περιεχόμενό της. Μια στοχευμένη επεξεργασία μπορεί να ζητά την αντικατάσταση ενός σκούρου τοίχου με ανοιχτόχρωμη επιφάνεια σοβά, διατηρώντας τη διάταξη των επίπλων, την οπτική γωνία της κάμερας και τον θερμό φωτισμό. Αν ο στόχος είναι μια μεταμόρφωση ύφους, προσδιορίστε την επιθυμητή απόδοση: ο δημιουργός παρουσιάζει παραδείγματα φωτογραφίας, anime, ελαιογραφίας, ακουαρέλας, pop art και σκίτσου με μολύβι. Προσδιορίστε ποια στοιχεία πρέπει να διατηρήσουν την εμφάνισή τους και ποια μπορούν να αλλάξουν μαζί με την απόδοση.\n\nΗ ροή επεξεργασίας του δημιουργού δέχεται αναφορά σε εικόνα προέλευσης, κωδικοποιημένα δεδομένα εικόνας ή αναγνωριστικό αρχείου. Για αποθηκευμένες αναφορές, χρησιμοποιήστε εικόνες PNG, JPEG ή WebP των οποίων η μεταφόρτωση έχει ολοκληρωθεί. Ο οδηγός του τεκμηριώνει επίσης διαδοχικές επεξεργασίες: χρησιμοποιήστε το αποτέλεσμα μιας επεξεργασίας ως είσοδο για την επόμενη. Έτσι, μια βασική σύνθεση μπορεί να μετατραπεί σε πιο συγκεκριμένο αποτέλεσμα με μια αλλαγή επίπλων και κατόπιν μια προσαρμογή φωτισμού. Κρατήστε την αρχική και την επιλεγμένη ενδιάμεση εικόνα συνδεδεμένες με κάθε περιγραφή, ώστε μια μεταγενέστερη βελτίωση να μπορεί να ελεγχθεί ως προς την επιθυμητή σύνθεση.\n\n### Συνδυασμός πολλών εικόνων αναφοράς\n\nΟ τρέχων οδηγός για πολλές εικόνες επιτρέπει έως πέντε εικόνες προέλευσης σε μία επεξεργασία. Αναφερθείτε σε αυτές με τη σειρά που δόθηκαν και αναθέστε σε καθεμία σαφή ρόλο, όπως το θέμα από την πρώτη εικόνα και το περιβάλλον από τη δεύτερη. Η αναλογία του αποτελέσματος ακολουθεί από προεπιλογή την πρώτη εικόνα εισόδου, ενώ υπάρχει δυνατότητα ρητής επιλογής άλλης αναλογίας. Για μια απεικόνιση προϊόντος μέσα σε δωμάτιο, περιγράψτε τη θέση, το μέγεθος και την επαφή του προϊόντος με τις επιφάνειες του δωματίου και ζητήστε να διατηρηθούν οι λεπτομέρειες που το ταυτοποιούν. Εξετάστε πώς συνδυάστηκαν οι εικόνες προέλευσης αντί να υποθέτετε ότι κάθε στοιχείο αντιγράφηκε χωρίς αλλαγές.\n\n### Παραλαβή και διατήρηση της εικόνας\n\nΟ δημιουργός επιστρέφει από προεπιλογή μια προσωρινή διεύθυνση εικόνας και τεκμηριώνει επίσης έξοδο με κωδικοποιημένη εικόνα. Αποθηκεύστε έγκαιρα την ίδια την εικόνα όταν τη χρειάζεστε ως υλικό. Η προαιρετική αναβαλλόμενη ροή διαχωρίζει την επιβεβαίωση λήψης του αιτήματος από την ολοκλήρωση: ένα αναγνωριστικό αιτήματος ακολουθείται από κατάσταση pending, done ή failed, και τα αναβαλλόμενα αποτελέσματα χρησιμοποιούν τη μορφή απάντησης με διεύθυνση, με τεκμηριωμένη περίοδο διατήρησης 24 ωρών. Ένα υποβληθέν αίτημα ή μια κατάσταση pending δεν αποτελεί ολοκληρωμένη εικόνα. Φυλάξτε την ολοκληρωμένη εικόνα μαζί με την περιγραφή και τις επιλεγμένες ρυθμίσεις για μελλοντική επαναχρησιμοποίηση.\n\nΈνα χρήσιμο τελικό παραδοτέο είναι μια εικόνα που ταιριάζει σε μια καθορισμένη σκηνή, διάταξη ή περιγραφή επεξεργασίας. Εξετάστε ολόκληρη τη σύνθεση και τις μικρές λεπτομέρειές της, ιδίως το θέμα προέλευσης, τα όρια των αντικειμένων, τις αναλογίες και κάθε κείμενο που μεταφέρει νόημα. Για διαδοχικές βελτιώσεις, αλλάξτε την οδηγία που σχετίζεται με το ορατό πρόβλημα και χρησιμοποιήστε το επιλεγμένο αποτέλεσμα ως επόμενη αναφορά. Διατυπώστε συγκεκριμένα την επιθυμητή τροποποίηση και τις οδηγίες διατήρησης, ώστε κάθε αποτέλεσμα να μπορεί να αξιολογηθεί ως προς έναν συγκεκριμένο δημιουργικό σκοπό.",
    "alias_of": null,
    "aliases": [],
    "author": "xAI",
    "capabilities": {
      "context_length": 65536,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "image"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.08",
            "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.08",
            "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": "x-ai/grok-imagine-image-2.0",
    "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": [
                  "x-ai/grok-imagine-image-2.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1K",
                  "2K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "3:4",
                  "4:3",
                  "9:16",
                  "16:9",
                  "2:3",
                  "3:2",
                  "9:19.5",
                  "19.5:9",
                  "9:20",
                  "20:9",
                  "1:2",
                  "2:1",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "low",
                  "medium"
                ],
                "enum_known": true,
                "name": "quality",
                "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": 3,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "3:4",
                    "4:3",
                    "9:16",
                    "16:9",
                    "2:3",
                    "3:2",
                    "9:19.5",
                    "19.5:9",
                    "9:20",
                    "20:9",
                    "1:2",
                    "2:1",
                    "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": 3,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "x-ai/grok-imagine-image-2.0"
                  ],
                  "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"
                },
                "quality": {
                  "enum": [
                    "low",
                    "medium"
                  ],
                  "type": "string"
                },
                "resolution": {
                  "enum": [
                    "1K",
                    "2K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "x-ai/grok-imagine-image-2.0",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image"
            },
            "label": "input image",
            "units": [
              {
                "amount": "0.02",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.02",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "basis": "Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Εκτιμώμενο κόστος δημιουργίας",
            "units": [
              {
                "amount": "0.08",
                "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.08",
                "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': 'x-ai/grok-imagine-image-2.0', '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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image"
            },
            "label": "input image",
            "units": [
              {
                "amount": "0.02",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.02",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "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.08",
                "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.08",
                "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": "x-ai/grok-imagine-image-2.0",
        "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.02",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_input",
            "label": "input image",
            "native_amount_usd_per_unit": "0.02",
            "native_quantity": 1,
            "public_unit_label": "per input image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "image_input"
          },
          {
            "amount": "0.08",
            "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.08",
            "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": "x-ai/grok-imagine-image-2.0",
        "request_model_id": "x-ai/grok-imagine-image-2.0",
        "route_label": "Ultra"
      }
    ],
    "name": "xAI: Grok Imagine Image 2.0",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.08,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.08,
      "varies": false
    },
    "short": "Το Grok Imagine Image 2.0 δημιουργεί εικόνες από γραπτές περιγραφές και επεξεργάζεται υπάρχουσες εικόνες με οδηγίες σε φυσική γλώσσα. Η xAI τεκμηριώνει ρυθμίσεις ποιότητας, ανάλυσης και σύνθεσης, τη χρήση πολλών εικόνων αναφοράς, τη μεταφορά ύφους και τη σταδιακή βελτίωση."
  },
  "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": "Το Grok Imagine Image 2.0 δημιουργεί εικόνες από γραπτές περιγραφές και επεξεργάζεται υπάρχουσες εικόνες με οδηγίες σε φυσική γλώσσα. Η xAI τεκμηριώνει ρυθμίσεις ποιότητας, ανάλυσης και σύνθεσης, τη χρήση πολλών εικόνων αναφοράς, τη μεταφορά ύφους και τη σταδιακή βελτίωση.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "756a1220b336c4bf55eecf31675f341de31e1c73a5e483e781607d5c5e9f0d88",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "9689e17855532af7b62f01f3f6582b6aa1c5670baac5699ab6c70500bd8adbf7"
}
