Source: https://ailoot.ai/models/el/google-gemini-3-1-flash-image-preview/
Canonical: https://ailoot.ai/models/el/google-gemini-3-1-flash-image-preview/
Language: el

# Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)

[Markdown](https://ailoot.ai/models/el/google-gemini-3-1-flash-image-preview/index.md) · [JSON](https://ailoot.ai/models/el/google-gemini-3-1-flash-image-preview/facts.json)

## [Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)](https://ailoot.ai/models/el/google-gemini-3-1-flash-image-preview/)

Το Nano Banana 2 (Gemini 3.1 Flash Image Preview) δημιουργεί και επεξεργάζεται εικόνες από κείμενο και οπτικές αναφορές. Τα τεκμηριωμένα δυνατά του σημεία περιλαμβάνουν συνέπεια στην απόδοση του θέματος, κείμενο εντός εικόνας και τοπικοποίηση, συνομιλιακές αλλαγές και δημιουργικό έλεγχο σύνθεσης, αναλογίας και ανάλυσης.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `google/gemini-3.1-flash-image-preview`](https://ailoot.ai/models/el/google-gemini-3-1-flash-image-preview/#method-0)
- [**Ailoot Ultra · Εικόνες** `POST /v1/images/generations` `google/gemini-3.1-flash-image-preview`](https://ailoot.ai/models/el/google-gemini-3-1-flash-image-preview/#method-1)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `google/gemini-3.1-flash-image-preview`](https://ailoot.ai/models/el/google-gemini-3-1-flash-image-preview/#method-2)

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

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

Το Nano Banana 2 είναι το μοντέλο Gemini 3.1 Flash Image της Google για παραγωγή εικόνας και συνομιλιακή επεξεργασία. Αυτή η καταχώριση διατηρεί την ακριβή ταυτότητα Preview. Μια γραπτή περιγραφή μπορεί να ορίζει νέο οπτικό στοιχείο, ενώ εικόνα εισόδου μπορεί να καθορίζει το θέμα, εμφάνιση ή σύνθεση προς τροποποίηση. Το αποτέλεσμα μπορεί να περιέχει εικόνα και συνοδευτικό κείμενο. Το υλικό κυκλοφορίας της Google τονίζει γνώση κόσμου, απόδοση κειμένου και συνέπεια στην απόδοση του θέματος, μαζί με τη δυνατότητα βελτίωσης σκηνής μέσω συναφών γύρων.

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

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

Οι δημιουργικοί έλεγχοι περιλαμβάνουν αναλογία και ανάλυση. Η κυκλοφορία προσθέτει έξοδο 512 pixel μαζί με επιλογές 1K, 2K και 4K και προσθέτει αναλογίες 4:1, 1:4, 8:1 και 1:8. Ο οδηγός προγραμματιστών προσδιορίζει σκέψη minimal ως προεπιλογή και σκέψη high ως επιλογή για πιο σύνθετες συνθέσεις. Επιλέξτε την επιδιωκόμενη χρήση πριν τη σύνθεση: κατακόρυφο story, πλατύ banner και συμπαγές διάγραμμα χρειάζονται διαφορετικό χώρο για το θέμα και κάθε κείμενο. Αυτές οι ρυθμίσεις περιγράφουν τη ροή παραγωγής του κατασκευαστή για αυτή τη σειρά, όχι αυτόματη αλλαγή μεγέθους υπάρχοντος ολοκληρωμένου στοιχείου.

Για συνέπεια στην απόδοση του θέματος, επισημάνετε τον ρόλο κάθε αναφοράς: εμφάνιση προϊόντος, ταυτότητα χαρακτήρα, φόντο ή οπτικό ύφος. Δηλώστε τις λεπτομέρειες προς διατήρηση και κατόπιν ονομάστε τα στοιχεία προς αλλαγή. Μια πρωτότυπη εργασία μπορεί να τοποθετεί παρεχόμενη φωτογραφία προϊόντος σε νέα σκηνή, διατηρώντας σχήμα, υλικό και ορατή επωνυμία. Για εικονογραφημένη ακολουθία, κρατήστε τις ίδιες αναφορές και ορίστε ποιες ειδικές λεπτομέρειες σκηνής ποικίλλουν. Περισσότερες αναφορές δεν υποκαθιστούν σαφή οδηγία για το τι συνεισφέρει κάθε εικόνα.

Η συνομιλιακή επεξεργασία είναι χρήσιμη για συγκεκριμένη αναθεώρηση. Ζητήστε προσαρμογή ενός αντικειμένου, φόντου ή φωτισμού με διατήρηση της αποδεκτής σύνθεσης. Ο οδηγός του κατασκευαστή περιγράφει σημασιολογική μάσκα, όπου η επεξεργαζόμενη περιοχή προσδιορίζεται με λέξεις. Για εργασία πολλών γύρων, διατηρήστε τη συνομιλία και τα απαιτούμενα μεταδεδομένα πλαισίου συλλογιστικής στην επιλεγμένη διεπαφή· ο οδηγός Gemini 3 εξηγεί ότι οι υπογραφές σκέψης βοηθούν στη μεταφορά αυτού του πλαισίου. Περιγραφή αμετάβλητης περιοχής είναι οδηγία προς έλεγχο έναντι του αρχικού, όχι εγγύηση ότι κάθε pixel παραμένει πανομοιότυπο.

Ο πίνακας προγραμματιστών Gemini 3 ονομάζει ρητά το gemini-3.1-flash-image-preview με περιθώριο εισόδου 128K και εξόδου 32K. Διατηρήστε το ακριβές όνομα μοντέλου Preview κατά την καταγραφή παραγωγής. Οι διαθέσιμες ρυθμίσεις αναφορών, εξόδου και ανάλυσης πρέπει να κρατούνται μαζί με εικόνες πηγής και αίτημα ώστε μια αναθεώρηση να αναπαράγεται συνεπώς. Για αναθεώρηση, κρατήστε τις ίδιες αναφορές πηγής και καθορίστε την ακριβή οπτική αλλαγή, διατηρώντας τον αποδεκτό ρόλο κάθε εισόδου.

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

Πρακτική εργασία

### Πρακτική εργασία

Τεχνικό παράδειγμα στα αγγλικά

```
Create a four-stage growing guide

Create a friendly flat illustration for a gardening guide showing four tomato-growing stages from left to right: seed in soil, small seedling, leafy plant, mature plant with red tomatoes. Use a warm cream background, consistent pots and simple green shapes. Keep each stage clearly separated. Include no text, numbers, labels or decorative extra plants.
```

#### Αναμενόμενο αποτέλεσμα

```
An image with four distinct growing stages in the specified order and a consistent illustration style.
```

#### Έλεγχος αποτελέσματος

```
Inspect the actual image for exactly four stages, the left-to-right progression and absence of text or extra plants.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `google/gemini-3.1-flash-image-preview`

[`google/gemini-3.1-flash-image-preview`](https://ailoot.ai/models/el/#m=google%2Fgemini-3.1-flash-image-preview&route=Ultra&caller=google%2Fgemini-3.1-flash-image-preview&fmt=chat)

Google /`google/gemini-3.1-flash-image-preview`

### Εισαγωγή

Το Nano Banana 2 (Gemini 3.1 Flash Image Preview) δημιουργεί και επεξεργάζεται εικόνες από κείμενο και οπτικές αναφορές. Τα τεκμηριωμένα δυνατά του σημεία περιλαμβάνουν συνέπεια στην απόδοση του θέματος, κείμενο εντός εικόνας και τοπικοποίηση, συνομιλιακές αλλαγές και δημιουργικό έλεγχο σύνθεσης, αναλογίας και ανάλυσης.

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

Κείμενο

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

Κείμενο

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

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

Είσοδος

`text`

Έξοδος

`text`

Μορφή εξόδου

json ή SSE

| Πεδίο | Τύπος | Απαίτηση | Τιμές και όρια | Προεπιλογή |
| --- | --- | --- | --- | --- |
| Πεδίο`model` | Τύπος`string` | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια google/gemini-3.1-flash-image-preview | Προεπιλογή— |
| Πεδίο`messages` | Τύπος`message[]` | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια Ελάχιστο πλήθος στοιχείων: 1 | Προεπιλογή— |
| Πεδίο`messages[].role` | Τύπος`string` | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια Παραδείγματα: system, user, assistant, tool, function Συνθήκες: Αυτοί οι ρόλοι αναπαρίστανται ρητά από τους τύπους συμβατότητας του πηγαίου κώδικα· το ακριβές σύνολο ρόλων παραμένει ειδικό για κάθε μοντέλο. Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`messages[].content` | Τύπος`string\|content_part[]\|null` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια | Προεπιλογή— |
| Πεδίο`messages[].tool_calls` | Τύπος`tool_call[]` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια | Προεπιλογή— |
| Πεδίο`messages[].tool_call_id` | Τύπος`string` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εφαρμόζεται όταν: role=tool· χρησιμοποιήστε το πραγματικό ID που επιστράφηκε | Προεπιλογή— |
| Πεδίο`messages[].name` | Τύπος`string` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια | Προεπιλογή— |
| Πεδίο`messages[].reasoning_content` | Τύπος`string` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εφαρμόζεται όταν: Επαναποστείλετε το πραγματικό περιεχόμενο συλλογιστικής που επιστράφηκε, όταν το μοντέλο το χρησιμοποιεί | Προεπιλογή— |
| Πεδίο`messages[].reasoning_details` | Τύπος`object\|array` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`max_tokens` | Τύπος`integer` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Ελάχιστο: 1 Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`max_completion_tokens` | Τύπος`integer` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Ελάχιστο: 1 Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`stream` | Τύπος`boolean` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια | Προεπιλογήfalse |
| Πεδίο`stream_options.include_usage` | Τύπος`boolean` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`temperature` | Τύπος`number` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`top_p` | Τύπος`number` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`stop` | Τύπος`string\|string[]` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`tools` | Τύπος`function_tool[]` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`tools[].type` | Τύπος`string` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια function Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`tools[].function.name` | Τύπος`string` | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια Εφαρμόζεται όταν: Παρεχόμενο εργαλείο τύπου συνάρτησης | Προεπιλογή— |
| Πεδίο`tools[].function.description` | Τύπος`string` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια | Προεπιλογή— |
| Πεδίο`tools[].function.parameters` | Τύπος`JSON_schema` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια | Προεπιλογή— |
| Πεδίο`tool_choice` | Τύπος`string\|object` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`parallel_tool_calls` | Τύπος`boolean` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`response_format` | Τύπος`object` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`reasoning_effort` | Τύπος`string` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`reasoning` | Τύπος`object` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`service_tier` | Τύπος`string` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`instructions` | Τύπος`string` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Πεδίο συμβατότητας | Προεπιλογή— |
| Πεδίο`functions` | Τύπος`function[]` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`function_call` | Τύπος`string\|object` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`prompt_cache_options` | Τύπος`object` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Εξαρτάται από το μοντέλο | Προεπιλογή— |
| Πεδίο`modalities` | Τύπος`string[]` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια text | Προεπιλογή— |
| Πεδίο`provider` | Τύπος`object` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Συνθήκες: Το provider.options απορρίπτεται σε αυτή τη διαδρομή κειμένου Ultra | Προεπιλογή— |
| Πεδίο`cache_control.ttl` | Τύπος`string` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Συνθήκες: Το 1h απορρίπτεται στα πραγματικά πεδία κρυφής μνήμης προτροπών | Προεπιλογή— |

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

**Κείμενο** · Κείμενο UTF8

`messages[].content`

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

| Παράμετρος | Σύμβαση |
| --- | --- |
| Παράμετρος`content_type` | Σύμβασηapplication/json |
| Παράμετρος`required` | Σύμβασηmodel, messages |
| Παράμετρος`material_types` | Σύμβασηtext |
| Παράμετρος`messages` | ΣύμβασηΠίνακας μηνυμάτων με δομή role/content |
| Παράμετρος`file_material` | Σύμβασηπραγματικό έγγραφο UTF-8 που εισάγεται ως αυτούσιο κείμενο· δεν συνάγεται ID αρχείου |
| Παράμετρος`optional_controls` | Σύμβασηstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Παράμετρος`control_scope` | Σύμβασηεξαρτάται από το μοντέλο· τα εργαλεία συναρτήσεων του χρήστη διαφέρουν από τα φιλοξενούμενα εργαλεία |
| Παράμετρος`output_modalities` | Σύμβασηtext |
| Παράμετρος`hosted_operations` | Σύμβασηfalse |
| Παράμετρος`multimodal_input_binding` | Σύμβασηnull |

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

Στείλτε το ακριβές ID μοντέλου μαζί με το messages.

Το μήκος συμφραζομένων δεν είναι ανώτατο όριο εξόδου.

Ένα αρχείο κειμένου μπορεί να παρέχει αυτούσιο κείμενο· οι είσοδοι εικόνας/ήχου/αντικειμένων αρχείων χρειάζονται ακριβή αντιστοίχιση.

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

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

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

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

Λειτουργία flex

Τυπική χρέωση Όταν επιλέγεται η λειτουργία flex

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

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

Προσπάθεια συλλογισμού · high

Τυπική χρέωση Όταν η προσπάθεια συλλογισμού είναι high

Προσπάθεια συλλογισμού · minimal

Τυπική χρέωση Όταν η προσπάθεια συλλογισμού είναι minimal

Τιμολόγηση ρητής αποθήκευσης στην κρυφή μνήμη

Δεν είναι ενεργοποιημένο Όταν ζητείται ρητή αποθήκευση στην κρυφή μνήμη

#### Χρεώσεις Ailoot

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

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

| Διαμόρφωση | Πίνακας χρεώσεων | Token συμφραζομένων, πάνω από | Token συμφραζομένων, έως και | Χρέωση |
| --- | --- | --- | --- | --- |
| ΔιαμόρφωσηΒασικές χρεώσεις ανά token | Πίνακας χρεώσεωνΒασική χρέωση | Token συμφραζομένων, πάνω από— | Token συμφραζομένων, έως καιΧωρίς ανώτατο όριο | Χρέωση Είσοδος · Token εισόδου **$0.001** / 1K token Έξοδος · Token εξόδου **$0.006** / 1K token Είσοδος · Ανάγνωση από την κρυφή μνήμη **—** / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη **—** / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα **—** / 1K token Έξοδος · Token εξόδου εικόνας **$0.12** / 1K token εικόνας |
| ΔιαμόρφωσηΕπίπεδο 1 βάσει μήκους αιτήματος | Πίνακας χρεώσεων— | Token συμφραζομένων, πάνω από0 | Token συμφραζομένων, έως καιΧωρίς ανώτατο όριο | Χρέωση Είσοδος · Token εισόδου **$0.001** / 1K token Έξοδος · Token εξόδου **$0.006** / 1K token Είσοδος · Ανάγνωση από την κρυφή μνήμη **—** / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη **—** / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα **—** / 1K token |

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

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

google/gemini-3.1-flash-image-preview

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

| Διαμόρφωση | Συνθήκες χρέωσης | Χρέωση |
| --- | --- | --- |
| Διαμόρφωσηgoogle/gemini-3.1-flash-image-preview · Προεπιλεγμένη διαμόρφωση | Συνθήκες χρέωσηςΠροεπιλεγμένη διαμόρφωση | Χρέωση Είσοδος · Είσοδος **0,001 $** / 1K token Έξοδος · Έξοδος **0,12 $** / 1K token |

google/gemini-3.1-flash-image-preview

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

| Διαμόρφωση | Συνθήκες χρέωσης | Χρέωση |
| --- | --- | --- |
| Διαμόρφωσηgoogle/gemini-3.1-flash-image-preview · Προεπιλεγμένη διαμόρφωση | Συνθήκες χρέωσηςΠροεπιλεγμένη διαμόρφωση | Χρέωση Είσοδος · Είσοδος **0,001 $** / 1K token Έξοδος · Έξοδος **0,12 $** / 1K token |

google/gemini-3.1-flash-image-preview

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

| Διαμόρφωση | Συνθήκες χρέωσης | Χρέωση |
| --- | --- | --- |
| Διαμόρφωσηgoogle/gemini-3.1-flash-image-preview · Προεπιλεγμένη διαμόρφωση | Συνθήκες χρέωσηςΠροεπιλεγμένη διαμόρφωση | Χρέωση Είσοδος · Είσοδος **0,00 $** ανά κλήση Έξοδος · Έξοδος **0,16 $** ανά κλήση |

google/gemini-3.1-flash-image-preview

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

| Διαμόρφωση | Συνθήκες χρέωσης | Χρέωση |
| --- | --- | --- |
| Διαμόρφωσηgoogle/gemini-3.1-flash-image-preview · Προεπιλεγμένη διαμόρφωση | Συνθήκες χρέωσηςΠροεπιλεγμένη διαμόρφωση | Χρέωση Είσοδος · Είσοδος **0,00 $** ανά κλήση Έξοδος · Έξοδος **0,32 $** ανά κλήση |

google/gemini-3.1-flash-image-preview

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

| Διαμόρφωση | Συνθήκες χρέωσης | Χρέωση |
| --- | --- | --- |
| Διαμόρφωσηgoogle/gemini-3.1-flash-image-preview · Προεπιλεγμένη διαμόρφωση | Συνθήκες χρέωσηςΠροεπιλεγμένη διαμόρφωση | Χρέωση Είσοδος · Είσοδος **0,00 $** ανά κλήση Έξοδος · Έξοδος **0,00 $** ανά κλήση |

Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)

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

| Διαμόρφωση | Συνθήκες χρέωσης | Χρέωση |
| --- | --- | --- |
| ΔιαμόρφωσηGoogle: Nano Banana 2 (Gemini 3.1 Flash Image Preview) · Προεπιλεγμένη διαμόρφωση | Συνθήκες χρέωσηςΠροεπιλεγμένη διαμόρφωση | Χρέωση Είσοδος · Token εισόδου **0,001 $** / 1K token Έξοδος · Token εξόδου **0,006 $** / 1K token Έξοδος · Εικόνα εξόδου **0,12 $** / 1K token Έξοδος · Αναζήτηση στον ιστό **0,028 $** ανά αναζήτηση |

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

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

#### Ailoot Ultra · OpenAI Chat

curlPython SDKΡοή σε Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/gemini-3.1-flash-image-preview", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

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/chat/completions \
  -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 json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='google/gemini-3.1-flash-image-preview',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='google/gemini-3.1-flash-image-preview',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

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

#### Ailoot Ultra · OpenAI Chat

json ή SSE

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

Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.

Διατηρήστε κάθε επιλογή και το περιεχόμενο/τις κλήσεις εργαλείων/το περιεχόμενο συλλογιστικής της. Στο SSE συνθέστε τις διαφορικές ενημερώσεις ανά δείκτη επιλογής/εργαλείου και κρατήστε την τελική αιτία τερματισμού και τα στοιχεία χρήσης.

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

Διατηρήστε τα ID αιτήματος/απάντησης και τις κεφαλίδες. Δεν παρέχεται γενικό URL ανάκτησης εργασιών κειμένου.

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

| Πεδίο | Τύπος |
| --- | --- |
| Πεδίο`choices[].index` | Τύποςinteger |
| Πεδίο`choices[].message.content` | Τύποςstring\|null |
| Πεδίο`choices[].message.tool_calls` | Τύποςtool\_call\[\] |
| Πεδίο`choices[].message.reasoning_content` | Τύποςstring |
| Πεδίο`choices[].message.reasoning_details` | Τύποςobject\|array |
| Πεδίο`choices[].finish_reason` | Τύποςstring\|null |
| Πεδίο`usage` | Τύποςobject |

Σφάλματα και επόμενα βήματα

| Απάντηση | Συνθήκη | Επόμενο βήμα |
| --- | --- | --- |
| Απάντηση400 · `invalid_request_error` | ΣυνθήκηΜη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου | Επόμενο βήμαΔιορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας. |

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

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

**Ailoot Ultra** [`google/gemini-3.1-flash-image-preview`](https://ailoot.ai/models/el/#m=google%2Fgemini-3.1-flash-image-preview&route=Ultra&caller=google%2Fgemini-3.1-flash-image-preview&fmt=chat)

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

`/v1/images`

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

[`google/gemini-3.1-flash-image-preview`](https://ailoot.ai/models/el/#m=google%2Fgemini-3.1-flash-image-preview&route=Ultra&caller=google%2Fgemini-3.1-flash-image-preview&fmt=chat)

**Ailoot Ultra · Εικόνες** `POST /v1/images/generations` `google/gemini-3.1-flash-image-preview`

[`google/gemini-3.1-flash-image-preview`](https://ailoot.ai/models/el/#m=google%2Fgemini-3.1-flash-image-preview&route=Ultra&caller=google%2Fgemini-3.1-flash-image-preview&fmt=images)

Google /`google/gemini-3.1-flash-image-preview`

### Εισαγωγή

Το Nano Banana 2 (Gemini 3.1 Flash Image Preview) δημιουργεί και επεξεργάζεται εικόνες από κείμενο και οπτικές αναφορές. Τα τεκμηριωμένα δυνατά του σημεία περιλαμβάνουν συνέπεια στην απόδοση του θέματος, κείμενο εντός εικόνας και τοπικοποίηση, συνομιλιακές αλλαγές και δημιουργικό έλεγχο σύνθεσης, αναλογίας και ανάλυσης.

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

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

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

Εικόνες

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

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

Είσοδος

`text`, `image`

Έξοδος

`image`

| Πεδίο | Τύπος | Απαίτηση | Τιμές και όρια | Προεπιλογή |
| --- | --- | --- | --- | --- |
| Πεδίο`model` | Τύπος`string` | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια google/gemini-3.1-flash-image-preview | Προεπιλογή— |
| Πεδίο`prompt` | Τύπος`string` | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια Ελάχιστο μήκος: 1 | Προεπιλογή— |
| Πεδίο`resolution` | Τύπος`string` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια 512, 1K, 2K, 4K | Προεπιλογή— |
| Πεδίο`aspect_ratio` | Τύπος`string` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9 | Προεπιλογή— |
| Πεδίο`n` | Τύπος`integer` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Ελάχιστο: 1 Μέγιστο: 1 | Προεπιλογή— |
| Πεδίο`input_references` | Τύπος`array` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Ελάχιστο πλήθος στοιχείων: 0 Μέγιστο πλήθος στοιχείων: 14 | Προεπιλογή— |
| Πεδίο`provider` | Τύπος`object` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια | Προεπιλογή— |

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

| Παράμετρος | Σύμβαση |
| --- | --- |
| Παράμετρος`content_type` | Σύμβασηapplication/json |
| Παράμετρος`required` | Σύμβασηmodel, prompt |
| Παράμετρος`material_types` | Σύμβασηtext, image |

Κύκλος ζωής: `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}`

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

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

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

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

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

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

Λειτουργία flex

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

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

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

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

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

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

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

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

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

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

curl

```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': 'google/gemini-3.1-flash-image-preview', '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
```

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

#### 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}`

Άλλες ανακτήσεις περιεχομένου

Ανάκτηση υπαρχόντων αρχείων που σας ανήκουν

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
```

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

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

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

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

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

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

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

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

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

**Ailoot Ultra** [`google/gemini-3.1-flash-image-preview`](https://ailoot.ai/models/el/#m=google%2Fgemini-3.1-flash-image-preview&route=Ultra&caller=google%2Fgemini-3.1-flash-image-preview&fmt=images)

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

`/v1/images`

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

[`google/gemini-3.1-flash-image-preview`](https://ailoot.ai/models/el/#m=google%2Fgemini-3.1-flash-image-preview&route=Ultra&caller=google%2Fgemini-3.1-flash-image-preview&fmt=images)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `google/gemini-3.1-flash-image-preview`

[`google/gemini-3.1-flash-image-preview`](https://ailoot.ai/models/el/#m=google%2Fgemini-3.1-flash-image-preview&route=Ultra&caller=google%2Fgemini-3.1-flash-image-preview&fmt=messages)

Google /`google/gemini-3.1-flash-image-preview`

### Εισαγωγή

Το Nano Banana 2 (Gemini 3.1 Flash Image Preview) δημιουργεί και επεξεργάζεται εικόνες από κείμενο και οπτικές αναφορές. Τα τεκμηριωμένα δυνατά του σημεία περιλαμβάνουν συνέπεια στην απόδοση του θέματος, κείμενο εντός εικόνας και τοπικοποίηση, συνομιλιακές αλλαγές και δημιουργικό έλεγχο σύνθεσης, αναλογίας και ανάλυσης.

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

Κείμενο

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

json · sse

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

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Είσοδος

`text`

Έξοδος

`json`, `sse`

Μορφή εξόδου

JSON ή SSE

| Πεδίο | Τύπος | Απαίτηση | Τιμές και όρια | Προεπιλογή |
| --- | --- | --- | --- | --- |
| Πεδίο`model` | Τύπος`string` | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια google/gemini-3.1-flash-image-preview | Προεπιλογή— |
| Πεδίο`messages` | Τύπος`message[]` | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια | Προεπιλογή— |
| Πεδίο`messages[].role` | Τύπος`string` | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια user, assistant | Προεπιλογή— |
| Πεδίο`messages[].content` | Τύπος`string` | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια | Προεπιλογή— |
| Πεδίο`max_tokens` | Τύπος`integer` | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια | Προεπιλογή— |
| Πεδίο`stream` | Τύπος`boolean` | ΑπαίτησηΠροαιρετικό | Τιμές και όρια | Προεπιλογήfalse |

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

**Κείμενο** · Κείμενο UTF-8

`Συμβολοσειρά messages[].content`

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

| Παράμετρος | Σύμβαση |
| --- | --- |
| Παράμετρος`content_type` | Σύμβασηapplication/json |
| Παράμετρος`required` | Σύμβασηmodel, messages, max\_tokens |
| Παράμετρος`optional_controls` | Σύμβασηstream |
| Παράμετρος`material_types` | Σύμβασηtext |
| Παράμετρος`text_file_material` | ΣύμβασηΔιαβάστε το πραγματικό έγγραφο UTF-8 και τοποθετήστε το κείμενό του στην υποδεικνυόμενη συμβολοσειρά εισόδου ή περιεχομένου του μηνύματος. |

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

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

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

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

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

Λειτουργία flex

Τυπική χρέωση Όταν επιλέγεται η λειτουργία flex

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

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

Προσπάθεια συλλογισμού · high

Τυπική χρέωση Όταν η προσπάθεια συλλογισμού είναι high

Προσπάθεια συλλογισμού · minimal

Τυπική χρέωση Όταν η προσπάθεια συλλογισμού είναι minimal

Τιμολόγηση ρητής αποθήκευσης στην κρυφή μνήμη

Δεν είναι ενεργοποιημένο Όταν ζητείται ρητή αποθήκευση στην κρυφή μνήμη

#### Χρεώσεις Ailoot

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

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

| Διαμόρφωση | Πίνακας χρεώσεων | Token συμφραζομένων, πάνω από | Token συμφραζομένων, έως και | Χρέωση |
| --- | --- | --- | --- | --- |
| ΔιαμόρφωσηΒασικές χρεώσεις ανά token | Πίνακας χρεώσεωνΒασική χρέωση | Token συμφραζομένων, πάνω από— | Token συμφραζομένων, έως καιΧωρίς ανώτατο όριο | Χρέωση Είσοδος · Token εισόδου **$0.001** / 1K token Έξοδος · Token εξόδου **$0.006** / 1K token Είσοδος · Ανάγνωση από την κρυφή μνήμη **—** / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη **—** / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα **—** / 1K token Έξοδος · Token εξόδου εικόνας **$0.12** / 1K token εικόνας |
| ΔιαμόρφωσηΕπίπεδο 1 βάσει μήκους αιτήματος | Πίνακας χρεώσεων— | Token συμφραζομένων, πάνω από0 | Token συμφραζομένων, έως καιΧωρίς ανώτατο όριο | Χρέωση Είσοδος · Token εισόδου **$0.001** / 1K token Έξοδος · Token εξόδου **$0.006** / 1K token Είσοδος · Ανάγνωση από την κρυφή μνήμη **—** / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη **—** / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα **—** / 1K token |

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

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

#### Ailoot Ultra · Anthropic Messages

Πλήρες ελάχιστο σώμα JSONcurl · χρησιμοποιήστε το έγγραφό σας σε UTF-8Python · αποθηκεύστε το πλήρες αποτέλεσμα

```json
{
  "model": "google/gemini-3.1-flash-image-preview",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'google/gemini-3.1-flash-image-preview', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'google/gemini-3.1-flash-image-preview', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

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

#### Ailoot Ultra · Anthropic Messages

JSON ή SSE

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

Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.

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

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

Διατηρήστε τα ID αιτήματος/απάντησης και τις κεφαλίδες. Δεν παρέχεται γενικό URL ανάκτησης εργασιών κειμένου.

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

| Πεδίο | Τύπος |
| --- | --- |
| Πεδίο`id` | Τύποςstring |
| Πεδίο`model` | Τύποςstring |
| Πεδίο`content[]` | Τύποςtext\|thinking\|tool\_use\|other content block |
| Πεδίο`stop_reason` | Τύποςstring\|null |
| Πεδίο`usage` | Τύποςobject |

Σφάλματα και επόμενα βήματα

| Απάντηση | Συνθήκη | Επόμενο βήμα |
| --- | --- | --- |
| Απάντηση400 · `invalid_request_error` | ΣυνθήκηΜη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου | Επόμενο βήμαΔιορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας. |

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

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

**Ailoot Ultra** [`google/gemini-3.1-flash-image-preview`](https://ailoot.ai/models/el/#m=google%2Fgemini-3.1-flash-image-preview&route=Ultra&caller=google%2Fgemini-3.1-flash-image-preview&fmt=messages)

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

`/v1/images`

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

[`google/gemini-3.1-flash-image-preview`](https://ailoot.ai/models/el/#m=google%2Fgemini-3.1-flash-image-preview&route=Ultra&caller=google%2Fgemini-3.1-flash-image-preview&fmt=messages)

FAQ · Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)

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

`POST /v1/chat/completions` · `google/gemini-3.1-flash-image-preview`: `text` → `text` `POST /v1/images/generations` · `google/gemini-3.1-flash-image-preview`: `text`, `image` → `image` `POST /v1/messages` · `google/gemini-3.1-flash-image-preview`: `text` → `json`, `sse`

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

`POST /v1/chat/completions` · `google/gemini-3.1-flash-image-preview`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/images/generations` · `google/gemini-3.1-flash-image-preview`: `model`, `prompt`, `resolution`, `aspect_ratio`, `n`, `input_references`, `provider` `POST /v1/messages` · `google/gemini-3.1-flash-image-preview`: `model`, `messages`, `max_tokens`, `stream`

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

`POST /v1/chat/completions` · `google/gemini-3.1-flash-image-preview`: `messages.min_items`: `1` `POST /v1/images/generations` · `google/gemini-3.1-flash-image-preview`: `n.minimum`: `1`; `n.maximum`: `1`

Συνδέστε το 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 στα προϊόντα, τους πράκτορες, τις εφαρμογές και τους αυτοματισμούς των πελατών.
