Source: https://ailoot.ai/models/el/recraft-recraft-v3/
Canonical: https://ailoot.ai/models/el/recraft-recraft-v3/
Language: el

# Recraft: Recraft V3

[Markdown](https://ailoot.ai/models/el/recraft-recraft-v3/index.md) · [JSON](https://ailoot.ai/models/el/recraft-recraft-v3/facts.json)

## [Recraft: Recraft V3](https://ailoot.ai/models/el/recraft-recraft-v3/)

Το Recraft V3 δημιουργεί φωτογραφίες, εικονογραφήσεις και γραφιστικές διατάξεις με σύνθεση που λαμβάνει υπόψη το κείμενο και ελέγχους ύφους. Οι διακριτές παραλλαγές raster και SVG ταιριάζουν σε αφίσες, επώνυμα σύνολα εικόνων, εικονίδια και σχέδια όπου διατύπωση και οπτική δομή πρέπει να συνεργάζονται.

- [**Ailoot Ultra · Εικόνες** `POST /v1/images/generations` `recraft/recraft-v3`](https://ailoot.ai/models/el/recraft-recraft-v3/#method-0)

Σχετικά με το μοντέλο

Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.

Το Recraft V3 είναι μοντέλο δημιουργίας εικόνων φτιαγμένο για γραφιστικό σχεδιασμό, καθώς και φωτογραφικές και εικονογραφημένες σκηνές. Μια γραπτή περιγραφή ορίζει θέμα, περιβάλλον και σύνθεση· το αποτέλεσμα είναι εικόνα. Το V3 αναπτύσσει την απόδοση κειμένου και τον φωτορεαλισμό της Recraft, διατηρώντας συνέπεια ύφους από εικόνες παραδείγματος χωρίς επανεκπαίδευση.

#### Το κείμενο ως μέρος της σύνθεσης

Το V3 δουλεύει με κείμενο μέσα στην εικόνα, μαζί με μεγαλύτερα κείμενα και γράμματα μεσαίου μεγέθους. Η Recraft περιγράφει στάδιο διάταξης που καθορίζει λέξεις και θέσεις τους πριν τη δημιουργία εικόνας. Η διάταξη μπορεί να παράγεται αυτόματα από την περιγραφή ή να οργανώνεται χειροκίνητα στο σχεδιαστικό περιβάλλον της Recraft. Αυτό βοηθά στη σύνδεση τίτλου, εικονογράφησης και υποστηρικτικού κειμένου σε μία σύνθεση. Ο κατασκευαστής τεκμηριώνει επίσης ρητές συντεταγμένες διάταξης κειμένου, εκφρασμένες ως προς την εικόνα αντί για σταθερό πλέγμα pixel. Κάθε στοιχείο κειμένου περιέχει μία λέξη και τέσσερα γωνιακά σημεία σε κανονικοποιημένες συντεταγμένες: το (0, 0) είναι επάνω αριστερά και το (1, 1) κάτω δεξιά. Οι συντεταγμένες μπορεί να εκτείνονται εκτός αυτού του εύρους, οπότε το σχήμα περικόπτεται. Οι ρητές λέξεις διάταξης κειμένου πρέπει να ακολουθούν τους τεκμηριωμένους περιορισμούς χαρακτήρων.

Για αφίσα ή εξώφυλλο, δώστε την ακριβή διατύπωση και περιγράψτε την ιεραρχία: ποια γραμμή προηγείται, πού βρίσκεται και πώς την υποστηρίζει η εικόνα. Ελέγξτε την αποδοσμένη ορθογραφία και τις αποστάσεις όταν επιλέγετε αποτέλεσμα.

#### Ύφος, παλέτα και καλλιτεχνική κατεύθυνση

Το V3 περιλαμβάνει επιμελημένα ύφη φωτογραφίας, εικονογράφησης και εμβλημάτων, μαζί με χωριστή βιβλιοθήκη διανυσματικών υφών. Το Recraft V3 Raw είναι το προεπιλεγμένο ύφος μοντέλου raster· το Vector art είναι προεπιλογή για τη διανυσματική παραλλαγή. Το Photorealism στοχεύει σε φωτογραφική εμφάνιση, ενώ το Illustration υποστηρίζει στυλιζαρισμένες υφές, σκίαση και πιο σύνθετες χρωματικές μεταβάσεις. Τα διανυσματικά ύφη ευνοούν σχήματα, περιορισμένες παλέτες και επίπεδα γεμίσματα ή απλές διαβαθμίσεις.

Τα προσαρμοσμένα ύφη μπορούν να δημιουργούνται από εικόνες αναφοράς, υπάρχοντα συμβατά ύφη ή συνδυασμό. Παρέχουν επαναχρησιμοποιήσιμη οπτική κατεύθυνση σε σειρά εικόνων. Οι τεκμηριωμένοι έλεγχοι μίξης επιτρέπουν χωριστά βάρη για αναφορές και αρχικά ύφη· το πλήθος βαρών αντιστοιχεί στις πηγές. Τα PaletteMatch και MaxWeight είναι οι δύο αναφερόμενες πολιτικές μίξης. Ο κατασκευαστής επιτρέπει έως 10 εικόνες αναφοράς ύφους και χρησιμοποιεί την κανονική λειτουργία αντιστοίχισης ύφους για V3. Αποθηκευμένο προσαρμοσμένο ύφος και απευθείας αναφορές ύφους είναι εναλλακτικές είσοδοι και το προσαρμοσμένο ύφος πρέπει να ταιριάζει με το μοντέλο δημιουργίας.

Προτιμώμενα χρώματα και χρώμα φόντου καθοδηγούν την παλέτα. Τεκμηριώνονται έως 10 χρώματα RGB, με κάθε συνιστώσα από 0 έως 255. Προαιρετικά σχετικά βάρη κυμαίνονται από 0 έως 1· πρέπει να παρέχονται για κάθε χρώμα ή για κανένα και το άθροισμά τους δεν μπορεί να υπερβαίνει το 1. Το καλλιτεχνικό επίπεδο κυμαίνεται από 0 για στατική, καθαρή απόδοση έως 5 για πιο δυναμικές, εκκεντρικές συνθέσεις. Μια αρνητική προτροπή περιγράφει ανεπιθύμητα στοιχεία· χωριστός έλεγχος χωρίς κείμενο απενεργοποιεί τις ενσωματωμένες διατάξεις κειμένου. Διατίθεται τυχαίο seed για αναπαραγωγιμότητα. Αυτοί οι έλεγχοι δίνουν διαφορετικούς μοχλούς για τη σκηνή, το ύφος της και την οπτική διάταξη.

#### Εικόνες raster και χωριστή παραλλαγή SVG

Η Recraft τεκμηριώνει δύο παραλλαγές V3. Το μοντέλο raster παράγει WebP χωρίς απώλειες ή PNG και είναι κατάλληλο για φωτογραφική λεπτομέρεια, σκίαση και εικονογράφηση με υφές. Το Recraft V3 Vector παράγει SVG: διαδρομές και σχήματα που μπορούν να κλιμακώνονται χωρίς σταθερή ανάλυση pixel. Ταιριάζει σε εικονογράμματα, ιδέες λογοτύπων, σήματα και λεπτομερή διανυσματικά εικαστικά. Η μετατροπή raster σε vector είναι χωριστή λειτουργία από την απευθείας δημιουργία διανυσματικού εικαστικού.

Και οι δύο παραλλαγές έχουν δική τους ταυτότητα. Μια εικόνα με διανυσματική εμφάνιση και μια πραγματική έξοδος SVG είναι διαφορετικές επιλογές. Επιλέξτε την επιθυμητή έξοδο όταν προετοιμάζετε σχεδιαστική ροή, αντί να αντιμετωπίζετε το κοινό όνομα V3 ως απόδειξη ότι κάθε λειτουργία επιστρέφει ίδιο τύπο αρχείου.

#### Επεξεργασία και ολοκλήρωση υπάρχοντος εικαστικού

Η τεκμηρίωση V3 της Recraft αναφέρει δημιουργία εικόνας προς εικόνα, inpainting, outpainting και αντικατάσταση ή δημιουργία φόντου. Η εργασία εικόνας προς εικόνα συνδυάζει υπάρχουσα εικόνα με νέα περιγραφή. Το inpainting αναδημιουργεί την επιλεγμένη περιοχή χρησιμοποιώντας εικόνα και αντίστοιχη μάσκα· το outpainting προσθέτει περιεχόμενο πέρα από το αρχικό κάδρο. Οι λειτουργίες φόντου αφορούν το περιβάλλον θέματος.

Το συνοδευτικό σύνολο εργαλείων περιλαμβάνει επίσης σβήσιμο, αφαίρεση φόντου, διανυσματοποίηση και δύο προσεγγίσεις αύξησης ανάλυσης. Η δημιουργική αύξηση ανάλυσης μπορεί να εισάγει νέα λεπτομέρεια· η crisp αύξηση ανάλυσης στοχεύει σε πιο ευκρινή μεγαλύτερη απόδοση υπάρχοντος περιεχομένου. Πρόκειται για διακριτές λειτουργίες με δικές τους εισόδους και αποτελέσματα, αντί για πρόσθετες σημασίες του ονόματος μοντέλου raster ή vector.

#### Όρια προτροπής, μεγέθους και αρχικής εικόνας

Η προδιαγραφή δημιουργίας V3 του κατασκευαστή δέχεται προτροπή έως 1000 χαρακτήρες και 1–6 εικόνες ανά αίτημα. Υποστηρίζει 14 αναλογίες: 1:1, 2:1, 1:2, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5, 6:10, 14:10, 10:14, 16:9 και 9:16. Τα τεκμηριωμένα παραδείγματα raster περιλαμβάνουν 1024x1024, 1820x1024 και 1024x1820. Οι ακριβείς διαστάσεις raster πρέπει να προέρχονται από την υποστηριζόμενη λίστα· το SVG χρησιμοποιεί αναλογίες χωρίς σταθερό μέγεθος pixel. Όταν παραλείπεται το μέγεθος, το σύστημα κατασκευαστή το επιλέγει από την προτροπή.

Για λειτουργίες εισόδου εικόνας, ο κατασκευαστής αναφέρει PNG, JPG και WebP, με SVG όπου το επιτρέπει η συγκεκριμένη λειτουργία. Τα αρχεία πρέπει να είναι κάτω από 20 MB, έως 16 MP, με μεγαλύτερη πλευρά έως 4096 pixel. Η μικρότερη πλευρά είναι τουλάχιστον 256 pixel, με εξαίρεση 32 pixel για crisp αύξηση ανάλυσης. Οι μάσκες αντιστοιχούν στο μέγεθος εικόνας και χρησιμοποιούν καθαρό μαύρο και λευκό· οι αναφορές ύφους έχουν συνολικό όριο 64 MB.

Για έργο Ailoot API, μετατρέψτε την εργασία σε εστιασμένη περιγραφή εικόνας: ακριβές κείμενο, διάταξη αντικειμένων, οπτικό ύφος και επιθυμητή σύνθεση. Αφίσα, σκηνή προϊόντος και σειρά εικονιδίων χρειάζονται διαφορετικές περιγραφές· διατηρήστε τις σχετικές διακρίσεις παραλλαγής και λειτουργίας V3 όταν αποφασίζετε πώς θα χρησιμοποιηθεί κάθε αποτέλεσμα.

**Ailoot Ultra · Εικόνες** `POST /v1/images/generations` `recraft/recraft-v3`

[`recraft/recraft-v3`](https://ailoot.ai/models/el/#m=recraft%2Frecraft-v3&route=Ultra&caller=recraft%2Frecraft-v3&fmt=images)

Recraft /`recraft/recraft-v3`

### Εισαγωγή

Το Recraft V3 δημιουργεί φωτογραφίες, εικονογραφήσεις και γραφιστικές διατάξεις με σύνθεση που λαμβάνει υπόψη το κείμενο και ελέγχους ύφους. Οι διακριτές παραλλαγές raster και SVG ταιριάζουν σε αφίσες, επώνυμα σύνολα εικόνων, εικονίδια και σχέδια όπου διατύπωση και οπτική δομή πρέπει να συνεργάζονται.

Αποδεκτές είσοδοι

Κείμενο · Εικόνες

Αποτελέσματα

Εικόνες

### Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι

**Ailoot Ultra · Εικόνες** `POST /v1/images/generations`

Είσοδος

`text`, `image`

Έξοδος

`image`

Μορφή εξόδου

Αρχείο εικόνας

| Πεδίο | Τύπος | Απαίτηση | Τιμές και όρια | Προεπιλογή |
| --- | --- | --- | --- | --- |
| Πεδίο`model` | Τύπος`string` | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια recraft/recraft-v3 | Προεπιλογή— |
| Πεδίο`prompt` | Τύπος`string` | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια Ελάχιστο μήκος: 1 | Προεπιλογή— |
| Πεδίο`n` | Τύπος`integer` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Ελάχιστο: 1 Μέγιστο: 6 | Προεπιλογή— |
| Πεδίο`aspect_ratio` | Τύπος`string` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια 1:1, 4:3, 3:4, 16:9, 9:16, auto | Προεπιλογή— |
| Πεδίο`input_references` | Τύπος`array` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Ελάχιστο πλήθος στοιχείων: 0 Μέγιστο πλήθος στοιχείων: 1 | Προεπιλογή— |

Συνδυασμοί υλικών εισόδου

**Κείμενο σε εικόνα** · Υποχρεωτικό: prompt

Παράμετροι και κύκλος ζωής μεθόδου

| Παράμετρος | Σύμβαση |
| --- | --- |
| Παράμετρος`content_type` | Σύμβασηapplication/json |
| Παράμετρος`required` | Σύμβασηmodel, prompt |
| Παράμετρος`material_types` | Σύμβασηtext, image |
| Παράμετρος`optional_controls` | Σύμβασηaspect\_ratio, n, input\_references |
| Παράμετρος`exact_supported_parameters` | Σύμβαση{"aspect\_ratio":{"type":"enum","values":\["1:1","4:3","3:4","16:9","9:16","auto"\]},"n":{"type":"range","min":1,"max":6},"input\_references":{"type":"range","min":0,"max":1}} |
| Παράμετρος`reference_material_rule` | ΣύμβασηΜόνο πραγματικές εικόνες αναφοράς του πελάτη· διέπονται από τις προϋποθέσεις του τελικού σημείου του παρόχου. |

Εναλλακτικά ονόματα μεθόδου: `/v1/images`

Κύκλος ζωής: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · Το πραγματικό task\_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων

`GET /v1/media/assets/{asset_id}/content`

`GET /v1/media/assets`

`GET /v1/media/assets/{asset_id}`

Χρησιμοποιήστε το ακριβές μοντέλο και τα τεκμηριωμένα πεδία εισόδου.

Διατηρήστε ολόκληρη την απόκριση, κάθε πραγματική έξοδο και τα αρχικά ID που επιστρέφονται.

### Τιμολόγηση

##### Πώς υπολογίζεται η τελική χρέωση

Οι εμφανιζόμενες τιμές χρησιμοποιούνται για την εκτίμηση του κόστους πριν από την παραγωγή. Η τελική χρέωση υπολογίζεται από το κόστος που καταγράφηκε για την αρχική παραγωγή. Η μετρημένη διάρκεια της εξόδου και οι προβλεπόμενες ποσότητες δεν αποτελούν την τελική χρεώσιμη ποσότητα.

Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.

Γρήγορη λειτουργία

Δεν έχει οριστεί Όταν επιλέγεται η γρήγορη λειτουργία

Λειτουργία flex

Δεν έχει οριστεί Όταν επιλέγεται η λειτουργία flex

Μέγιστη προσπάθεια συλλογισμού

Δεν έχει οριστεί Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default

#### Εκτιμώμενες χρεώσεις για σύγκριση

#### Τιμές ανά διαμόρφωση

Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.

| Διαμόρφωση | Πίνακας χρεώσεων | Προβλεπόμενη ποσότητα | Μονάδα τιμολόγησης | Χρέωση |
| --- | --- | --- | --- | --- |
| ΔιαμόρφωσηΒασικές χρεώσεις token | Πίνακας χρεώσεωνΒασική χρέωση | Προβλεπόμενη ποσότητα— | Μονάδα τιμολόγησης— | Χρέωση Είσοδος · Token εισόδου · Εκτίμηση μόνο για σύγκριση **—** / 1K token Έξοδος · Token εξόδου · Εκτίμηση μόνο για σύγκριση **—** / 1K token Είσοδος · Ανάγνωση από την κρυφή μνήμη · Εκτίμηση μόνο για σύγκριση **—** / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη · Εκτίμηση μόνο για σύγκριση **—** / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα · Εκτίμηση μόνο για σύγκριση **—** / 1K token |
| ΔιαμόρφωσηUltra | Πίνακας χρεώσεων— | Προβλεπόμενη ποσότητα— | Μονάδα τιμολόγησηςανά εικόνα εξόδου | Χρέωση Έξοδος · έξοδος εικόνας · Εκτίμηση μόνο για σύγκριση **$0.08** ανά εικόνα εξόδου |
| ΔιαμόρφωσηΕκτιμώμενο κόστος δημιουργίας | Πίνακας χρεώσεων— | Προβλεπόμενη ποσότηταεκτίμηση για μία δημιουργία | Μονάδα τιμολόγησης— | Χρέωση Έξοδος · Εκτιμώμενο κόστος δημιουργίας · Εκτίμηση μόνο για σύγκριση **$0.08** εκτίμηση πριν από τη δημιουργία Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή. |

Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. [Πώς λειτουργούν η δέσμευση και η εκκαθάριση →](https://ailoot.ai/docs/el/billing/reserve/)

#### Στοιχεία τιμοκαταλόγου αναφοράς

Οι πίνακες αναφοράς του μοντέλου δεν αλλάζουν την επιλογή μεθόδου, τις εκτιμήσεις τιμής ή τις χρεώσεις. Οι εφαρμοζόμενες χρεώσεις χρησιμοποιούν τις τιμές της επιλεγμένης μεθόδου Ailoot.

Διαμορφώσεις τιμολόγησης εικόνων

#### Τιμές ανά διαμόρφωση

| Διαμόρφωση | Συνθήκες χρέωσης | Χρέωση |
| --- | --- | --- |
| ΔιαμόρφωσηΕικόνα εξόδου | Συνθήκες χρέωσηςΔεν δηλώνεται παραλλαγή τιμολόγησης. | Χρέωση Έξοδος · Εικόνα εξόδου **$0.08** ανά εικόνα Οι ισοδύναμες καταχωρίσεις περιγράφουν την ίδια χρέωση· δεν προσθέτουν δεύτερη χρέωση. |

### Παραδείγματα αιτημάτων

#### Ailoot Ultra · Εικόνες

curlPython SDKNode.js SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'recraft/recraft-v3', 'prompt': 'a red panda astronaut floating in space, studio lighting'}

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        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"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
```

```python
from openai import OpenAI
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        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"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")

request={'model': 'recraft/recraft-v3', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.images.generate(**request)
Path("sdk-result.txt").write_text(str(result),encoding="utf-8")
save_images([{"b64_json":getattr(item,"b64_json",None),"url":getattr(item,"url",None)} for item in result.data])
```

```js
import OpenAI from "openai";
import { readFileSync, writeFileSync } from "node:fs";
const key=process.env.AILOOT_API_KEY;
if(!key) throw new Error("Set your actual Ailoot API key");
const client=new OpenAI({baseURL:"https://api.ailoot.ai/v1",apiKey:key,maxRetries:0});
const request={"model": "recraft/recraft-v3", "prompt": "a red panda astronaut floating in space, studio lighting"};
const result=await client.images.generate(request);
writeFileSync("sdk-result.json",JSON.stringify(result,null,2));
if(!result.data?.length) throw new Error("No completed images");
for(let index=0;index<result.data.length;index++) {
  const item=result.data[index];let encoded=item.b64_json,uri=item.url||"",raw;
  if(!encoded && uri.startsWith("data:image/")) {
    const comma=uri.indexOf(",");if(comma<0 || !uri.slice(0,comma).includes(";base64")) throw new Error("Unsupported image data URI");
    encoded=uri.slice(comma+1);
  }
  if(encoded) {
    if(encoded.length%4!==0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)) throw new Error("Invalid Base64");
    raw=Buffer.from(encoded,"base64");
  } else if(uri) {
    const u=new URL(uri,"https://api.ailoot.ai");
    if(u.protocol!=="https:" || u.username || u.password) throw new Error("Invalid returned URL");
    const owned=u.origin==="https://api.ailoot.ai" && u.pathname.startsWith("/v1/media/assets/") && u.pathname.endsWith("/content");
    const response=await fetch(u,{headers:owned?{Authorization:"Bearer "+key}:{},redirect:"manual"});
    if(!response.ok) throw new Error("Image content download failed: "+response.status);
    raw=Buffer.from(await response.arrayBuffer());
  } else throw new Error("Image has neither bytes nor URL");
  if(!raw.length) throw new Error("Empty image result");
  const ext=raw.subarray(0,4).equals(Buffer.from([137,80,78,71]))?"png":raw[0]===255&&raw[1]===216?"jpg":raw.toString("ascii",0,4)==="RIFF"&&raw.toString("ascii",8,12)==="WEBP"?"webp":raw.toString("utf8").trimStart().startsWith("<svg")||raw.toString("utf8").trimStart().startsWith("<?xml")?"svg":"bin";
  writeFileSync(`image-${index}.${ext}`,raw);
}
console.log("Every returned image saved; sdk-result.json retains complete metadata");
```

### Λήψη και αποθήκευση αποτελεσμάτων

#### Ailoot Ultra · Εικόνες

Κατεβάστε κάθε εικόνα που επιστρέφεται ή αποθηκεύστε το περιεχόμενο Base64

- `GET /v1/media/tasks/{task_id}`
- `GET /v1/media/assets/{asset_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

##### Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα

Αποθηκεύστε κάθε ολοκληρωμένη εικόνα· ανακτήστε κάθε URL που επιστρέφεται ή αποκωδικοποιήστε το περιεχόμενο Base64.

Διατηρήστε κάθε στοιχείο δεδομένων και ολόκληρη τη χρήση· εξασφαλίστε ότι όλες οι πραγματικές εικόνες που επιστρέφονται σας ανήκουν και αποθηκεύστε τις. Χωρίς επινοημένα URL ή ID.

##### Αν χρειάζεται έλεγχος της αρχικής απάντησης

Αν το αποτέλεσμα παραγωγής ή επεξεργασίας εικόνας χρειάζεται έλεγχο, διατηρήστε το αρχικό operation\_id/X-Client-Request-ID και τις πληροφορίες αποτελέσματος που επιστράφηκαν. Ανακτήστε τα υπάρχοντα αποτελέσματα που σας ανήκουν μέσω της βιβλιοθήκης πολυμέσων χρησιμοποιώντας πραγματικές τιμές task\_id ή asset\_id. Μην υποβάλετε ξανά το αίτημα παραγωγής/επεξεργασίας και μην κατασκευάσετε URL περιοδικού ελέγχου από το operation\_id.

Πεδία απάντησης

| Πεδίο | Τύπος |
| --- | --- |
| Πεδίο`created` | Τύποςinteger |
| Πεδίο`data[].url` | Τύποςstring |
| Πεδίο`data[].b64_json` | Τύποςbase64 string |
| Πεδίο`usage` | Τύποςobject |

### Εναλλακτικά ονόματα

#### Εναλλακτικά ονόματα μοντέλου

**Ailoot Ultra** [`recraft/recraft-v3`](https://ailoot.ai/models/el/#m=recraft%2Frecraft-v3&route=Ultra&caller=recraft%2Frecraft-v3&fmt=images)

#### Εναλλακτικές διαδρομές μεθόδων

`/v1/images`

#### Σχετικά ID μοντέλων

[`recraft/recraft-v3`](https://ailoot.ai/models/el/#m=recraft%2Frecraft-v3&route=Ultra&caller=recraft%2Frecraft-v3&fmt=images)

FAQ · Recraft: Recraft V3

Ποιες είσοδοι και αποτελέσματα διατίθενται;

`POST /v1/images/generations` · `recraft/recraft-v3`: `text`, `image` → `image`

Ποια πεδία χρησιμοποιεί το αίτημα;

`POST /v1/images/generations` · `recraft/recraft-v3`: `model`, `prompt`, `n`, `aspect_ratio`, `input_references`

Ποια όρια ισχύουν;

`POST /v1/images/generations` · `recraft/recraft-v3`: `n.minimum`: `1`; `n.maximum`: `6`

Συνδέστε το Ailoot με Claude Code, OpenCode, Hermes ή τη δική σας εφαρμογή.

## Η εταιρεία και το χαρτοφυλάκιο έργων της

Η εταιρεία και το χαρτοφυλάκιο έργων της: εκατομμύρια πελάτες· μηνιαίες πωλήσεις δισεκατομμυρίων.

## Αγοράστε token με έκπτωση.

Έκπτωση συνδρομής για τακτική χρήση. Προωθητικοί κωδικοί — έως 50% στην αγορά token.

Συνδρομή

Επιλέξτε πρόγραμμα με έκπτωση για τα τακτικά αιτήματά σας.

Προωθητικός κωδικός έως 50%

Εισαγάγετε τον κωδικό στην αγορά. Η τιμή επανυπολογίζεται σύμφωνα με την ενεργή προσφορά.

Δαπάνες στο ιστορικό

Μοντέλο, token και ποσό αποθηκεύονται για κάθε αίτημα.

[Επιλέξτε συνδρομή](https://ailoot.ai/docs/el/billing/subscriptions/) · [Δείτε τιμές μοντέλων](https://ailoot.ai/models/el/)

## Συνδέστε το API με το προϊόν που πουλάτε.

SaaS, εφαρμογές και bot — σύμφωνα με τη δημόσια προσφορά και τη σύμβαση άδειας χρήσης Ailoot. Για μεταπώληση ζητήστε σχετική άδεια.

Εμπορική εφαρμογή

Ενσωματώστε δημιουργία κειμένου, εικόνων, βίντεο και ήχου στις πληρωμένες λειτουργίες της υπηρεσίας σας.

Άδεια για μεταπωλητή

Στείλτε περιγραφή έργου και τρόπο πρόσβασης. Ζητήστε γραπτούς όρους χρήσης και μεταπώλησης.

Έγγραφα στον ιστότοπο

Δημόσια προσφορά, σύμβαση άδειας χρήσης και πολιτική επεξεργασίας δεδομένων είναι διαθέσιμες πριν τη σύνδεση.

[Ζητήστε άδεια μεταπώλησης](mailto:support@ailoot.ai) · [Δημόσια προσφορά και σύμβαση άδειας χρήσης](https://ailoot.ai/legal/offer?lang=el)

## Ailoot · Η εταιρεία και το χαρτοφυλάκιο έργων της





Η Ailoot στηρίζεται στη συσσωρευμένη λειτουργική εμπειρία, τη μεγάλη πελατειακή βάση, τη σταθερή εξυπηρέτηση και τον συνεχή έλεγχο KPI.





Η εταιρεία και το χαρτοφυλάκιο έργων της: εκατομμύρια πελάτες· μηνιαίες πωλήσεις δισεκατομμυρίων.





Η Ailoot αξιοποιεί αυτή τη λειτουργική εμπειρία για πρόσβαση μέσω API σε λειτουργίες AI στα προϊόντα, τους πράκτορες, τις εφαρμογές και τους αυτοματισμούς των πελατών.
