{
  "aboutHtml": "<h4>Εκφραστική εικονογράφηση και σταθερή δημιουργική ανάπτυξη</h4><p>Το Krea 2 Medium είναι μοντέλο εικόνας Krea 2 εκπαιδευμένο από την αρχή και σχεδιασμένο για εκφραστική εικονογράφηση. Η Krea το περιγράφει ως μικρότερο από το Large και με εκτενέστερη μεταγενέστερη εκπαίδευση, με πιο σταθερό χαρακτήρα που λειτουργεί ιδιαίτερα καλά σε εικονογράφηση, anime και ζωγραφική. Τα Medium και Large μοιράζονται το τεκμηριωμένο σύστημα ελέγχων· η διαφορά έκδοσης αφορά σχεδιασμό μοντέλου και οπτικές τάσεις, αντί για διαφορετικό είδος εξόδου.</p><p>Χρησιμοποιήστε το Medium για ανάπτυξη εκδοτικών εικονογραφήσεων, σκηνών ιστορίας, ζωγραφικών ιδεών και συντονισμένων οπτικών κατευθύνσεων. Ξεκινήστε με περιγραφή που προσδιορίζει θέμα, δράση, περιβάλλον, σύνθεση, παλέτα και μέσο. Για παράδειγμα: «Ποδηλάτης διασχίζει ήσυχη γέφυρα δίπλα σε ποτάμι την αυγή, πλατιά εκδοτική εικονογράφηση, διαδοχικά σχήματα γκουάς, απαλές μπλε σκιές και μία κοραλλί πινελιά, ελεύθερος χώρος πάνω από το ποτάμι για τίτλο». Αντιμετωπίστε τον κενό χώρο ως αίτημα σύνθεσης και τοποθετήστε την τελική τυπογραφία στην ολοκληρωμένη διάταξη.</p><h4>Προετοιμάστε εισόδους κειμένου και εικόνας</h4><p>Η διεπαφή δημιουργίας απαιτεί προτροπή, αναλογία διαστάσεων και ανάλυση. Το κείμενο παρέχει τη σκηνή και τη δημιουργική κατεύθυνση. Προαιρετική αρχική εικόνα ενεργοποιεί δημιουργία εικόνας από εικόνα, η οποία ξεκινά από αυτή την εικόνα αντί από καθαρό θόρυβο. Η ισχύς αποθορυβοποίησης κυμαίνεται από 0 έως 1: το 0 κρατά την εικόνα εισόδου, το 1 την αντικαθιστά πλήρως και η τεκμηριωμένη προεπιλογή είναι 0.99. Χρησιμοποιήστε αρχική εικόνα όταν η αρχική σύνθεση είναι σημαντική και περιγράψτε κατόπιν τη νέα απόδοση, επιλέγοντας πόσο μετασχηματισμό θα επιτρέψετε.</p><p>Οι εικόνες αναφοράς ύφους επηρεάζουν την οπτική απόδοση χωριστά από την αρχική εικόνα. Το ειδικό σχήμα μοντέλου περιορίζει τις συμβολοσειρές URI αρχικής εικόνας και αναφορών ύφους σε 1,024 χαρακτήρες. Το ειδικό σχήμα του Medium δέχεται έως δέκα αναφορές, με επιρροή καθεμίας από 0 έως 1 και προεπιλογή 0.5. Προετοιμάστε μικρό, στοχευμένο σύνολο αναφορών: μια εικόνα μπορεί να καθορίζει τις πινελιές και μια άλλη την παλέτα ή τον φωτισμό. Δηλώστε την επιθυμητή σχέση στην περιγραφή, αντί να βασίζεστε σε ανάμεικτη συλλογή για να υπονοήσει συνεκτική κατεύθυνση.</p><p>Ένα moodboard ομαδοποιεί σχετικές αναφορές γύρω από κοινό ύφος, παλέτα, υφή ή σύνθεση. Η τεκμηριωμένη ροή δημιουργεί πρώτα το moodboard και χρησιμοποιεί κατόπιν το υπάρχον αναγνωριστικό του σε αίτημα δημιουργίας. Το Medium δέχεται ένα moodboard, με επιρροή από 0 έως 1 και προεπιλογή 0.23 στο σχήμα αιτήματος. Τα εκπαιδευμένα ύφη, συνήθως LoRA, είναι χωριστή είσοδος που επιλέγεται με αναγνωριστικό και ισχύ από -2 έως 2. Επιλέξτε την κατάλληλη είσοδο για την εργασία: αρχική εικόνα ξεκινά τη σκηνή, αναφορά υποδεικνύει εμφάνιση και moodboard ή εκπαιδευμένο ύφος παρέχει επαναχρησιμοποιήσιμη κατεύθυνση.</p><h4>Ελέγξτε την ερμηνεία και το οπτικό αποτέλεσμα</h4><p>Το Creativity ελέγχει την επέκταση προτροπής. Το raw απενεργοποιεί την επέκταση· το low μένει πιο κοντά στην κυριολεκτική περιγραφή, ενώ medium και high επιτρέπουν περισσότερη ερμηνεία. Το ειδικό σχήμα αιτήματος του Medium χρησιμοποιεί low ως προεπιλογή. Για αυστηρά προσδιορισμένη εικονογράφηση, γράψτε πλήρη κατεύθυνση και ξεκινήστε με συγκρατημένη επέκταση. Για αρχική εξερεύνηση, χαλαρότερη ρύθμιση μπορεί να αναπτύξει απλούστερη ιδέα σε πλουσιότερη σκηνή.</p><p>Τρία ανεξάρτητα ρυθμιστικά διαμορφώνουν την εικόνα: Intensity, Complexity και Movement. Καθένα δέχεται ακέραιο από -100 έως 100, με ουδέτερο το 0. Το Intensity μετατοπίζει την απόδοση από ήπια σε έντονη. Το Complexity μετατοπίζει τη σύνθεση από καθαρή και μινιμαλιστική σε πυκνή λεπτομέρεια. Το Movement μεταβάλλει την οπτική ενέργεια, τη χειρονομία και την υποδηλούμενη κίνηση. Το Movement παραμένει έλεγχος στατικής εικόνας· δεν δημιουργεί animation ή κλιπ βίντεο. Τα ρυθμιστικά είναι ανεξάρτητα από την επέκταση προτροπής του Creativity και μπορούν να συνδυαστούν με εισόδους αναφοράς.</p><p>Μια πρακτική ροή εικονογράφησης καθορίζει πρώτα τη σκηνή, μετά ρυθμίζει παλέτα και απόδοση και κατόπιν προσαρμόζει πυκνότητα ή ενέργεια. Καταγράψτε προτροπή, σύνολο αναφορών και προαιρετικό seed αλλάζοντας κάθε φορά έναν έλεγχο. Για την εικονογράφηση δίπλα στο ποτάμι, χαμηλότερη πολυπλοκότητα μπορεί να απλοποιήσει το φόντο, ενώ υψηλότερη τιμή κίνησης μπορεί να υποδηλώνει πιο ζωηρή ποδηλατική στάση. Πρόκειται για δημιουργικές κατευθύνσεις προς έλεγχο στο ολοκληρωμένο αποτέλεσμα, όχι ακριβή κλειδώματα διάταξης ή στάσης.</p><h4>Μορφή, δημιουργία και παράδοση</h4><p>Το τεκμηριωμένο σχήμα δημιουργίας του Medium προσφέρει κλίμακα ανάλυσης 1K και εννέα αναλογίες: 1:1, 4:3, 3:2, 16:9, 2.35:1, 4:5, 3:4, 2:3 και 9:16. Επιλέξτε το επιθυμητό κάδρο πριν τη δημιουργία, ώστε η περιγραφή να ορίζει ανάλογα τη σύνθεση. Μια τετράγωνη εικονογράφηση, μια πλατιά σκηνή ιστορίας και ένα κάθετο εξώφυλλο χρειάζονται διαφορετική θέση του κύριου θέματος και των γύρω λεπτομερειών.</p><p>Η τεκμηριωμένη ροή δημιουργίας επιστρέφει εργασία, η οποία αρχικά μπορεί να εκκρεμεί. Παρακολουθήστε την κατάστασή της έως την ολοκλήρωση και ανακτήστε κατόπιν τις διευθύνσεις εικόνων αποτελέσματος. Διατηρήστε την επιλεγμένη εικόνα μαζί με περιγραφή, εικόνες εισόδου και ρυθμίσεις ελέγχων. Ελέγξτε σιλουέτα, χέρια ή μικρά αντικείμενα, προοπτική, παλέτα και κάθε ορατό κείμενο πριν την ενσωματώσετε σε δημοσίευση ή καμπάνια.</p><p>Η έμφαση του Medium στην εικονογράφηση είναι χρήσιμη επιλογή έκδοσης, όχι υπόσχεση πανομοιότυπων αποτελεσμάτων μεταξύ προτροπών. Μια οπτική αναφορά μπορεί να καθοδηγεί το ύφος χωρίς να αντιγράφει τέλεια θέμα ή διάταξη και η ισχύς εικόνας προς εικόνα αλλάζει πόσο από την αρχική εικόνα επιβιώνει. Χρησιμοποιήστε ρητές οδηγίες για απαιτούμενα στοιχεία, εξετάστε κάθε ολοκληρωμένη έξοδο έναντι της περιγραφής και κάντε τις τελικές προσαρμογές σύνθεσης, τυπογραφίας και παραγωγής σε πρόγραμμα επεξεργασίας.</p>",
  "aboutText": "### Εκφραστική εικονογράφηση και σταθερή δημιουργική ανάπτυξη\n\nΤο Krea 2 Medium είναι μοντέλο εικόνας Krea 2 εκπαιδευμένο από την αρχή και σχεδιασμένο για εκφραστική εικονογράφηση. Η Krea το περιγράφει ως μικρότερο από το Large και με εκτενέστερη μεταγενέστερη εκπαίδευση, με πιο σταθερό χαρακτήρα που λειτουργεί ιδιαίτερα καλά σε εικονογράφηση, anime και ζωγραφική. Τα Medium και Large μοιράζονται το τεκμηριωμένο σύστημα ελέγχων· η διαφορά έκδοσης αφορά σχεδιασμό μοντέλου και οπτικές τάσεις, αντί για διαφορετικό είδος εξόδου.\n\nΧρησιμοποιήστε το Medium για ανάπτυξη εκδοτικών εικονογραφήσεων, σκηνών ιστορίας, ζωγραφικών ιδεών και συντονισμένων οπτικών κατευθύνσεων. Ξεκινήστε με περιγραφή που προσδιορίζει θέμα, δράση, περιβάλλον, σύνθεση, παλέτα και μέσο. Για παράδειγμα: «Ποδηλάτης διασχίζει ήσυχη γέφυρα δίπλα σε ποτάμι την αυγή, πλατιά εκδοτική εικονογράφηση, διαδοχικά σχήματα γκουάς, απαλές μπλε σκιές και μία κοραλλί πινελιά, ελεύθερος χώρος πάνω από το ποτάμι για τίτλο». Αντιμετωπίστε τον κενό χώρο ως αίτημα σύνθεσης και τοποθετήστε την τελική τυπογραφία στην ολοκληρωμένη διάταξη.\n\n### Προετοιμάστε εισόδους κειμένου και εικόνας\n\nΗ διεπαφή δημιουργίας απαιτεί προτροπή, αναλογία διαστάσεων και ανάλυση. Το κείμενο παρέχει τη σκηνή και τη δημιουργική κατεύθυνση. Προαιρετική αρχική εικόνα ενεργοποιεί δημιουργία εικόνας από εικόνα, η οποία ξεκινά από αυτή την εικόνα αντί από καθαρό θόρυβο. Η ισχύς αποθορυβοποίησης κυμαίνεται από 0 έως 1: το 0 κρατά την εικόνα εισόδου, το 1 την αντικαθιστά πλήρως και η τεκμηριωμένη προεπιλογή είναι 0.99. Χρησιμοποιήστε αρχική εικόνα όταν η αρχική σύνθεση είναι σημαντική και περιγράψτε κατόπιν τη νέα απόδοση, επιλέγοντας πόσο μετασχηματισμό θα επιτρέψετε.\n\nΟι εικόνες αναφοράς ύφους επηρεάζουν την οπτική απόδοση χωριστά από την αρχική εικόνα. Το ειδικό σχήμα μοντέλου περιορίζει τις συμβολοσειρές URI αρχικής εικόνας και αναφορών ύφους σε 1,024 χαρακτήρες. Το ειδικό σχήμα του Medium δέχεται έως δέκα αναφορές, με επιρροή καθεμίας από 0 έως 1 και προεπιλογή 0.5. Προετοιμάστε μικρό, στοχευμένο σύνολο αναφορών: μια εικόνα μπορεί να καθορίζει τις πινελιές και μια άλλη την παλέτα ή τον φωτισμό. Δηλώστε την επιθυμητή σχέση στην περιγραφή, αντί να βασίζεστε σε ανάμεικτη συλλογή για να υπονοήσει συνεκτική κατεύθυνση.\n\nΈνα moodboard ομαδοποιεί σχετικές αναφορές γύρω από κοινό ύφος, παλέτα, υφή ή σύνθεση. Η τεκμηριωμένη ροή δημιουργεί πρώτα το moodboard και χρησιμοποιεί κατόπιν το υπάρχον αναγνωριστικό του σε αίτημα δημιουργίας. Το Medium δέχεται ένα moodboard, με επιρροή από 0 έως 1 και προεπιλογή 0.23 στο σχήμα αιτήματος. Τα εκπαιδευμένα ύφη, συνήθως LoRA, είναι χωριστή είσοδος που επιλέγεται με αναγνωριστικό και ισχύ από -2 έως 2. Επιλέξτε την κατάλληλη είσοδο για την εργασία: αρχική εικόνα ξεκινά τη σκηνή, αναφορά υποδεικνύει εμφάνιση και moodboard ή εκπαιδευμένο ύφος παρέχει επαναχρησιμοποιήσιμη κατεύθυνση.\n\n### Ελέγξτε την ερμηνεία και το οπτικό αποτέλεσμα\n\nΤο Creativity ελέγχει την επέκταση προτροπής. Το raw απενεργοποιεί την επέκταση· το low μένει πιο κοντά στην κυριολεκτική περιγραφή, ενώ medium και high επιτρέπουν περισσότερη ερμηνεία. Το ειδικό σχήμα αιτήματος του Medium χρησιμοποιεί low ως προεπιλογή. Για αυστηρά προσδιορισμένη εικονογράφηση, γράψτε πλήρη κατεύθυνση και ξεκινήστε με συγκρατημένη επέκταση. Για αρχική εξερεύνηση, χαλαρότερη ρύθμιση μπορεί να αναπτύξει απλούστερη ιδέα σε πλουσιότερη σκηνή.\n\nΤρία ανεξάρτητα ρυθμιστικά διαμορφώνουν την εικόνα: Intensity, Complexity και Movement. Καθένα δέχεται ακέραιο από -100 έως 100, με ουδέτερο το 0. Το Intensity μετατοπίζει την απόδοση από ήπια σε έντονη. Το Complexity μετατοπίζει τη σύνθεση από καθαρή και μινιμαλιστική σε πυκνή λεπτομέρεια. Το Movement μεταβάλλει την οπτική ενέργεια, τη χειρονομία και την υποδηλούμενη κίνηση. Το Movement παραμένει έλεγχος στατικής εικόνας· δεν δημιουργεί animation ή κλιπ βίντεο. Τα ρυθμιστικά είναι ανεξάρτητα από την επέκταση προτροπής του Creativity και μπορούν να συνδυαστούν με εισόδους αναφοράς.\n\nΜια πρακτική ροή εικονογράφησης καθορίζει πρώτα τη σκηνή, μετά ρυθμίζει παλέτα και απόδοση και κατόπιν προσαρμόζει πυκνότητα ή ενέργεια. Καταγράψτε προτροπή, σύνολο αναφορών και προαιρετικό seed αλλάζοντας κάθε φορά έναν έλεγχο. Για την εικονογράφηση δίπλα στο ποτάμι, χαμηλότερη πολυπλοκότητα μπορεί να απλοποιήσει το φόντο, ενώ υψηλότερη τιμή κίνησης μπορεί να υποδηλώνει πιο ζωηρή ποδηλατική στάση. Πρόκειται για δημιουργικές κατευθύνσεις προς έλεγχο στο ολοκληρωμένο αποτέλεσμα, όχι ακριβή κλειδώματα διάταξης ή στάσης.\n\n### Μορφή, δημιουργία και παράδοση\n\nΤο τεκμηριωμένο σχήμα δημιουργίας του Medium προσφέρει κλίμακα ανάλυσης 1K και εννέα αναλογίες: 1:1, 4:3, 3:2, 16:9, 2.35:1, 4:5, 3:4, 2:3 και 9:16. Επιλέξτε το επιθυμητό κάδρο πριν τη δημιουργία, ώστε η περιγραφή να ορίζει ανάλογα τη σύνθεση. Μια τετράγωνη εικονογράφηση, μια πλατιά σκηνή ιστορίας και ένα κάθετο εξώφυλλο χρειάζονται διαφορετική θέση του κύριου θέματος και των γύρω λεπτομερειών.\n\nΗ τεκμηριωμένη ροή δημιουργίας επιστρέφει εργασία, η οποία αρχικά μπορεί να εκκρεμεί. Παρακολουθήστε την κατάστασή της έως την ολοκλήρωση και ανακτήστε κατόπιν τις διευθύνσεις εικόνων αποτελέσματος. Διατηρήστε την επιλεγμένη εικόνα μαζί με περιγραφή, εικόνες εισόδου και ρυθμίσεις ελέγχων. Ελέγξτε σιλουέτα, χέρια ή μικρά αντικείμενα, προοπτική, παλέτα και κάθε ορατό κείμενο πριν την ενσωματώσετε σε δημοσίευση ή καμπάνια.\n\nΗ έμφαση του Medium στην εικονογράφηση είναι χρήσιμη επιλογή έκδοσης, όχι υπόσχεση πανομοιότυπων αποτελεσμάτων μεταξύ προτροπών. Μια οπτική αναφορά μπορεί να καθοδηγεί το ύφος χωρίς να αντιγράφει τέλεια θέμα ή διάταξη και η ισχύς εικόνας προς εικόνα αλλάζει πόσο από την αρχική εικόνα επιβιώνει. Χρησιμοποιήστε ρητές οδηγίες για απαιτούμενα στοιχεία, εξετάστε κάθε ολοκληρωμένη έξοδο έναντι της περιγραφής και κάντε τις τελικές προσαρμογές σύνθεσης, τυπογραφίας και παραγωγής σε πρόγραμμα επεξεργασίας.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "8ebe0cbde518f461f120809f64fff40238f47729095ff624cf2f7054f356b076",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "el",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Krea: Krea 2 Medium</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>Krea /</span><code>krea/krea-2-medium</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|krea%2Fkrea-2-medium\">Εικόνες</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\">Το Krea 2 Medium δημιουργεί εκφραστικές εικονογραφήσεις από κείμενο και προαιρετικές οπτικές εισόδους. Η εκτενέστερη μεταγενέστερη εκπαίδευσή του ευνοεί σταθερά αποτελέσματα σε εικονογράφηση, anime και ζωγραφική, με ελέγχους ύφους, ερμηνείας προτροπής, πυκνότητας σύνθεσης και οπτικής ενέργειας.</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\"><h4>Εκφραστική εικονογράφηση και σταθερή δημιουργική ανάπτυξη</h4><p>Το Krea 2 Medium είναι μοντέλο εικόνας Krea 2 εκπαιδευμένο από την αρχή και σχεδιασμένο για εκφραστική εικονογράφηση. Η Krea το περιγράφει ως μικρότερο από το Large και με εκτενέστερη μεταγενέστερη εκπαίδευση, με πιο σταθερό χαρακτήρα που λειτουργεί ιδιαίτερα καλά σε εικονογράφηση, anime και ζωγραφική. Τα Medium και Large μοιράζονται το τεκμηριωμένο σύστημα ελέγχων· η διαφορά έκδοσης αφορά σχεδιασμό μοντέλου και οπτικές τάσεις, αντί για διαφορετικό είδος εξόδου.</p><p>Χρησιμοποιήστε το Medium για ανάπτυξη εκδοτικών εικονογραφήσεων, σκηνών ιστορίας, ζωγραφικών ιδεών και συντονισμένων οπτικών κατευθύνσεων. Ξεκινήστε με περιγραφή που προσδιορίζει θέμα, δράση, περιβάλλον, σύνθεση, παλέτα και μέσο. Για παράδειγμα: «Ποδηλάτης διασχίζει ήσυχη γέφυρα δίπλα σε ποτάμι την αυγή, πλατιά εκδοτική εικονογράφηση, διαδοχικά σχήματα γκουάς, απαλές μπλε σκιές και μία κοραλλί πινελιά, ελεύθερος χώρος πάνω από το ποτάμι για τίτλο». Αντιμετωπίστε τον κενό χώρο ως αίτημα σύνθεσης και τοποθετήστε την τελική τυπογραφία στην ολοκληρωμένη διάταξη.</p><h4>Προετοιμάστε εισόδους κειμένου και εικόνας</h4><p>Η διεπαφή δημιουργίας απαιτεί προτροπή, αναλογία διαστάσεων και ανάλυση. Το κείμενο παρέχει τη σκηνή και τη δημιουργική κατεύθυνση. Προαιρετική αρχική εικόνα ενεργοποιεί δημιουργία εικόνας από εικόνα, η οποία ξεκινά από αυτή την εικόνα αντί από καθαρό θόρυβο. Η ισχύς αποθορυβοποίησης κυμαίνεται από 0 έως 1: το 0 κρατά την εικόνα εισόδου, το 1 την αντικαθιστά πλήρως και η τεκμηριωμένη προεπιλογή είναι 0.99. Χρησιμοποιήστε αρχική εικόνα όταν η αρχική σύνθεση είναι σημαντική και περιγράψτε κατόπιν τη νέα απόδοση, επιλέγοντας πόσο μετασχηματισμό θα επιτρέψετε.</p><p>Οι εικόνες αναφοράς ύφους επηρεάζουν την οπτική απόδοση χωριστά από την αρχική εικόνα. Το ειδικό σχήμα μοντέλου περιορίζει τις συμβολοσειρές URI αρχικής εικόνας και αναφορών ύφους σε 1,024 χαρακτήρες. Το ειδικό σχήμα του Medium δέχεται έως δέκα αναφορές, με επιρροή καθεμίας από 0 έως 1 και προεπιλογή 0.5. Προετοιμάστε μικρό, στοχευμένο σύνολο αναφορών: μια εικόνα μπορεί να καθορίζει τις πινελιές και μια άλλη την παλέτα ή τον φωτισμό. Δηλώστε την επιθυμητή σχέση στην περιγραφή, αντί να βασίζεστε σε ανάμεικτη συλλογή για να υπονοήσει συνεκτική κατεύθυνση.</p><p>Ένα moodboard ομαδοποιεί σχετικές αναφορές γύρω από κοινό ύφος, παλέτα, υφή ή σύνθεση. Η τεκμηριωμένη ροή δημιουργεί πρώτα το moodboard και χρησιμοποιεί κατόπιν το υπάρχον αναγνωριστικό του σε αίτημα δημιουργίας. Το Medium δέχεται ένα moodboard, με επιρροή από 0 έως 1 και προεπιλογή 0.23 στο σχήμα αιτήματος. Τα εκπαιδευμένα ύφη, συνήθως LoRA, είναι χωριστή είσοδος που επιλέγεται με αναγνωριστικό και ισχύ από -2 έως 2. Επιλέξτε την κατάλληλη είσοδο για την εργασία: αρχική εικόνα ξεκινά τη σκηνή, αναφορά υποδεικνύει εμφάνιση και moodboard ή εκπαιδευμένο ύφος παρέχει επαναχρησιμοποιήσιμη κατεύθυνση.</p><h4>Ελέγξτε την ερμηνεία και το οπτικό αποτέλεσμα</h4><p>Το Creativity ελέγχει την επέκταση προτροπής. Το raw απενεργοποιεί την επέκταση· το low μένει πιο κοντά στην κυριολεκτική περιγραφή, ενώ medium και high επιτρέπουν περισσότερη ερμηνεία. Το ειδικό σχήμα αιτήματος του Medium χρησιμοποιεί low ως προεπιλογή. Για αυστηρά προσδιορισμένη εικονογράφηση, γράψτε πλήρη κατεύθυνση και ξεκινήστε με συγκρατημένη επέκταση. Για αρχική εξερεύνηση, χαλαρότερη ρύθμιση μπορεί να αναπτύξει απλούστερη ιδέα σε πλουσιότερη σκηνή.</p><p>Τρία ανεξάρτητα ρυθμιστικά διαμορφώνουν την εικόνα: Intensity, Complexity και Movement. Καθένα δέχεται ακέραιο από -100 έως 100, με ουδέτερο το 0. Το Intensity μετατοπίζει την απόδοση από ήπια σε έντονη. Το Complexity μετατοπίζει τη σύνθεση από καθαρή και μινιμαλιστική σε πυκνή λεπτομέρεια. Το Movement μεταβάλλει την οπτική ενέργεια, τη χειρονομία και την υποδηλούμενη κίνηση. Το Movement παραμένει έλεγχος στατικής εικόνας· δεν δημιουργεί animation ή κλιπ βίντεο. Τα ρυθμιστικά είναι ανεξάρτητα από την επέκταση προτροπής του Creativity και μπορούν να συνδυαστούν με εισόδους αναφοράς.</p><p>Μια πρακτική ροή εικονογράφησης καθορίζει πρώτα τη σκηνή, μετά ρυθμίζει παλέτα και απόδοση και κατόπιν προσαρμόζει πυκνότητα ή ενέργεια. Καταγράψτε προτροπή, σύνολο αναφορών και προαιρετικό seed αλλάζοντας κάθε φορά έναν έλεγχο. Για την εικονογράφηση δίπλα στο ποτάμι, χαμηλότερη πολυπλοκότητα μπορεί να απλοποιήσει το φόντο, ενώ υψηλότερη τιμή κίνησης μπορεί να υποδηλώνει πιο ζωηρή ποδηλατική στάση. Πρόκειται για δημιουργικές κατευθύνσεις προς έλεγχο στο ολοκληρωμένο αποτέλεσμα, όχι ακριβή κλειδώματα διάταξης ή στάσης.</p><h4>Μορφή, δημιουργία και παράδοση</h4><p>Το τεκμηριωμένο σχήμα δημιουργίας του Medium προσφέρει κλίμακα ανάλυσης 1K και εννέα αναλογίες: 1:1, 4:3, 3:2, 16:9, 2.35:1, 4:5, 3:4, 2:3 και 9:16. Επιλέξτε το επιθυμητό κάδρο πριν τη δημιουργία, ώστε η περιγραφή να ορίζει ανάλογα τη σύνθεση. Μια τετράγωνη εικονογράφηση, μια πλατιά σκηνή ιστορίας και ένα κάθετο εξώφυλλο χρειάζονται διαφορετική θέση του κύριου θέματος και των γύρω λεπτομερειών.</p><p>Η τεκμηριωμένη ροή δημιουργίας επιστρέφει εργασία, η οποία αρχικά μπορεί να εκκρεμεί. Παρακολουθήστε την κατάστασή της έως την ολοκλήρωση και ανακτήστε κατόπιν τις διευθύνσεις εικόνων αποτελέσματος. Διατηρήστε την επιλεγμένη εικόνα μαζί με περιγραφή, εικόνες εισόδου και ρυθμίσεις ελέγχων. Ελέγξτε σιλουέτα, χέρια ή μικρά αντικείμενα, προοπτική, παλέτα και κάθε ορατό κείμενο πριν την ενσωματώσετε σε δημοσίευση ή καμπάνια.</p><p>Η έμφαση του Medium στην εικονογράφηση είναι χρήσιμη επιλογή έκδοσης, όχι υπόσχεση πανομοιότυπων αποτελεσμάτων μεταξύ προτροπών. Μια οπτική αναφορά μπορεί να καθοδηγεί το ύφος χωρίς να αντιγράφει τέλεια θέμα ή διάταξη και η ισχύς εικόνας προς εικόνα αλλάζει πόσο από την αρχική εικόνα επιβιώνει. Χρησιμοποιήστε ρητές οδηγίες για απαιτούμενα στοιχεία, εξετάστε κάθε ολοκληρωμένη έξοδο έναντι της περιγραφής και κάντε τις τελικές προσαρμογές σύνθεσης, τυπογραφίας και παραγωγής σε πρόγραμμα επεξεργασίας.</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>krea/krea-2-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\">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</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>1:1, 4:3, 3:2, 16:9, 4:5, 2:3, 9:16</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>Μέγιστο πλήθος στοιχείων: 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\">provider</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>object</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Παράμετροι και κύκλος ζωής μεθόδου</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Παράμετρος</th><th>Σύμβαση</th></tr></thead><tbody><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>content_type</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>application/json</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>required</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>model, prompt</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>material_types</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>text, image</td></tr></tbody></table></div><p>Κύκλος ζωής: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Τιμολόγηση</h3><div class=\"card-result-process\" data-billing-basis><h5>Πώς υπολογίζεται η τελική χρέωση</h5><p class=\"note-s\">Οι εμφανιζόμενες τιμές χρησιμοποιούνται για την εκτίμηση του κόστους πριν από την παραγωγή. Η τελική χρέωση υπολογίζεται από το κόστος που καταγράφηκε για την αρχική παραγωγή. Η μετρημένη διάρκεια της εξόδου και οι προβλεπόμενες ποσότητες δεν αποτελούν την τελική χρεώσιμη ποσότητα.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.</p><dl data-price-conditions><dt>Γρήγορη λειτουργία</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν επιλέγεται η γρήγορη λειτουργία</span></dd><dt>Λειτουργία flex</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν επιλέγεται η λειτουργία flex</span></dd><dt>Μέγιστη προσπάθεια συλλογισμού</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default</span></dd></dl></div><div data-declared-tariff-pricing><h4>Εκτιμώμενες χρεώσεις για σύγκριση</h4><h4>Τιμές ανά διαμόρφωση</h4><p class=\"note-s\">Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Πίνακας χρεώσεων</th><th>Προβλεπόμενη ποσότητα</th><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Βασικές χρεώσεις token</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>Βασική χρέωση</td><td data-cell-label=\"Προβλεπόμενη ποσότητα\"><span class=\"card-cell-label\">Προβλεπόμενη ποσότητα</span>—</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Token εισόδου · Εκτίμηση μόνο για σύγκριση</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Έξοδος · Token εξόδου · Εκτίμηση μόνο για σύγκριση</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Ανάγνωση από την κρυφή μνήμη · Εκτίμηση μόνο για σύγκριση</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη · Εκτίμηση μόνο για σύγκριση</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα · Εκτίμηση μόνο για σύγκριση</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Εκτιμώμενο κόστος δημιουργίας</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>—</td><td data-cell-label=\"Προβλεπόμενη ποσότητα\"><span class=\"card-cell-label\">Προβλεπόμενη ποσότητα</span>εκτίμηση για μία δημιουργία</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Έξοδος · Εκτιμώμενο κόστος δημιουργίας · Εκτίμηση μόνο για σύγκριση</span> <b>$0.06</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-1775-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1775-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-1775-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1775-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;krea/krea-2-medium&#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-1776-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1776-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-1776-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1776-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=krea%2Fkrea-2-medium&amp;route=Ultra&amp;caller=krea%2Fkrea-2-medium&amp;fmt=images\"><code>krea/krea-2-medium</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=krea%2Fkrea-2-medium&amp;route=Ultra&amp;caller=krea%2Fkrea-2-medium&amp;fmt=images\"><code>krea/krea-2-medium</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "krea/krea-2-medium",
        "fmt": "images",
        "http": "POST",
        "path": "/v1/images/generations",
        "request_model_id": "krea/krea-2-medium",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|images|/v1/images/generations|krea%2Fkrea-2-medium",
      "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": [
                  "krea/krea-2-medium"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "4:3",
                  "3:2",
                  "16:9",
                  "4:5",
                  "2:3",
                  "9:16"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "4:3",
                    "3:2",
                    "16:9",
                    "4:5",
                    "2:3",
                    "9:16"
                  ],
                  "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": 1,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "krea/krea-2-medium"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                },
                "resolution": {
                  "enum": [
                    "1K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "krea/krea-2-medium",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Εκτιμώμενο κόστος δημιουργίας",
            "units": [
              {
                "amount": "0.06",
                "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.06",
                "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': 'krea/krea-2-medium', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Εικόνες",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.06",
                "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.06",
                "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": "krea/krea-2-medium",
        "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.06",
            "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.06",
            "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": "krea/krea-2-medium",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "f996a77323c2ce70232475c9f52102eedcf01e3f9c10b19d800c952d9844d2f6",
    "input_html_sha256": "53292c0262583b2720daa547e0b23b90167fbb679bbfd726edf1468824b47f9f",
    "private_audit_sha256": "472581d873e002cbe506d44e6e7d70143da271c4d04af50fdcc1d429432ae4a3",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/krea-krea-2-medium/",
    "description": "Το Krea 2 Medium δημιουργεί εκφραστικές εικονογραφήσεις από κείμενο και προαιρετικές οπτικές εισόδους. Η εκτενέστερη μεταγενέστερη εκπαίδευσή του ευνοεί σταθερά αποτελέσματα σε εικονογράφηση, anime και ζωγραφική, με ελέγχους ύφους, ερμηνείας προτροπής, πυκνότητας σύνθεσης και οπτικής ενέργειας.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/krea-krea-2-medium/index.md",
    "title": "Krea: Krea 2 Medium — Ailoot",
    "url": "https://ailoot.ai/models/el/krea-krea-2-medium/"
  },
  "rawModel": {
    "about": "### Εκφραστική εικονογράφηση και σταθερή δημιουργική ανάπτυξη\n\nΤο Krea 2 Medium είναι μοντέλο εικόνας Krea 2 εκπαιδευμένο από την αρχή και σχεδιασμένο για εκφραστική εικονογράφηση. Η Krea το περιγράφει ως μικρότερο από το Large και με εκτενέστερη μεταγενέστερη εκπαίδευση, με πιο σταθερό χαρακτήρα που λειτουργεί ιδιαίτερα καλά σε εικονογράφηση, anime και ζωγραφική. Τα Medium και Large μοιράζονται το τεκμηριωμένο σύστημα ελέγχων· η διαφορά έκδοσης αφορά σχεδιασμό μοντέλου και οπτικές τάσεις, αντί για διαφορετικό είδος εξόδου.\n\nΧρησιμοποιήστε το Medium για ανάπτυξη εκδοτικών εικονογραφήσεων, σκηνών ιστορίας, ζωγραφικών ιδεών και συντονισμένων οπτικών κατευθύνσεων. Ξεκινήστε με περιγραφή που προσδιορίζει θέμα, δράση, περιβάλλον, σύνθεση, παλέτα και μέσο. Για παράδειγμα: «Ποδηλάτης διασχίζει ήσυχη γέφυρα δίπλα σε ποτάμι την αυγή, πλατιά εκδοτική εικονογράφηση, διαδοχικά σχήματα γκουάς, απαλές μπλε σκιές και μία κοραλλί πινελιά, ελεύθερος χώρος πάνω από το ποτάμι για τίτλο». Αντιμετωπίστε τον κενό χώρο ως αίτημα σύνθεσης και τοποθετήστε την τελική τυπογραφία στην ολοκληρωμένη διάταξη.\n\n### Προετοιμάστε εισόδους κειμένου και εικόνας\n\nΗ διεπαφή δημιουργίας απαιτεί προτροπή, αναλογία διαστάσεων και ανάλυση. Το κείμενο παρέχει τη σκηνή και τη δημιουργική κατεύθυνση. Προαιρετική αρχική εικόνα ενεργοποιεί δημιουργία εικόνας από εικόνα, η οποία ξεκινά από αυτή την εικόνα αντί από καθαρό θόρυβο. Η ισχύς αποθορυβοποίησης κυμαίνεται από 0 έως 1: το 0 κρατά την εικόνα εισόδου, το 1 την αντικαθιστά πλήρως και η τεκμηριωμένη προεπιλογή είναι 0.99. Χρησιμοποιήστε αρχική εικόνα όταν η αρχική σύνθεση είναι σημαντική και περιγράψτε κατόπιν τη νέα απόδοση, επιλέγοντας πόσο μετασχηματισμό θα επιτρέψετε.\n\nΟι εικόνες αναφοράς ύφους επηρεάζουν την οπτική απόδοση χωριστά από την αρχική εικόνα. Το ειδικό σχήμα μοντέλου περιορίζει τις συμβολοσειρές URI αρχικής εικόνας και αναφορών ύφους σε 1,024 χαρακτήρες. Το ειδικό σχήμα του Medium δέχεται έως δέκα αναφορές, με επιρροή καθεμίας από 0 έως 1 και προεπιλογή 0.5. Προετοιμάστε μικρό, στοχευμένο σύνολο αναφορών: μια εικόνα μπορεί να καθορίζει τις πινελιές και μια άλλη την παλέτα ή τον φωτισμό. Δηλώστε την επιθυμητή σχέση στην περιγραφή, αντί να βασίζεστε σε ανάμεικτη συλλογή για να υπονοήσει συνεκτική κατεύθυνση.\n\nΈνα moodboard ομαδοποιεί σχετικές αναφορές γύρω από κοινό ύφος, παλέτα, υφή ή σύνθεση. Η τεκμηριωμένη ροή δημιουργεί πρώτα το moodboard και χρησιμοποιεί κατόπιν το υπάρχον αναγνωριστικό του σε αίτημα δημιουργίας. Το Medium δέχεται ένα moodboard, με επιρροή από 0 έως 1 και προεπιλογή 0.23 στο σχήμα αιτήματος. Τα εκπαιδευμένα ύφη, συνήθως LoRA, είναι χωριστή είσοδος που επιλέγεται με αναγνωριστικό και ισχύ από -2 έως 2. Επιλέξτε την κατάλληλη είσοδο για την εργασία: αρχική εικόνα ξεκινά τη σκηνή, αναφορά υποδεικνύει εμφάνιση και moodboard ή εκπαιδευμένο ύφος παρέχει επαναχρησιμοποιήσιμη κατεύθυνση.\n\n### Ελέγξτε την ερμηνεία και το οπτικό αποτέλεσμα\n\nΤο Creativity ελέγχει την επέκταση προτροπής. Το raw απενεργοποιεί την επέκταση· το low μένει πιο κοντά στην κυριολεκτική περιγραφή, ενώ medium και high επιτρέπουν περισσότερη ερμηνεία. Το ειδικό σχήμα αιτήματος του Medium χρησιμοποιεί low ως προεπιλογή. Για αυστηρά προσδιορισμένη εικονογράφηση, γράψτε πλήρη κατεύθυνση και ξεκινήστε με συγκρατημένη επέκταση. Για αρχική εξερεύνηση, χαλαρότερη ρύθμιση μπορεί να αναπτύξει απλούστερη ιδέα σε πλουσιότερη σκηνή.\n\nΤρία ανεξάρτητα ρυθμιστικά διαμορφώνουν την εικόνα: Intensity, Complexity και Movement. Καθένα δέχεται ακέραιο από -100 έως 100, με ουδέτερο το 0. Το Intensity μετατοπίζει την απόδοση από ήπια σε έντονη. Το Complexity μετατοπίζει τη σύνθεση από καθαρή και μινιμαλιστική σε πυκνή λεπτομέρεια. Το Movement μεταβάλλει την οπτική ενέργεια, τη χειρονομία και την υποδηλούμενη κίνηση. Το Movement παραμένει έλεγχος στατικής εικόνας· δεν δημιουργεί animation ή κλιπ βίντεο. Τα ρυθμιστικά είναι ανεξάρτητα από την επέκταση προτροπής του Creativity και μπορούν να συνδυαστούν με εισόδους αναφοράς.\n\nΜια πρακτική ροή εικονογράφησης καθορίζει πρώτα τη σκηνή, μετά ρυθμίζει παλέτα και απόδοση και κατόπιν προσαρμόζει πυκνότητα ή ενέργεια. Καταγράψτε προτροπή, σύνολο αναφορών και προαιρετικό seed αλλάζοντας κάθε φορά έναν έλεγχο. Για την εικονογράφηση δίπλα στο ποτάμι, χαμηλότερη πολυπλοκότητα μπορεί να απλοποιήσει το φόντο, ενώ υψηλότερη τιμή κίνησης μπορεί να υποδηλώνει πιο ζωηρή ποδηλατική στάση. Πρόκειται για δημιουργικές κατευθύνσεις προς έλεγχο στο ολοκληρωμένο αποτέλεσμα, όχι ακριβή κλειδώματα διάταξης ή στάσης.\n\n### Μορφή, δημιουργία και παράδοση\n\nΤο τεκμηριωμένο σχήμα δημιουργίας του Medium προσφέρει κλίμακα ανάλυσης 1K και εννέα αναλογίες: 1:1, 4:3, 3:2, 16:9, 2.35:1, 4:5, 3:4, 2:3 και 9:16. Επιλέξτε το επιθυμητό κάδρο πριν τη δημιουργία, ώστε η περιγραφή να ορίζει ανάλογα τη σύνθεση. Μια τετράγωνη εικονογράφηση, μια πλατιά σκηνή ιστορίας και ένα κάθετο εξώφυλλο χρειάζονται διαφορετική θέση του κύριου θέματος και των γύρω λεπτομερειών.\n\nΗ τεκμηριωμένη ροή δημιουργίας επιστρέφει εργασία, η οποία αρχικά μπορεί να εκκρεμεί. Παρακολουθήστε την κατάστασή της έως την ολοκλήρωση και ανακτήστε κατόπιν τις διευθύνσεις εικόνων αποτελέσματος. Διατηρήστε την επιλεγμένη εικόνα μαζί με περιγραφή, εικόνες εισόδου και ρυθμίσεις ελέγχων. Ελέγξτε σιλουέτα, χέρια ή μικρά αντικείμενα, προοπτική, παλέτα και κάθε ορατό κείμενο πριν την ενσωματώσετε σε δημοσίευση ή καμπάνια.\n\nΗ έμφαση του Medium στην εικονογράφηση είναι χρήσιμη επιλογή έκδοσης, όχι υπόσχεση πανομοιότυπων αποτελεσμάτων μεταξύ προτροπών. Μια οπτική αναφορά μπορεί να καθοδηγεί το ύφος χωρίς να αντιγράφει τέλεια θέμα ή διάταξη και η ισχύς εικόνας προς εικόνα αλλάζει πόσο από την αρχική εικόνα επιβιώνει. Χρησιμοποιήστε ρητές οδηγίες για απαιτούμενα στοιχεία, εξετάστε κάθε ολοκληρωμένη έξοδο έναντι της περιγραφής και κάντε τις τελικές προσαρμογές σύνθεσης, τυπογραφίας και παραγωγής σε πρόγραμμα επεξεργασίας.",
    "alias_of": null,
    "aliases": [],
    "author": "Krea",
    "capabilities": {
      "context_length": 65536,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "image"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.06",
            "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.06",
            "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": "krea/krea-2-medium",
    "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": [
                  "krea/krea-2-medium"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "4:3",
                  "3:2",
                  "16:9",
                  "4:5",
                  "2:3",
                  "9:16"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "4:3",
                    "3:2",
                    "16:9",
                    "4:5",
                    "2:3",
                    "9:16"
                  ],
                  "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": 1,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "krea/krea-2-medium"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                },
                "resolution": {
                  "enum": [
                    "1K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "krea/krea-2-medium",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Εκτιμώμενο κόστος δημιουργίας",
            "units": [
              {
                "amount": "0.06",
                "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.06",
                "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': 'krea/krea-2-medium', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Εικόνες",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.06",
                "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.06",
                "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": "krea/krea-2-medium",
        "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.06",
            "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.06",
            "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": "krea/krea-2-medium",
        "request_model_id": "krea/krea-2-medium",
        "route_label": "Ultra"
      }
    ],
    "name": "Krea: Krea 2 Medium",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.06,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.06,
      "varies": false
    },
    "short": "Το Krea 2 Medium δημιουργεί εκφραστικές εικονογραφήσεις από κείμενο και προαιρετικές οπτικές εισόδους. Η εκτενέστερη μεταγενέστερη εκπαίδευσή του ευνοεί σταθερά αποτελέσματα σε εικονογράφηση, anime και ζωγραφική, με ελέγχους ύφους, ερμηνείας προτροπής, πυκνότητας σύνθεσης και οπτικής ενέργειας."
  },
  "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": "Το Krea 2 Medium δημιουργεί εκφραστικές εικονογραφήσεις από κείμενο και προαιρετικές οπτικές εισόδους. Η εκτενέστερη μεταγενέστερη εκπαίδευσή του ευνοεί σταθερά αποτελέσματα σε εικονογράφηση, anime και ζωγραφική, με ελέγχους ύφους, ερμηνείας προτροπής, πυκνότητας σύνθεσης και οπτικής ενέργειας.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "f2105a9ecf2fa8efb26952181274547abbb431192f31c879642c5882a0385e76",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "25eee31814ec8a2eefbf6894f4c5d82c1096af1388e5fa2d456a8c8581fe6cc8"
}
