{
  "aboutHtml": "<p>Το Gemini 2.5 Flash είναι το σταθερό υβριδικό προφίλ συλλογισμού της Google για ολοκληρωμένη πολυτροπική εργασία και χρήση εργαλείων από πράκτορες. Προσφέρει απαντήσεις με και χωρίς σκέψη για πολυτροπικές εργασίες μεγάλης κλίμακας που χρειάζονται διαφορετικά επίπεδα συλλογισμού. Κείμενο, εικόνες, ήχος και βίντεο συμβάλλουν σε μια απάντηση κειμένου. Η είσοδος εγγράφων περιγράφεται επίσης στο ειδικό προφίλ cloud της Google για το μοντέλο. Ένα χρήσιμο αποτέλεσμα μπορεί να είναι σύγκριση εγγράφων, ερμηνεία διαγράμματος, απομαγνητοφώνηση, κώδικας ή μια δομημένη εγγραφή.</p><p>Ο έλεγχος συλλογισμού της έκδοσης χρησιμοποιεί το thinkingBudget. Η δυναμική σκέψη είναι η προεπιλογή· η τιμή -1 επιτρέπει στο μοντέλο να προσαρμόζει τον συλλογισμό του στην πολυπλοκότητα της εργασίας. Ένας ρητός προϋπολογισμός μπορεί να κυμαίνεται από μηδέν έως 24,576 tokens και το μηδέν απενεργοποιεί τη σκέψη. Επιλέξτε προϋπολογισμό κατάλληλο για το πραγματικό πρόβλημα αντί να αποδίδετε την ίδια προσπάθεια σε μια απλή κατηγοριοποίηση και σε μια ανάλυση με πολλές συνθήκες. Ο οδηγός αντιμετωπίζει τον προϋπολογισμό ως καθοδήγηση και η εγγενής κάρτα σημειώνει ότι η τήρησή του μπορεί να μην είναι ακριβής.</p><p>Για μια εργασία εγγράφων ή δεδομένων, ορίστε την ερώτηση, τα απαιτούμενα πεδία και τα τεκμήρια που πρέπει να συνοδεύουν το αποτέλεσμα. Για σύγκριση απαιτήσεων, συγκρίνετε δύο προδιαγραφές και επιστρέψτε την απαίτηση που άλλαξε, το χωρίο προέλευσής της και την επίδραση σε μια συγκεκριμένη ροή εργασίας. Η δομημένη έξοδος είναι χρήσιμη όταν κάθε εύρημα χρειάζεται την ίδια μορφή εγγραφής. Αν η πηγή δίνει πολλές πιθανές τιμές ή αφήνει ένα πεδίο ανοικτό, διατηρήστε αυτή την αβεβαιότητα αντί να επιβάλλετε μία εύλογη απάντηση. Ελέγξτε τις επιστρεφόμενες τιμές σε σχέση με τις παρεχόμενες σελίδες ή τα δεδομένα.</p><p>Για οπτικό ή ηχητικό υλικό, προσδιορίστε το σχετικό αντικείμενο, την ετικέτα, το γεγονός ή το απόσπασμα της εγγραφής. Ζητήστε το είδος κειμένου που χρειάζεστε: ορατές τιμές από ένα διάγραμμα, περιγραφή ενός γεγονότος, απομαγνητοφώνηση ή περίληψη. Αυτά τα παραδοτέα διαφέρουν και η οδηγία πρέπει να δηλώνει ποιο να παραχθεί. Η κοινή εγγενής κάρτα περιλαμβάνει τα Flash Image και Flash Audio ως χωριστά ονομασμένες δυνατότητες· οι παραγόμενες εικόνες και οι έξοδοι ομιλίας τους δεν αποτελούν μέρος αυτού του σταθερού προφίλ κειμένου.</p><p>Το συγκεκριμένο προφίλ cloud της Google τεκμηριώνει εισόδους PDF και απλού κειμένου με όρια ειδικά για τη διεπαφή: 50 MB ανά PDF που εισάγεται μέσω API και έως 3,000 σελίδες ανά αρχείο, με όριο 7 MB για αρχείο απλού κειμένου. Αυτό το προφίλ περιγράφει επίσης περίπου 45 λεπτά βίντεο με ήχο ή μία ώρα χωρίς ήχο και περίπου 8.4 ώρες ήχου εντός του περιθωρίου εισόδου ενός εκατομμυρίου tokens. Αυτοί είναι οι δηλωμένοι περιορισμοί της διεπαφής cloud, χωριστά από το γενικό παράθυρο tokens του μοντέλου. Προετοιμάστε το σχετικό τμήμα και τη μορφή της πηγής αντί να υποθέτετε ότι κάθε τύπος αρχείου ή διαδρομή μεταφόρτωσης έχει το ίδιο όριο.</p><p>Ο πίνακας του συγκεκριμένου Gemini API αναφέρει κλήση συναρτήσεων, εκτέλεση κώδικα, αναζήτηση αρχείων, τεκμηρίωση μέσω αναζήτησης, τεκμηρίωση μέσω Maps, περιεχόμενο URL και δομημένες εξόδους. Ορίστε τον ρόλο κάθε συνάρτησης και τη μορφή των παραμέτρων της και συνεχίστε από το πραγματικό επιστρεφόμενο αποτέλεσμα. Το μοντέλο μπορεί να ζητήσει μια λειτουργία, ενώ η συνδεδεμένη εφαρμογή την εκτελεί. Διατηρήστε το αναγκαίο πλαίσιο υπογραφών σκέψης όταν συνεχίζετε μια εργασία συλλογισμού στη διεπαφή χωρίς κατάσταση. Μια δομημένη απάντηση ή μια πρόταση συνάρτησης δεν τεκμηριώνει από μόνη της ότι μια εξωτερική λειτουργία πέτυχε.</p><p>Η εγγενής κάρτα του μοντέλου δίνει πλαίσιο 1M και έξοδο κειμένου 64K, ενώ ο πίνακας του συγκεκριμένου API ορίζει 1,048,576 tokens εισόδου και 65,536 tokens εξόδου. Ένα όριο απόκρισης περιλαμβάνει tokens σκέψης, επομένως ένα υπερβολικά μικρό όριο μπορεί να αφήσει την τελική απάντηση κομμένη ή κενή. Ζητήστε παραδοτέο με μέγεθος κατάλληλο για το περιθώριο εξόδου και χρησιμοποιήστε τον προϋπολογισμό συλλογισμού για να καθοδηγήσετε την προσπάθεια. Η προσωρινή αποθήκευση και η επεξεργασία batch, Flex και Priority τεκμηριώνονται για αυτό το προφίλ του κατασκευαστή. Διατηρήστε τα αναγνωριστικά των στοιχείων όταν προετοιμάζετε πολλές ανεξάρτητες εγγραφές.</p><p>Η σταθερή έκδοση παραμένει διακριτή από τις παραλλαγές Flash Preview και τα μεταγενέστερα μοντέλα Gemini 3. Η κάρτα της αναφέρει πιθανές παραισθήσεις, περιορισμούς στην αιτιακή κατανόηση και στη σύνθετη λογική ή αντιγεγονική συλλογιστική και χρονικό όριο γνώσης τον Ιανουάριο 2025. Δώστε πρόσφατα τεκμήρια όταν μια εργασία εξαρτάται από νεότερες πληροφορίες. Ελέγξτε υπολογισμούς, εξαγόμενες τιμές, απομαγνητοφωνήσεις και προτεινόμενο κώδικα σε σχέση με την πραγματική πηγή ή το αποτέλεσμα εκτέλεσης. Η υβριδική σκέψη είναι χρήσιμη όταν στηρίζει αυτό το συγκεκριμένο αποτέλεσμα, αντί να υποκαθιστά τον έλεγχό του.</p>",
  "aboutText": "Το Gemini 2.5 Flash είναι το σταθερό υβριδικό προφίλ συλλογισμού της Google για ολοκληρωμένη πολυτροπική εργασία και χρήση εργαλείων από πράκτορες. Προσφέρει απαντήσεις με και χωρίς σκέψη για πολυτροπικές εργασίες μεγάλης κλίμακας που χρειάζονται διαφορετικά επίπεδα συλλογισμού. Κείμενο, εικόνες, ήχος και βίντεο συμβάλλουν σε μια απάντηση κειμένου. Η είσοδος εγγράφων περιγράφεται επίσης στο ειδικό προφίλ cloud της Google για το μοντέλο. Ένα χρήσιμο αποτέλεσμα μπορεί να είναι σύγκριση εγγράφων, ερμηνεία διαγράμματος, απομαγνητοφώνηση, κώδικας ή μια δομημένη εγγραφή.\n\nΟ έλεγχος συλλογισμού της έκδοσης χρησιμοποιεί το thinkingBudget. Η δυναμική σκέψη είναι η προεπιλογή· η τιμή -1 επιτρέπει στο μοντέλο να προσαρμόζει τον συλλογισμό του στην πολυπλοκότητα της εργασίας. Ένας ρητός προϋπολογισμός μπορεί να κυμαίνεται από μηδέν έως 24,576 tokens και το μηδέν απενεργοποιεί τη σκέψη. Επιλέξτε προϋπολογισμό κατάλληλο για το πραγματικό πρόβλημα αντί να αποδίδετε την ίδια προσπάθεια σε μια απλή κατηγοριοποίηση και σε μια ανάλυση με πολλές συνθήκες. Ο οδηγός αντιμετωπίζει τον προϋπολογισμό ως καθοδήγηση και η εγγενής κάρτα σημειώνει ότι η τήρησή του μπορεί να μην είναι ακριβής.\n\nΓια μια εργασία εγγράφων ή δεδομένων, ορίστε την ερώτηση, τα απαιτούμενα πεδία και τα τεκμήρια που πρέπει να συνοδεύουν το αποτέλεσμα. Για σύγκριση απαιτήσεων, συγκρίνετε δύο προδιαγραφές και επιστρέψτε την απαίτηση που άλλαξε, το χωρίο προέλευσής της και την επίδραση σε μια συγκεκριμένη ροή εργασίας. Η δομημένη έξοδος είναι χρήσιμη όταν κάθε εύρημα χρειάζεται την ίδια μορφή εγγραφής. Αν η πηγή δίνει πολλές πιθανές τιμές ή αφήνει ένα πεδίο ανοικτό, διατηρήστε αυτή την αβεβαιότητα αντί να επιβάλλετε μία εύλογη απάντηση. Ελέγξτε τις επιστρεφόμενες τιμές σε σχέση με τις παρεχόμενες σελίδες ή τα δεδομένα.\n\nΓια οπτικό ή ηχητικό υλικό, προσδιορίστε το σχετικό αντικείμενο, την ετικέτα, το γεγονός ή το απόσπασμα της εγγραφής. Ζητήστε το είδος κειμένου που χρειάζεστε: ορατές τιμές από ένα διάγραμμα, περιγραφή ενός γεγονότος, απομαγνητοφώνηση ή περίληψη. Αυτά τα παραδοτέα διαφέρουν και η οδηγία πρέπει να δηλώνει ποιο να παραχθεί. Η κοινή εγγενής κάρτα περιλαμβάνει τα Flash Image και Flash Audio ως χωριστά ονομασμένες δυνατότητες· οι παραγόμενες εικόνες και οι έξοδοι ομιλίας τους δεν αποτελούν μέρος αυτού του σταθερού προφίλ κειμένου.\n\nΤο συγκεκριμένο προφίλ cloud της Google τεκμηριώνει εισόδους PDF και απλού κειμένου με όρια ειδικά για τη διεπαφή: 50 MB ανά PDF που εισάγεται μέσω API και έως 3,000 σελίδες ανά αρχείο, με όριο 7 MB για αρχείο απλού κειμένου. Αυτό το προφίλ περιγράφει επίσης περίπου 45 λεπτά βίντεο με ήχο ή μία ώρα χωρίς ήχο και περίπου 8.4 ώρες ήχου εντός του περιθωρίου εισόδου ενός εκατομμυρίου tokens. Αυτοί είναι οι δηλωμένοι περιορισμοί της διεπαφής cloud, χωριστά από το γενικό παράθυρο tokens του μοντέλου. Προετοιμάστε το σχετικό τμήμα και τη μορφή της πηγής αντί να υποθέτετε ότι κάθε τύπος αρχείου ή διαδρομή μεταφόρτωσης έχει το ίδιο όριο.\n\nΟ πίνακας του συγκεκριμένου Gemini API αναφέρει κλήση συναρτήσεων, εκτέλεση κώδικα, αναζήτηση αρχείων, τεκμηρίωση μέσω αναζήτησης, τεκμηρίωση μέσω Maps, περιεχόμενο URL και δομημένες εξόδους. Ορίστε τον ρόλο κάθε συνάρτησης και τη μορφή των παραμέτρων της και συνεχίστε από το πραγματικό επιστρεφόμενο αποτέλεσμα. Το μοντέλο μπορεί να ζητήσει μια λειτουργία, ενώ η συνδεδεμένη εφαρμογή την εκτελεί. Διατηρήστε το αναγκαίο πλαίσιο υπογραφών σκέψης όταν συνεχίζετε μια εργασία συλλογισμού στη διεπαφή χωρίς κατάσταση. Μια δομημένη απάντηση ή μια πρόταση συνάρτησης δεν τεκμηριώνει από μόνη της ότι μια εξωτερική λειτουργία πέτυχε.\n\nΗ εγγενής κάρτα του μοντέλου δίνει πλαίσιο 1M και έξοδο κειμένου 64K, ενώ ο πίνακας του συγκεκριμένου API ορίζει 1,048,576 tokens εισόδου και 65,536 tokens εξόδου. Ένα όριο απόκρισης περιλαμβάνει tokens σκέψης, επομένως ένα υπερβολικά μικρό όριο μπορεί να αφήσει την τελική απάντηση κομμένη ή κενή. Ζητήστε παραδοτέο με μέγεθος κατάλληλο για το περιθώριο εξόδου και χρησιμοποιήστε τον προϋπολογισμό συλλογισμού για να καθοδηγήσετε την προσπάθεια. Η προσωρινή αποθήκευση και η επεξεργασία batch, Flex και Priority τεκμηριώνονται για αυτό το προφίλ του κατασκευαστή. Διατηρήστε τα αναγνωριστικά των στοιχείων όταν προετοιμάζετε πολλές ανεξάρτητες εγγραφές.\n\nΗ σταθερή έκδοση παραμένει διακριτή από τις παραλλαγές Flash Preview και τα μεταγενέστερα μοντέλα Gemini 3. Η κάρτα της αναφέρει πιθανές παραισθήσεις, περιορισμούς στην αιτιακή κατανόηση και στη σύνθετη λογική ή αντιγεγονική συλλογιστική και χρονικό όριο γνώσης τον Ιανουάριο 2025. Δώστε πρόσφατα τεκμήρια όταν μια εργασία εξαρτάται από νεότερες πληροφορίες. Ελέγξτε υπολογισμούς, εξαγόμενες τιμές, απομαγνητοφωνήσεις και προτεινόμενο κώδικα σε σχέση με την πραγματική πηγή ή το αποτέλεσμα εκτέλεσης. Η υβριδική σκέψη είναι χρήσιμη όταν στηρίζει αυτό το συγκεκριμένο αποτέλεσμα, αντί να υποκαθιστά τον έλεγχό του.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "34414dedaafbac21ded521376cd43bad867bd1ca5ca87005b2a3cf40b8f6492e",
    "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\">G</span><h2 id=\"sheet-title\">Google: Gemini 2.5 Flash (batch)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemini-2.5-flash:batch</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|batches|/v1/batches|google%2Fgemini-2.5-flash%3Abatch\">Παρτίδες</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\">Το Gemini 2.5 Flash είναι το σταθερό υβριδικό μοντέλο συλλογισμού της Google για πολυτροπική ανάλυση και εργασίες πρακτόρων. Ο δυναμικός προϋπολογισμός σκέψης του μπορεί να οριστεί από 0 έως 24,576 tokens, με δυνατότητα απενεργοποίησης. Κείμενο, εικόνες, ήχος, βίντεο και έγγραφα μετατρέπονται σε κείμενο ή δομημένα αποτελέσματα, με τεκμηριωμένο όριο εισόδου 1,048,576 tokens.</p><dl class=\"card-io\" data-card-io><div><dt>Αποδεκτές είσοδοι</dt><dd>Κείμενο</dd></div><div><dt>Αποτελέσματα</dt><dd>Κείμενο</dd></div></dl><details class=\"card-about\"><summary>Σχετικά με το μοντέλο</summary><p class=\"note-s\" data-model-method-boundary>Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.</p><div class=\"mabout\" id=\"m-about\"><p>Το Gemini 2.5 Flash είναι το σταθερό υβριδικό προφίλ συλλογισμού της Google για ολοκληρωμένη πολυτροπική εργασία και χρήση εργαλείων από πράκτορες. Προσφέρει απαντήσεις με και χωρίς σκέψη για πολυτροπικές εργασίες μεγάλης κλίμακας που χρειάζονται διαφορετικά επίπεδα συλλογισμού. Κείμενο, εικόνες, ήχος και βίντεο συμβάλλουν σε μια απάντηση κειμένου. Η είσοδος εγγράφων περιγράφεται επίσης στο ειδικό προφίλ cloud της Google για το μοντέλο. Ένα χρήσιμο αποτέλεσμα μπορεί να είναι σύγκριση εγγράφων, ερμηνεία διαγράμματος, απομαγνητοφώνηση, κώδικας ή μια δομημένη εγγραφή.</p><p>Ο έλεγχος συλλογισμού της έκδοσης χρησιμοποιεί το thinkingBudget. Η δυναμική σκέψη είναι η προεπιλογή· η τιμή -1 επιτρέπει στο μοντέλο να προσαρμόζει τον συλλογισμό του στην πολυπλοκότητα της εργασίας. Ένας ρητός προϋπολογισμός μπορεί να κυμαίνεται από μηδέν έως 24,576 tokens και το μηδέν απενεργοποιεί τη σκέψη. Επιλέξτε προϋπολογισμό κατάλληλο για το πραγματικό πρόβλημα αντί να αποδίδετε την ίδια προσπάθεια σε μια απλή κατηγοριοποίηση και σε μια ανάλυση με πολλές συνθήκες. Ο οδηγός αντιμετωπίζει τον προϋπολογισμό ως καθοδήγηση και η εγγενής κάρτα σημειώνει ότι η τήρησή του μπορεί να μην είναι ακριβής.</p><p>Για μια εργασία εγγράφων ή δεδομένων, ορίστε την ερώτηση, τα απαιτούμενα πεδία και τα τεκμήρια που πρέπει να συνοδεύουν το αποτέλεσμα. Για σύγκριση απαιτήσεων, συγκρίνετε δύο προδιαγραφές και επιστρέψτε την απαίτηση που άλλαξε, το χωρίο προέλευσής της και την επίδραση σε μια συγκεκριμένη ροή εργασίας. Η δομημένη έξοδος είναι χρήσιμη όταν κάθε εύρημα χρειάζεται την ίδια μορφή εγγραφής. Αν η πηγή δίνει πολλές πιθανές τιμές ή αφήνει ένα πεδίο ανοικτό, διατηρήστε αυτή την αβεβαιότητα αντί να επιβάλλετε μία εύλογη απάντηση. Ελέγξτε τις επιστρεφόμενες τιμές σε σχέση με τις παρεχόμενες σελίδες ή τα δεδομένα.</p><p>Για οπτικό ή ηχητικό υλικό, προσδιορίστε το σχετικό αντικείμενο, την ετικέτα, το γεγονός ή το απόσπασμα της εγγραφής. Ζητήστε το είδος κειμένου που χρειάζεστε: ορατές τιμές από ένα διάγραμμα, περιγραφή ενός γεγονότος, απομαγνητοφώνηση ή περίληψη. Αυτά τα παραδοτέα διαφέρουν και η οδηγία πρέπει να δηλώνει ποιο να παραχθεί. Η κοινή εγγενής κάρτα περιλαμβάνει τα Flash Image και Flash Audio ως χωριστά ονομασμένες δυνατότητες· οι παραγόμενες εικόνες και οι έξοδοι ομιλίας τους δεν αποτελούν μέρος αυτού του σταθερού προφίλ κειμένου.</p><p>Το συγκεκριμένο προφίλ cloud της Google τεκμηριώνει εισόδους PDF και απλού κειμένου με όρια ειδικά για τη διεπαφή: 50 MB ανά PDF που εισάγεται μέσω API και έως 3,000 σελίδες ανά αρχείο, με όριο 7 MB για αρχείο απλού κειμένου. Αυτό το προφίλ περιγράφει επίσης περίπου 45 λεπτά βίντεο με ήχο ή μία ώρα χωρίς ήχο και περίπου 8.4 ώρες ήχου εντός του περιθωρίου εισόδου ενός εκατομμυρίου tokens. Αυτοί είναι οι δηλωμένοι περιορισμοί της διεπαφής cloud, χωριστά από το γενικό παράθυρο tokens του μοντέλου. Προετοιμάστε το σχετικό τμήμα και τη μορφή της πηγής αντί να υποθέτετε ότι κάθε τύπος αρχείου ή διαδρομή μεταφόρτωσης έχει το ίδιο όριο.</p><p>Ο πίνακας του συγκεκριμένου Gemini API αναφέρει κλήση συναρτήσεων, εκτέλεση κώδικα, αναζήτηση αρχείων, τεκμηρίωση μέσω αναζήτησης, τεκμηρίωση μέσω Maps, περιεχόμενο URL και δομημένες εξόδους. Ορίστε τον ρόλο κάθε συνάρτησης και τη μορφή των παραμέτρων της και συνεχίστε από το πραγματικό επιστρεφόμενο αποτέλεσμα. Το μοντέλο μπορεί να ζητήσει μια λειτουργία, ενώ η συνδεδεμένη εφαρμογή την εκτελεί. Διατηρήστε το αναγκαίο πλαίσιο υπογραφών σκέψης όταν συνεχίζετε μια εργασία συλλογισμού στη διεπαφή χωρίς κατάσταση. Μια δομημένη απάντηση ή μια πρόταση συνάρτησης δεν τεκμηριώνει από μόνη της ότι μια εξωτερική λειτουργία πέτυχε.</p><p>Η εγγενής κάρτα του μοντέλου δίνει πλαίσιο 1M και έξοδο κειμένου 64K, ενώ ο πίνακας του συγκεκριμένου API ορίζει 1,048,576 tokens εισόδου και 65,536 tokens εξόδου. Ένα όριο απόκρισης περιλαμβάνει tokens σκέψης, επομένως ένα υπερβολικά μικρό όριο μπορεί να αφήσει την τελική απάντηση κομμένη ή κενή. Ζητήστε παραδοτέο με μέγεθος κατάλληλο για το περιθώριο εξόδου και χρησιμοποιήστε τον προϋπολογισμό συλλογισμού για να καθοδηγήσετε την προσπάθεια. Η προσωρινή αποθήκευση και η επεξεργασία batch, Flex και Priority τεκμηριώνονται για αυτό το προφίλ του κατασκευαστή. Διατηρήστε τα αναγνωριστικά των στοιχείων όταν προετοιμάζετε πολλές ανεξάρτητες εγγραφές.</p><p>Η σταθερή έκδοση παραμένει διακριτή από τις παραλλαγές Flash Preview και τα μεταγενέστερα μοντέλα Gemini 3. Η κάρτα της αναφέρει πιθανές παραισθήσεις, περιορισμούς στην αιτιακή κατανόηση και στη σύνθετη λογική ή αντιγεγονική συλλογιστική και χρονικό όριο γνώσης τον Ιανουάριο 2025. Δώστε πρόσφατα τεκμήρια όταν μια εργασία εξαρτάται από νεότερες πληροφορίες. Ελέγξτε υπολογισμούς, εξαγόμενες τιμές, απομαγνητοφωνήσεις και προτεινόμενο κώδικα σε σχέση με την πραγματική πηγή ή το αποτέλεσμα εκτέλεσης. Η υβριδική σκέψη είναι χρήσιμη όταν στηρίζει αυτό το συγκεκριμένο αποτέλεσμα, αντί να υποκαθιστά τον έλεγχό του.</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/batches</code></summary><dl class=\"method-capabilities\"><div><dt>Είσοδος</dt><dd><code>text</code></dd></div><div><dt>Έξοδος</dt><dd><code>text</code></dd></div><div><dt>Μορφή εξόδου</dt><dd>Ενσωματωμένο JSON στο results[].response.body</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 data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">endpoint</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>/v1/chat/completions</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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>google/gemini-2.5-flash:batch</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">requests</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>batch_item[]</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 data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">requests[].custom_id</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></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">requests[].body.messages</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>message[]</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><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">completion_window</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>24h</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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|null</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>endpoint, model, requests</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</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>representation</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>Ενσωματωμένος πίνακας requests[]· κάθε στοιχείο έχει custom_id και body</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>request_endpoint_profile</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>/v1/chat/completions</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>file_material</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>Ο καλών μπορεί να διαβάσει το πραγματικό υλικό UTF-8 JSONL τοπικά στον πίνακα requests[]. Δεν χρησιμοποιείται παράμετρος purpose για μεταφόρτωση, input_file_id ή αναφορά σε αρχείο. Αν το υλικό του πελάτη λείπει ή είναι κενό, η προετοιμασία σταματά πριν από το POST.</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>serialization_order</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>endpoint, model, provider (αν παρέχεται), completion_window (αν παρέχεται), requests στο τέλος</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>optional_controls</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>provider.only, provider.allow_fallbacks, completion_window</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>schema_scope</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>Σώματα αιτημάτων Text Chat Completions στον τεκμηριωμένο ενσωματωμένο φάκελο Batch.</td></tr></tbody></table></div><p>Κύκλος ζωής: <code>asynchronous</code></p><p class=\"note-s\"><code>GET /v1/batches/{operation_id}</code> · Το πραγματικό response.id της αρχικής απόκρισης δημιουργίας· ο ίδιος χρήστης, το ίδιο κλειδί και η ίδια ομάδα</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Τιμολόγηση</h3><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><dt>Τιμολόγηση ρητής αποθήκευσης στην κρυφή μνήμη</dt><dd>Δεν είναι ενεργοποιημένο <span class=\"note-s\">Όταν ζητείται ρητή αποθήκευση στην κρυφή μνήμη</span></dd></dl></div><div data-declared-tariff-pricing><h4>Χρεώσεις Ailoot</h4><h4>Τιμές ανά διαμόρφωση</h4><p class=\"note-s\">Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Πίνακας χρεώσεων</th><th>Token συμφραζομένων, πάνω από</th><th>Token συμφραζομένων, έως και</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=\"Token συμφραζομένων, πάνω από\"><span class=\"card-cell-label\">Token συμφραζομένων, πάνω από</span>—</td><td data-cell-label=\"Token συμφραζομένων, έως και\"><span class=\"card-cell-label\">Token συμφραζομένων, έως και</span>Χωρίς ανώτατο όριο</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Token εισόδου</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Έξοδος · Token εξόδου</span> <b>$0.0025</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Ανάγνωση από την κρυφή μνήμη</span> <b>$0.00006</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>Επίπεδο 1 βάσει μήκους αιτήματος</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>—</td><td data-cell-label=\"Token συμφραζομένων, πάνω από\"><span class=\"card-cell-label\">Token συμφραζομένων, πάνω από</span>0</td><td data-cell-label=\"Token συμφραζομένων, έως και\"><span class=\"card-cell-label\">Token συμφραζομένων, έως και</span>Χωρίς ανώτατο όριο</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Token εισόδου</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Έξοδος · Token εξόδου</span> <b>$0.0025</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Ανάγνωση από την κρυφή μνήμη</span> <b>$0.00006</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></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-1442-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1442-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · διατηρημένο δείγμα δοκιμής</button><button class=\"cg-tab\" id=\"model-code-1442-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1442-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python HTTP · πραγματικό JSONL του πελάτη</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-1442-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1442-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json\nfrom pathlib import Path\nbody=json.loads(&#39;{&quot;endpoint&quot;:&quot;/v1/chat/completions&quot;,&quot;model&quot;:&quot;google/gemini-2.5-flash:batch&quot;,&quot;requests&quot;:[{&quot;custom_id&quot;:&quot;req-0001&quot;,&quot;body&quot;:{&quot;messages&quot;:[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;Hello!&quot;}],&quot;max_tokens&quot;:16}}]}&#39;)\nPath(&quot;batch-request.json&quot;).write_text(json.dumps(body,ensure_ascii=False),encoding=&quot;utf-8&quot;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1442-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1442-tab-1\" hidden><pre data-lang=\"python\"><code>import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(&quot;Customer JSONL file is missing&quot;)\n    items = [json.loads(line) for line in path.read_text(encoding=&quot;utf-8&quot;).splitlines() if line.strip()]\n    if not items: raise ValueError(&quot;Customer JSONL contains no requests&quot;)\n    ids = set()\n    for item in items:\n        if set(item) != {&quot;custom_id&quot;, &quot;body&quot;}: raise ValueError(&quot;Each item needs custom_id and body&quot;)\n        cid = item[&quot;custom_id&quot;]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(&quot;custom_id must be nonempty and unique&quot;)\n        ids.add(cid)\n        if not isinstance(item[&quot;body&quot;], dict) or not item[&quot;body&quot;].get(&quot;messages&quot;): raise ValueError(&quot;Supply actual text messages&quot;)\n    return {&quot;endpoint&quot;:&quot;/v1/chat/completions&quot;, &quot;model&quot;:&quot;google/gemini-2.5-flash:batch&quot;, &quot;requests&quot;:items}\n\nif __name__ == &quot;__main__&quot;:\n    material = os.environ.get(&quot;AILOOT_BATCH_REQUESTS_JSONL&quot;, &quot;&quot;)\n    if not material: raise SystemExit(&quot;Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file&quot;)\n    body = prepare_requests(material)\n    key = os.environ.get(&quot;AILOOT_API_KEY&quot;, &quot;&quot;)\n    if not key: raise SystemExit(&quot;Set AILOOT_API_KEY&quot;)\n    request = Request(&quot;https://api.ailoot.ai/v1/batches&quot;, data=json.dumps(body, ensure_ascii=False).encode(&quot;utf-8&quot;), headers={&quot;Authorization&quot;:&quot;Bearer &quot; + key, &quot;Content-Type&quot;:&quot;application/json&quot;}, method=&quot;POST&quot;)\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(&quot;batch-create-response.json&quot;).write_bytes(raw)\n        print(raw.decode(&quot;utf-8&quot;))\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\">Ενσωματωμένο JSON στο results[].response.body</p><ul class=\"card-result-paths\"><li><code>GET /v1/batches/{operation_id}</code></li></ul><h5>Έλεγχος κατάστασης εργασίας</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-1443-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1443-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-1443-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1443-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nBATCH_OPERATION_ID=&quot;$(python3 - &lt;&lt;&#39;PY_ID&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(&quot;batch-create-response.json&quot;).read_text(encoding=&quot;utf-8&quot;))\noperation = response.get(&quot;id&quot;)\nif not isinstance(operation, str) or not operation: raise SystemExit(&quot;No actual original operation ID; preserve the response and do not resubmit&quot;)\nprint(quote(operation, safe=&quot;&quot;))\nPY_ID\n)&quot;\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o batch-status-response.json\n</code></pre></div></div></div><div class=\"card-result-process\" data-all-results><h5>Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα</h5><p class=\"note-s\">Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.</p><p class=\"note-s\">Διατηρήστε κάθε αποτέλεσμα, το σώμα κάθε απόκρισης ή σφάλματος, κάθε επιλογή και τη συνολική χρήση.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Αν χρειάζεται έλεγχος της αρχικής απάντησης</h5><p class=\"note-s\">Διατηρήστε το αρχικό ID της λειτουργίας. Η απόκριση 503 result_pending_check περιέχει X-Should-Retry:false· μην υποβάλετε ποτέ ξανά μια αρχική μαζική εργασία με άγνωστη έκβαση.</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\">results[].custom_id</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">results[].response.body.choices[].message.content</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string|null</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">results[].error</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>object|null</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>object|null</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=google%2Fgemini-2.5-flash%3Abatch&amp;route=Ultra&amp;caller=google%2Fgemini-2.5-flash%3Abatch&amp;fmt=batches\"><code>google/gemini-2.5-flash:batch</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\">Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.</p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=google%2Fgemini-2.5-flash%3Abatch&amp;route=Ultra&amp;caller=google%2Fgemini-2.5-flash%3Abatch&amp;fmt=batches\"><code>google/gemini-2.5-flash:batch</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemini-2.5-flash:batch",
        "fmt": "batches",
        "http": "POST",
        "path": "/v1/batches",
        "request_model_id": "google/gemini-2.5-flash:batch",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|batches|/v1/batches|google%2Fgemini-2.5-flash%3Abatch",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0.06,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Preserve full JSON and every result; provider real IDs are only read from actual returned responses.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "endpoint": "/v1/chat/completions",
              "model": "google/gemini-2.5-flash:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "input_constraints": [
              "Use the exact shown :batch model ID.",
              "Each custom_id must be nonempty and unique within the batch.",
              "Keep requests last in the serialized body; duplicate JSON keys are rejected.",
              "Each body.model is omitted or equals the exact batch caller or its documented base ID.",
              "Per-item provider, service_tier and input_type are outside this batch profile.",
              "stream is omitted or false.",
              "Supply text messages for this Chat batch profile; image/audio/file/video objects, hosted tools and cache-control fields are outside this profile."
            ],
            "outputs": {
              "all_results": "Διατηρήστε κάθε αποτέλεσμα, το σώμα κάθε απόκρισης ή σφάλματος, κάθε επιλογή και τη συνολική χρήση.",
              "enclosing_family": "batch",
              "family": "text",
              "fields": [
                {
                  "name": "results[].custom_id",
                  "type": "string"
                },
                {
                  "name": "results[].response.body.choices[].message.content",
                  "type": "string|null"
                },
                {
                  "name": "results[].error",
                  "type": "object|null"
                },
                {
                  "name": "usage",
                  "type": "object|null"
                }
              ],
              "format": "Ενσωματωμένο JSON στο results[].response.body"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "/v1/chat/completions"
                ],
                "enum_known": true,
                "name": "endpoint",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/gemini-2.5-flash:batch"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "requests",
                "required": true,
                "type": "batch_item[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].custom_id",
                "required": true,
                "type": "string",
                "unique_within_batch": true
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].body.messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "24h"
                ],
                "enum_known": true,
                "name": "completion_window",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object|null"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "completion_window": {
                  "enum": [
                    "24h"
                  ],
                  "type": "string"
                },
                "endpoint": {
                  "enum": [
                    "/v1/chat/completions"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "google/gemini-2.5-flash:batch"
                  ],
                  "type": "string"
                },
                "provider": {
                  "additionalProperties": false,
                  "properties": {
                    "allow_fallbacks": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "only": {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "requests": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "body": {
                        "additionalProperties": true,
                        "properties": {
                          "max_tokens": {
                            "minimum": 1,
                            "type": "integer"
                          },
                          "messages": {
                            "items": {
                              "properties": {
                                "content": {
                                  "type": "string"
                                },
                                "role": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role",
                                "content"
                              ],
                              "type": "object"
                            },
                            "minItems": 1,
                            "type": "array"
                          }
                        },
                        "required": [
                          "messages"
                        ],
                        "type": "object"
                      },
                      "custom_id": {
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "custom_id",
                      "body"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "endpoint",
                "model",
                "requests"
              ],
              "type": "object"
            },
            "schema_template": {
              "endpoint": "/v1/chat/completions",
              "model": "google/gemini-2.5-flash:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "unsupported": [
              "Files/input_file_id batch upload workflow",
              "active cancel route",
              "public batch list/delete/result-download route",
              "model-name-derived capability or weights equivalence"
            ]
          },
          "input": {
            "content_type": "application/json",
            "file_material": "Ο καλών μπορεί να διαβάσει το πραγματικό υλικό UTF-8 JSONL τοπικά στον πίνακα requests[]. Δεν χρησιμοποιείται παράμετρος purpose για μεταφόρτωση, input_file_id ή αναφορά σε αρχείο. Αν το υλικό του πελάτη λείπει ή είναι κενό, η προετοιμασία σταματά πριν από το POST.",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "provider.only",
              "provider.allow_fallbacks",
              "completion_window"
            ],
            "representation": "Ενσωματωμένος πίνακας requests[]· κάθε στοιχείο έχει custom_id και body",
            "request_endpoint_profile": "/v1/chat/completions",
            "required": [
              "endpoint",
              "model",
              "requests"
            ],
            "schema_scope": "Σώματα αιτημάτων Text Chat Completions στον τεκμηριωμένο ενσωματωμένο φάκελο Batch.",
            "serialization_order": [
              "endpoint",
              "model",
              "provider (αν παρέχεται)",
              "completion_window (αν παρέχεται)",
              "requests στο τέλος"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "create": {
              "accepted_status": 202,
              "http": "POST",
              "path": "/v1/batches"
            },
            "delete": null,
            "file_upload": null,
            "mode": "asynchronous",
            "status": {
              "http": "GET",
              "id_source": "Το πραγματικό response.id της αρχικής απόκρισης δημιουργίας· ο ίδιος χρήστης, το ίδιο κλειδί και η ίδια ομάδα",
              "path": "/v1/batches/{operation_id}"
            },
            "terminal": [
              "completed",
              "failed",
              "expired",
              "cancelled"
            ],
            "unknown": "Διατηρήστε το αρχικό ID της λειτουργίας. Η απόκριση 503 result_pending_check περιέχει X-Should-Retry:false· μην υποβάλετε ποτέ ξανά μια αρχική μαζική εργασία με άγνωστη έκβαση."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/batches"
          },
          "output": {
            "all_results": "Keep every custom_id, response or error and aggregate usage. Result ordering is not assumed.",
            "family": "batch",
            "format": "JSON; completed results[] are returned inline and can be saved as JSONL."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Βασικές χρεώσεις ανά token",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000025",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000006",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Επίπεδο 1 βάσει μήκους αιτήματος",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000025",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000006",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json\nfrom pathlib import Path\nbody=json.loads('{\"endpoint\":\"/v1/chat/completions\",\"model\":\"google/gemini-2.5-flash:batch\",\"requests\":[{\"custom_id\":\"req-0001\",\"body\":{\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}],\"max_tokens\":16}}]}')\nPath(\"batch-request.json\").write_text(json.dumps(body,ensure_ascii=False),encoding=\"utf-8\")\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n",
            "label": "curl · retained fixture",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(\"Customer JSONL file is missing\")\n    items = [json.loads(line) for line in path.read_text(encoding=\"utf-8\").splitlines() if line.strip()]\n    if not items: raise ValueError(\"Customer JSONL contains no requests\")\n    ids = set()\n    for item in items:\n        if set(item) != {\"custom_id\", \"body\"}: raise ValueError(\"Each item needs custom_id and body\")\n        cid = item[\"custom_id\"]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(\"custom_id must be nonempty and unique\")\n        ids.add(cid)\n        if not isinstance(item[\"body\"], dict) or not item[\"body\"].get(\"messages\"): raise ValueError(\"Supply actual text messages\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"google/gemini-2.5-flash:batch\", \"requests\":items}\n\nif __name__ == \"__main__\":\n    material = os.environ.get(\"AILOOT_BATCH_REQUESTS_JSONL\", \"\")\n    if not material: raise SystemExit(\"Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file\")\n    body = prepare_requests(material)\n    key = os.environ.get(\"AILOOT_API_KEY\", \"\")\n    if not key: raise SystemExit(\"Set AILOOT_API_KEY\")\n    request = Request(\"https://api.ailoot.ai/v1/batches\", data=json.dumps(body, ensure_ascii=False).encode(\"utf-8\"), headers={\"Authorization\":\"Bearer \" + key, \"Content-Type\":\"application/json\"}, method=\"POST\")\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(\"batch-create-response.json\").write_bytes(raw)\n        print(raw.decode(\"utf-8\"))\n",
            "label": "Python HTTP · actual customer JSONL",
            "language": "python"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nBATCH_OPERATION_ID=\"$(python3 - <<'PY_ID'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(\"batch-create-response.json\").read_text(encoding=\"utf-8\"))\noperation = response.get(\"id\")\nif not isinstance(operation, str) or not operation: raise SystemExit(\"No actual original operation ID; preserve the response and do not resubmit\")\nprint(quote(operation, safe=\"\"))\nPY_ID\n)\"\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o batch-status-response.json\n",
            "label": "curl · original operation status",
            "language": "bash"
          }
        ],
        "family": "batch",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "batches",
        "hints": [
          "Read your actual request items before submission; inline requests are required.",
          "Keep the returned operation ID and every result. Never replay an unknown submission."
        ],
        "http": "POST",
        "in": 0.3,
        "input": [
          "text"
        ],
        "label": "Μαζική επεξεργασία",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 2.5,
        "output": [
          "text"
        ],
        "path": "/v1/batches",
        "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"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000025",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000006",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000025",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000006",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-2.5-flash:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.06,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.3,
            "input_multiplier": null,
            "interval_boundary": "min_exclusive_max_inclusive",
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "null_rate_policy": "unknown or inherited; never zero",
            "out": 2.5,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.0025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000025",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": "0.00006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.00000006",
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "google/gemini-2.5-flash:batch",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "f329966635082f8563644974eb162a628af0872888cb91cedc49dd5445b2190e",
    "input_html_sha256": "c3ceac509ea9dd528dea7af3a852afcd24430869916f98c5749ed178ffad1b54",
    "private_audit_sha256": "71b75c1b9a365ce4326b39652602f26f0630c9489bf6c706342b73f02a983a46",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/google-gemini-2-5-flash-u003a-batch/",
    "description": "Το Gemini 2.5 Flash είναι το σταθερό υβριδικό μοντέλο συλλογισμού της Google για πολυτροπική ανάλυση και εργασίες πρακτόρων. Ο δυναμικός προϋπολογισμός σκέψης του μπορεί να οριστεί από 0 έως 24,576 tokens, με δυνατότητα απενεργοποίησης. Κείμενο, εικόνες, ήχος, βίντεο και έγγραφα μετατρέπονται σε κείμενο ή δομημένα αποτελέσματα, με τεκμηριωμένο όριο εισόδου 1,048,576 tokens.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/google-gemini-2-5-flash-u003a-batch/index.md",
    "title": "Google: Gemini 2.5 Flash (batch) — Ailoot",
    "url": "https://ailoot.ai/models/el/google-gemini-2-5-flash-u003a-batch/"
  },
  "rawModel": {
    "about": "Το Gemini 2.5 Flash είναι το σταθερό υβριδικό προφίλ συλλογισμού της Google για ολοκληρωμένη πολυτροπική εργασία και χρήση εργαλείων από πράκτορες. Προσφέρει απαντήσεις με και χωρίς σκέψη για πολυτροπικές εργασίες μεγάλης κλίμακας που χρειάζονται διαφορετικά επίπεδα συλλογισμού. Κείμενο, εικόνες, ήχος και βίντεο συμβάλλουν σε μια απάντηση κειμένου. Η είσοδος εγγράφων περιγράφεται επίσης στο ειδικό προφίλ cloud της Google για το μοντέλο. Ένα χρήσιμο αποτέλεσμα μπορεί να είναι σύγκριση εγγράφων, ερμηνεία διαγράμματος, απομαγνητοφώνηση, κώδικας ή μια δομημένη εγγραφή.\n\nΟ έλεγχος συλλογισμού της έκδοσης χρησιμοποιεί το thinkingBudget. Η δυναμική σκέψη είναι η προεπιλογή· η τιμή -1 επιτρέπει στο μοντέλο να προσαρμόζει τον συλλογισμό του στην πολυπλοκότητα της εργασίας. Ένας ρητός προϋπολογισμός μπορεί να κυμαίνεται από μηδέν έως 24,576 tokens και το μηδέν απενεργοποιεί τη σκέψη. Επιλέξτε προϋπολογισμό κατάλληλο για το πραγματικό πρόβλημα αντί να αποδίδετε την ίδια προσπάθεια σε μια απλή κατηγοριοποίηση και σε μια ανάλυση με πολλές συνθήκες. Ο οδηγός αντιμετωπίζει τον προϋπολογισμό ως καθοδήγηση και η εγγενής κάρτα σημειώνει ότι η τήρησή του μπορεί να μην είναι ακριβής.\n\nΓια μια εργασία εγγράφων ή δεδομένων, ορίστε την ερώτηση, τα απαιτούμενα πεδία και τα τεκμήρια που πρέπει να συνοδεύουν το αποτέλεσμα. Για σύγκριση απαιτήσεων, συγκρίνετε δύο προδιαγραφές και επιστρέψτε την απαίτηση που άλλαξε, το χωρίο προέλευσής της και την επίδραση σε μια συγκεκριμένη ροή εργασίας. Η δομημένη έξοδος είναι χρήσιμη όταν κάθε εύρημα χρειάζεται την ίδια μορφή εγγραφής. Αν η πηγή δίνει πολλές πιθανές τιμές ή αφήνει ένα πεδίο ανοικτό, διατηρήστε αυτή την αβεβαιότητα αντί να επιβάλλετε μία εύλογη απάντηση. Ελέγξτε τις επιστρεφόμενες τιμές σε σχέση με τις παρεχόμενες σελίδες ή τα δεδομένα.\n\nΓια οπτικό ή ηχητικό υλικό, προσδιορίστε το σχετικό αντικείμενο, την ετικέτα, το γεγονός ή το απόσπασμα της εγγραφής. Ζητήστε το είδος κειμένου που χρειάζεστε: ορατές τιμές από ένα διάγραμμα, περιγραφή ενός γεγονότος, απομαγνητοφώνηση ή περίληψη. Αυτά τα παραδοτέα διαφέρουν και η οδηγία πρέπει να δηλώνει ποιο να παραχθεί. Η κοινή εγγενής κάρτα περιλαμβάνει τα Flash Image και Flash Audio ως χωριστά ονομασμένες δυνατότητες· οι παραγόμενες εικόνες και οι έξοδοι ομιλίας τους δεν αποτελούν μέρος αυτού του σταθερού προφίλ κειμένου.\n\nΤο συγκεκριμένο προφίλ cloud της Google τεκμηριώνει εισόδους PDF και απλού κειμένου με όρια ειδικά για τη διεπαφή: 50 MB ανά PDF που εισάγεται μέσω API και έως 3,000 σελίδες ανά αρχείο, με όριο 7 MB για αρχείο απλού κειμένου. Αυτό το προφίλ περιγράφει επίσης περίπου 45 λεπτά βίντεο με ήχο ή μία ώρα χωρίς ήχο και περίπου 8.4 ώρες ήχου εντός του περιθωρίου εισόδου ενός εκατομμυρίου tokens. Αυτοί είναι οι δηλωμένοι περιορισμοί της διεπαφής cloud, χωριστά από το γενικό παράθυρο tokens του μοντέλου. Προετοιμάστε το σχετικό τμήμα και τη μορφή της πηγής αντί να υποθέτετε ότι κάθε τύπος αρχείου ή διαδρομή μεταφόρτωσης έχει το ίδιο όριο.\n\nΟ πίνακας του συγκεκριμένου Gemini API αναφέρει κλήση συναρτήσεων, εκτέλεση κώδικα, αναζήτηση αρχείων, τεκμηρίωση μέσω αναζήτησης, τεκμηρίωση μέσω Maps, περιεχόμενο URL και δομημένες εξόδους. Ορίστε τον ρόλο κάθε συνάρτησης και τη μορφή των παραμέτρων της και συνεχίστε από το πραγματικό επιστρεφόμενο αποτέλεσμα. Το μοντέλο μπορεί να ζητήσει μια λειτουργία, ενώ η συνδεδεμένη εφαρμογή την εκτελεί. Διατηρήστε το αναγκαίο πλαίσιο υπογραφών σκέψης όταν συνεχίζετε μια εργασία συλλογισμού στη διεπαφή χωρίς κατάσταση. Μια δομημένη απάντηση ή μια πρόταση συνάρτησης δεν τεκμηριώνει από μόνη της ότι μια εξωτερική λειτουργία πέτυχε.\n\nΗ εγγενής κάρτα του μοντέλου δίνει πλαίσιο 1M και έξοδο κειμένου 64K, ενώ ο πίνακας του συγκεκριμένου API ορίζει 1,048,576 tokens εισόδου και 65,536 tokens εξόδου. Ένα όριο απόκρισης περιλαμβάνει tokens σκέψης, επομένως ένα υπερβολικά μικρό όριο μπορεί να αφήσει την τελική απάντηση κομμένη ή κενή. Ζητήστε παραδοτέο με μέγεθος κατάλληλο για το περιθώριο εξόδου και χρησιμοποιήστε τον προϋπολογισμό συλλογισμού για να καθοδηγήσετε την προσπάθεια. Η προσωρινή αποθήκευση και η επεξεργασία batch, Flex και Priority τεκμηριώνονται για αυτό το προφίλ του κατασκευαστή. Διατηρήστε τα αναγνωριστικά των στοιχείων όταν προετοιμάζετε πολλές ανεξάρτητες εγγραφές.\n\nΗ σταθερή έκδοση παραμένει διακριτή από τις παραλλαγές Flash Preview και τα μεταγενέστερα μοντέλα Gemini 3. Η κάρτα της αναφέρει πιθανές παραισθήσεις, περιορισμούς στην αιτιακή κατανόηση και στη σύνθετη λογική ή αντιγεγονική συλλογιστική και χρονικό όριο γνώσης τον Ιανουάριο 2025. Δώστε πρόσφατα τεκμήρια όταν μια εργασία εξαρτάται από νεότερες πληροφορίες. Ελέγξτε υπολογισμούς, εξαγόμενες τιμές, απομαγνητοφωνήσεις και προτεινόμενο κώδικα σε σχέση με την πραγματική πηγή ή το αποτέλεσμα εκτέλεσης. Η υβριδική σκέψη είναι χρήσιμη όταν στηρίζει αυτό το συγκεκριμένο αποτέλεσμα, αντί να υποκαθιστά τον έλεγχό του.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "available": null,
    "canonical_model": "google/gemini-2.5-flash:batch",
    "capabilities": {
      "context_length": 1048576,
      "manufacturer_input": [
        "file",
        "image",
        "text",
        "audio",
        "video"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.0025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000025",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "Πλήρης τιμολόγηση της διαμόρφωσης στις λεπτομέρειες."
      }
    ],
    "ctx": null,
    "entity_type": "model",
    "formats": [
      "batches"
    ],
    "id": "google/gemini-2.5-flash:batch",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0.06,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Preserve full JSON and every result; provider real IDs are only read from actual returned responses.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "endpoint": "/v1/chat/completions",
              "model": "google/gemini-2.5-flash:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "input_constraints": [
              "Use the exact shown :batch model ID.",
              "Each custom_id must be nonempty and unique within the batch.",
              "Keep requests last in the serialized body; duplicate JSON keys are rejected.",
              "Each body.model is omitted or equals the exact batch caller or its documented base ID.",
              "Per-item provider, service_tier and input_type are outside this batch profile.",
              "stream is omitted or false.",
              "Supply text messages for this Chat batch profile; image/audio/file/video objects, hosted tools and cache-control fields are outside this profile."
            ],
            "outputs": {
              "all_results": "Διατηρήστε κάθε αποτέλεσμα, το σώμα κάθε απόκρισης ή σφάλματος, κάθε επιλογή και τη συνολική χρήση.",
              "enclosing_family": "batch",
              "family": "text",
              "fields": [
                {
                  "name": "results[].custom_id",
                  "type": "string"
                },
                {
                  "name": "results[].response.body.choices[].message.content",
                  "type": "string|null"
                },
                {
                  "name": "results[].error",
                  "type": "object|null"
                },
                {
                  "name": "usage",
                  "type": "object|null"
                }
              ],
              "format": "Ενσωματωμένο JSON στο results[].response.body"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "/v1/chat/completions"
                ],
                "enum_known": true,
                "name": "endpoint",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/gemini-2.5-flash:batch"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "requests",
                "required": true,
                "type": "batch_item[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].custom_id",
                "required": true,
                "type": "string",
                "unique_within_batch": true
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].body.messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "24h"
                ],
                "enum_known": true,
                "name": "completion_window",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object|null"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "completion_window": {
                  "enum": [
                    "24h"
                  ],
                  "type": "string"
                },
                "endpoint": {
                  "enum": [
                    "/v1/chat/completions"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "google/gemini-2.5-flash:batch"
                  ],
                  "type": "string"
                },
                "provider": {
                  "additionalProperties": false,
                  "properties": {
                    "allow_fallbacks": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "only": {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "requests": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "body": {
                        "additionalProperties": true,
                        "properties": {
                          "max_tokens": {
                            "minimum": 1,
                            "type": "integer"
                          },
                          "messages": {
                            "items": {
                              "properties": {
                                "content": {
                                  "type": "string"
                                },
                                "role": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role",
                                "content"
                              ],
                              "type": "object"
                            },
                            "minItems": 1,
                            "type": "array"
                          }
                        },
                        "required": [
                          "messages"
                        ],
                        "type": "object"
                      },
                      "custom_id": {
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "custom_id",
                      "body"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "endpoint",
                "model",
                "requests"
              ],
              "type": "object"
            },
            "schema_template": {
              "endpoint": "/v1/chat/completions",
              "model": "google/gemini-2.5-flash:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "unsupported": [
              "Files/input_file_id batch upload workflow",
              "active cancel route",
              "public batch list/delete/result-download route",
              "model-name-derived capability or weights equivalence"
            ]
          },
          "input": {
            "content_type": "application/json",
            "file_material": "Ο καλών μπορεί να διαβάσει το πραγματικό υλικό UTF-8 JSONL τοπικά στον πίνακα requests[]. Δεν χρησιμοποιείται παράμετρος purpose για μεταφόρτωση, input_file_id ή αναφορά σε αρχείο. Αν το υλικό του πελάτη λείπει ή είναι κενό, η προετοιμασία σταματά πριν από το POST.",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "provider.only",
              "provider.allow_fallbacks",
              "completion_window"
            ],
            "representation": "Ενσωματωμένος πίνακας requests[]· κάθε στοιχείο έχει custom_id και body",
            "request_endpoint_profile": "/v1/chat/completions",
            "required": [
              "endpoint",
              "model",
              "requests"
            ],
            "schema_scope": "Σώματα αιτημάτων Text Chat Completions στον τεκμηριωμένο ενσωματωμένο φάκελο Batch.",
            "serialization_order": [
              "endpoint",
              "model",
              "provider (αν παρέχεται)",
              "completion_window (αν παρέχεται)",
              "requests στο τέλος"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "create": {
              "accepted_status": 202,
              "http": "POST",
              "path": "/v1/batches"
            },
            "delete": null,
            "file_upload": null,
            "mode": "asynchronous",
            "status": {
              "http": "GET",
              "id_source": "Το πραγματικό response.id της αρχικής απόκρισης δημιουργίας· ο ίδιος χρήστης, το ίδιο κλειδί και η ίδια ομάδα",
              "path": "/v1/batches/{operation_id}"
            },
            "terminal": [
              "completed",
              "failed",
              "expired",
              "cancelled"
            ],
            "unknown": "Διατηρήστε το αρχικό ID της λειτουργίας. Η απόκριση 503 result_pending_check περιέχει X-Should-Retry:false· μην υποβάλετε ποτέ ξανά μια αρχική μαζική εργασία με άγνωστη έκβαση."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/batches"
          },
          "output": {
            "all_results": "Keep every custom_id, response or error and aggregate usage. Result ordering is not assumed.",
            "family": "batch",
            "format": "JSON; completed results[] are returned inline and can be saved as JSONL."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Βασικές χρεώσεις ανά token",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000025",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000006",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Επίπεδο 1 βάσει μήκους αιτήματος",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000025",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000006",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json\nfrom pathlib import Path\nbody=json.loads('{\"endpoint\":\"/v1/chat/completions\",\"model\":\"google/gemini-2.5-flash:batch\",\"requests\":[{\"custom_id\":\"req-0001\",\"body\":{\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}],\"max_tokens\":16}}]}')\nPath(\"batch-request.json\").write_text(json.dumps(body,ensure_ascii=False),encoding=\"utf-8\")\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n",
            "label": "curl · retained fixture",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(\"Customer JSONL file is missing\")\n    items = [json.loads(line) for line in path.read_text(encoding=\"utf-8\").splitlines() if line.strip()]\n    if not items: raise ValueError(\"Customer JSONL contains no requests\")\n    ids = set()\n    for item in items:\n        if set(item) != {\"custom_id\", \"body\"}: raise ValueError(\"Each item needs custom_id and body\")\n        cid = item[\"custom_id\"]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(\"custom_id must be nonempty and unique\")\n        ids.add(cid)\n        if not isinstance(item[\"body\"], dict) or not item[\"body\"].get(\"messages\"): raise ValueError(\"Supply actual text messages\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"google/gemini-2.5-flash:batch\", \"requests\":items}\n\nif __name__ == \"__main__\":\n    material = os.environ.get(\"AILOOT_BATCH_REQUESTS_JSONL\", \"\")\n    if not material: raise SystemExit(\"Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file\")\n    body = prepare_requests(material)\n    key = os.environ.get(\"AILOOT_API_KEY\", \"\")\n    if not key: raise SystemExit(\"Set AILOOT_API_KEY\")\n    request = Request(\"https://api.ailoot.ai/v1/batches\", data=json.dumps(body, ensure_ascii=False).encode(\"utf-8\"), headers={\"Authorization\":\"Bearer \" + key, \"Content-Type\":\"application/json\"}, method=\"POST\")\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(\"batch-create-response.json\").write_bytes(raw)\n        print(raw.decode(\"utf-8\"))\n",
            "label": "Python HTTP · actual customer JSONL",
            "language": "python"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nBATCH_OPERATION_ID=\"$(python3 - <<'PY_ID'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(\"batch-create-response.json\").read_text(encoding=\"utf-8\"))\noperation = response.get(\"id\")\nif not isinstance(operation, str) or not operation: raise SystemExit(\"No actual original operation ID; preserve the response and do not resubmit\")\nprint(quote(operation, safe=\"\"))\nPY_ID\n)\"\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o batch-status-response.json\n",
            "label": "curl · original operation status",
            "language": "bash"
          }
        ],
        "family": "batch",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "batches",
        "hints": [
          "Read your actual request items before submission; inline requests are required.",
          "Keep the returned operation ID and every result. Never replay an unknown submission."
        ],
        "http": "POST",
        "in": 0.3,
        "input": [
          "text"
        ],
        "label": "Μαζική επεξεργασία",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 2.5,
        "output": [
          "text"
        ],
        "path": "/v1/batches",
        "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"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000025",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000006",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000025",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000006",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-2.5-flash:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.06,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.3,
            "input_multiplier": null,
            "interval_boundary": "min_exclusive_max_inclusive",
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "null_rate_policy": "unknown or inherited; never zero",
            "out": 2.5,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.0025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000025",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": "0.00006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.00000006",
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/gemini-2.5-flash:batch",
        "request_model_id": "google/gemini-2.5-flash:batch",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemini 2.5 Flash (batch)",
    "price": {
      "in": 0.3,
      "in_label": null,
      "out": 2.5,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.3,
      "sort_out": 2.5,
      "varies": true
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Batch · Base token rates",
        "units": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.0025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000025",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": "0.00006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.00000006",
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      },
      {
        "dimensions": {
          "max_context_tokens_inclusive": null,
          "min_context_tokens_exclusive": 0
        },
        "label": "Batch · Request-length tier 1",
        "units": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.0025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000025",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": "0.00006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.00000006",
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "public_id": "google/gemini-2.5-flash:batch",
    "short": "Το Gemini 2.5 Flash είναι το σταθερό υβριδικό μοντέλο συλλογισμού της Google για πολυτροπική ανάλυση και εργασίες πρακτόρων. Ο δυναμικός προϋπολογισμός σκέψης του μπορεί να οριστεί από 0 έως 24,576 tokens, με δυνατότητα απενεργοποίησης. Κείμενο, εικόνες, ήχος, βίντεο και έγγραφα μετατρέπονται σε κείμενο ή δομημένα αποτελέσματα, με τεκμηριωμένο όριο εισόδου 1,048,576 tokens."
  },
  "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": "Το Gemini 2.5 Flash είναι το σταθερό υβριδικό μοντέλο συλλογισμού της Google για πολυτροπική ανάλυση και εργασίες πρακτόρων. Ο δυναμικός προϋπολογισμός σκέψης του μπορεί να οριστεί από 0 έως 24,576 tokens, με δυνατότητα απενεργοποίησης. Κείμενο, εικόνες, ήχος, βίντεο και έγγραφα μετατρέπονται σε κείμενο ή δομημένα αποτελέσματα, με τεκμηριωμένο όριο εισόδου 1,048,576 tokens.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "d753dd1470e261af7dd2c740d302abe54487a7692031d37632aa2c4dc0516924",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "bc3daed6f38504656b5f11cec1ae752cf7aa37a68f430c28ed6e46a7da691510"
}
