{
  "aboutHtml": "<p>Το Gemma 4 31B IT είναι η πυκνή έκδοση της ανοικτής οικογένειας Gemma 4 της Google DeepMind, προσαρμοσμένη σε οδηγίες. Η Google τοποθετεί το μοντέλο 31B με γνώμονα την ποιότητα και την προσαρμογή σε συγκεκριμένη εργασία, ενώ η ξεχωριστή έκδοση 26B A4B χρησιμοποιεί μείγμα ειδικών για αποδοτικότερη εξαγωγή συμπερασμάτων. Αυτή η κάρτα αφορά τη συγκεκριμένη έκδοση 31B με προσαρμογή σε οδηγίες, όχι τα προεκπαιδευμένα βάρη της ή κάποιο κβαντισμένο παράγωγο.</p><p>Ο επίσημος πίνακας πυκνής αρχιτεκτονικής αναφέρει 30.7 δισεκατομμύρια παραμέτρους, 60 στρώματα, ολισθαίνον παράθυρο 1,024 token και πλαίσιο 256K token. Η οικογένεια συνδυάζει τοπική προσοχή ολισθαίνοντος παραθύρου με καθολική προσοχή, καταλήγοντας σε καθολικό στρώμα, και χρησιμοποιεί ειδικό οπτικό κωδικοποιητή σε αυτό το μοντέλο. Το προφίλ που προκύπτει έχει σχεδιαστεί για είσοδο κειμένου και εικόνων και έξοδο κειμένου. Αυτά είναι στοιχεία αρχιτεκτονικής· δεν καθορίζουν τον χρόνο απόκρισης εφαρμογής ούτε συνεπάγονται την υποστήριξη ήχου άλλων μεγεθών Gemma 4.</p><p>Το πλαίσιο συμφραζομένων των 256K token υποστηρίζει εργασίες που συνδυάζουν εκτενές κείμενο με οπτικά τεκμήρια. Εικόνες και κείμενο μπορούν να εναλλάσσονται στην ίδια προτροπή· ο κατασκευαστής συνιστά να προηγείται η εικόνα του σχετικού κειμένου για καλύτερα αποτελέσματα. Οι οπτικές εργασίες περιλαμβάνουν ανίχνευση αντικειμένων, ερμηνεία σελίδων εγγράφων, κατανόηση οθονών και διεπαφών, γραφήματα, πολυγλωσσικό OCR, χειρόγραφα και υπόδειξη σημείων. Η έξοδος είναι κείμενο: εξαγόμενο περιεχόμενο, εξήγηση, κώδικας ή προτεινόμενη ενέργεια εργαλείου.</p><p>Η ρυθμιζόμενη συλλογιστική επιτρέπει στο μοντέλο να συλλογιστεί πριν απαντήσει ή να δώσει άμεση απάντηση. Το Gemma 4 προσθέτει εγγενή ρόλο system στους ρόλους user και assistant. Η μορφή προτροπών της Google ενεργοποιεί τη συλλογιστική με το token ελέγχου &lt;|think|&gt; στην προτροπή συστήματος και διαχωρίζει το κανάλι σκέψης από την τελική απάντηση· ο τεκμηριωμένος επεξεργαστής της χειρίζεται αυτό το πρότυπο. Σε συνομιλία πολλών γύρων, διατηρήστε τις προηγούμενες τελικές απαντήσεις στο ιστορικό και παραλείψτε τις προηγούμενες σκέψεις, εκτός από γύρους κλήσης εργαλείων, όπου ο κατασκευαστής υποδεικνύει να διατηρούνται.</p><p>Το Native Function Calling υποστηρίζει δομημένη χρήση εργαλείων, ενώ η ανακοίνωση κυκλοφορίας της Google τεκμηριώνει και δομημένη έξοδο JSON. Ορίστε την εργασία, τη διαθέσιμη συνάρτηση και το αναμενόμενο αποτέλεσμα· η εφαρμογή εκτελεί τη ζητούμενη λειτουργία και επιστρέφει την έξοδό της για το επόμενο βήμα. Μια εργασία προγραμματισμού μπορεί να ζητά παραγωγή, συμπλήρωση ή διόρθωση κώδικα, ενώ ένας οπτικός βοηθός μπορεί να χρησιμοποιεί το επιστρεφόμενο κείμενο για να εξηγήσει γράφημα ή οθόνη. Η οδηγία κλήσης συνάρτησης διαφέρει από μια συνδεδεμένη ενέργεια που έχει πράγματι εκτελεστεί.</p><p>Η μεταβλητή ανάλυση εικόνας ελέγχεται από το όριο οπτικών token. Οι τεκμηριωμένες επιλογές είναι 70, 140, 280, 560 και 1,120 token. Τα χαμηλότερα όρια εξυπηρετούν ταξινόμηση ή λεζάντες· τα υψηλότερα διατηρούν περισσότερες λεπτομέρειες για OCR, ανάλυση εγγράφων και μικρό κείμενο, με επιπλέον υπολογιστικό κόστος. Αποφασίστε αν χρειάζεστε τη συνολική σκηνή ή την ακριβή γραφή πριν ετοιμάσετε την εικόνα. Ένα καθαρό απόκομμα ετικέτας μπορεί να βοηθά περισσότερο στην εξαγωγή από ένα αόριστο αίτημα εξέτασης κάθε λεπτομέρειας ολόκληρης σελίδας.</p><p>Η Google συνιστά temperature 1.0, top-p 0.95 και top-k 64 ως ρυθμίσεις δειγματοληψίας της οικογένειας. Η κάρτα μοντέλου διακρίνει την εκπαίδευση σε περισσότερες από 140 γλώσσες από την άμεση υποστήριξη περισσότερων από 35 γλωσσών. Δηλώστε τη γλώσσα απάντησης και προσδιορίστε ρητά στις οδηγίες τα ονόματα τομέων, τα ονόματα πεδίων ή τους τύπους που πρέπει να διατηρηθούν. Το 256K είναι προδιαγραφή πλαισίου συμφραζομένων· η αναφερόμενη κάρτα δεν τεκμηριώνει ξεχωριστό καθολικό μέγιστο εξόδου για αυτή την έκδοση.</p><p>Για εργασία εγγράφου και κώδικα, δώστε τη σχετική εικόνα σελίδας, τη γραπτή απαίτηση και το απόσπασμα πηγαίου κώδικα: «Διάβασε τις ετικέτες, εξήγησε πώς διαφέρει αυτή η οθόνη από την προδιαγραφή και πρότεινε στοχευμένη διόρθωση στον δοσμένο κώδικα». Για γράφημα, ζητήστε να διαχωρίζονται οι ορατές τιμές από μια συναγόμενη τάση. Η κάρτα του Gemma επισημαίνει περιορισμούς σε αμφίσημη γλώσσα, πολύ σύνθετες εργασίες και λανθασμένες ή παρωχημένες πραγματολογικές δηλώσεις· επισυνάψτε λοιπόν τα έγκυρα στοιχεία που πρέπει να χρησιμοποιηθούν, αντί να περιμένετε να τα παρέχει η γνώση εκπαίδευσης.</p><p>Μέσω του Ailoot, επιλέξτε αυτό ακριβώς το αναγνωριστικό μοντέλου στο /v1/chat/completions και δώστε την εργασία στο messages. Κάθε μήνυμα περιλαμβάνει role και content· κρατήστε μαζί τις σχετικές οδηγίες και το πηγαίο υλικό. Συλλέξτε ολόκληρη την απόκριση JSON ή όλα τα τμήματα SSE όταν είναι ενεργό το stream και αποθηκεύστε το usage μαζί με το γραπτό αποτέλεσμα.</p>",
  "aboutText": "Το Gemma 4 31B IT είναι η πυκνή έκδοση της ανοικτής οικογένειας Gemma 4 της Google DeepMind, προσαρμοσμένη σε οδηγίες. Η Google τοποθετεί το μοντέλο 31B με γνώμονα την ποιότητα και την προσαρμογή σε συγκεκριμένη εργασία, ενώ η ξεχωριστή έκδοση 26B A4B χρησιμοποιεί μείγμα ειδικών για αποδοτικότερη εξαγωγή συμπερασμάτων. Αυτή η κάρτα αφορά τη συγκεκριμένη έκδοση 31B με προσαρμογή σε οδηγίες, όχι τα προεκπαιδευμένα βάρη της ή κάποιο κβαντισμένο παράγωγο.\n\nΟ επίσημος πίνακας πυκνής αρχιτεκτονικής αναφέρει 30.7 δισεκατομμύρια παραμέτρους, 60 στρώματα, ολισθαίνον παράθυρο 1,024 token και πλαίσιο 256K token. Η οικογένεια συνδυάζει τοπική προσοχή ολισθαίνοντος παραθύρου με καθολική προσοχή, καταλήγοντας σε καθολικό στρώμα, και χρησιμοποιεί ειδικό οπτικό κωδικοποιητή σε αυτό το μοντέλο. Το προφίλ που προκύπτει έχει σχεδιαστεί για είσοδο κειμένου και εικόνων και έξοδο κειμένου. Αυτά είναι στοιχεία αρχιτεκτονικής· δεν καθορίζουν τον χρόνο απόκρισης εφαρμογής ούτε συνεπάγονται την υποστήριξη ήχου άλλων μεγεθών Gemma 4.\n\nΤο πλαίσιο συμφραζομένων των 256K token υποστηρίζει εργασίες που συνδυάζουν εκτενές κείμενο με οπτικά τεκμήρια. Εικόνες και κείμενο μπορούν να εναλλάσσονται στην ίδια προτροπή· ο κατασκευαστής συνιστά να προηγείται η εικόνα του σχετικού κειμένου για καλύτερα αποτελέσματα. Οι οπτικές εργασίες περιλαμβάνουν ανίχνευση αντικειμένων, ερμηνεία σελίδων εγγράφων, κατανόηση οθονών και διεπαφών, γραφήματα, πολυγλωσσικό OCR, χειρόγραφα και υπόδειξη σημείων. Η έξοδος είναι κείμενο: εξαγόμενο περιεχόμενο, εξήγηση, κώδικας ή προτεινόμενη ενέργεια εργαλείου.\n\nΗ ρυθμιζόμενη συλλογιστική επιτρέπει στο μοντέλο να συλλογιστεί πριν απαντήσει ή να δώσει άμεση απάντηση. Το Gemma 4 προσθέτει εγγενή ρόλο system στους ρόλους user και assistant. Η μορφή προτροπών της Google ενεργοποιεί τη συλλογιστική με το token ελέγχου <|think|> στην προτροπή συστήματος και διαχωρίζει το κανάλι σκέψης από την τελική απάντηση· ο τεκμηριωμένος επεξεργαστής της χειρίζεται αυτό το πρότυπο. Σε συνομιλία πολλών γύρων, διατηρήστε τις προηγούμενες τελικές απαντήσεις στο ιστορικό και παραλείψτε τις προηγούμενες σκέψεις, εκτός από γύρους κλήσης εργαλείων, όπου ο κατασκευαστής υποδεικνύει να διατηρούνται.\n\nΤο Native Function Calling υποστηρίζει δομημένη χρήση εργαλείων, ενώ η ανακοίνωση κυκλοφορίας της Google τεκμηριώνει και δομημένη έξοδο JSON. Ορίστε την εργασία, τη διαθέσιμη συνάρτηση και το αναμενόμενο αποτέλεσμα· η εφαρμογή εκτελεί τη ζητούμενη λειτουργία και επιστρέφει την έξοδό της για το επόμενο βήμα. Μια εργασία προγραμματισμού μπορεί να ζητά παραγωγή, συμπλήρωση ή διόρθωση κώδικα, ενώ ένας οπτικός βοηθός μπορεί να χρησιμοποιεί το επιστρεφόμενο κείμενο για να εξηγήσει γράφημα ή οθόνη. Η οδηγία κλήσης συνάρτησης διαφέρει από μια συνδεδεμένη ενέργεια που έχει πράγματι εκτελεστεί.\n\nΗ μεταβλητή ανάλυση εικόνας ελέγχεται από το όριο οπτικών token. Οι τεκμηριωμένες επιλογές είναι 70, 140, 280, 560 και 1,120 token. Τα χαμηλότερα όρια εξυπηρετούν ταξινόμηση ή λεζάντες· τα υψηλότερα διατηρούν περισσότερες λεπτομέρειες για OCR, ανάλυση εγγράφων και μικρό κείμενο, με επιπλέον υπολογιστικό κόστος. Αποφασίστε αν χρειάζεστε τη συνολική σκηνή ή την ακριβή γραφή πριν ετοιμάσετε την εικόνα. Ένα καθαρό απόκομμα ετικέτας μπορεί να βοηθά περισσότερο στην εξαγωγή από ένα αόριστο αίτημα εξέτασης κάθε λεπτομέρειας ολόκληρης σελίδας.\n\nΗ Google συνιστά temperature 1.0, top-p 0.95 και top-k 64 ως ρυθμίσεις δειγματοληψίας της οικογένειας. Η κάρτα μοντέλου διακρίνει την εκπαίδευση σε περισσότερες από 140 γλώσσες από την άμεση υποστήριξη περισσότερων από 35 γλωσσών. Δηλώστε τη γλώσσα απάντησης και προσδιορίστε ρητά στις οδηγίες τα ονόματα τομέων, τα ονόματα πεδίων ή τους τύπους που πρέπει να διατηρηθούν. Το 256K είναι προδιαγραφή πλαισίου συμφραζομένων· η αναφερόμενη κάρτα δεν τεκμηριώνει ξεχωριστό καθολικό μέγιστο εξόδου για αυτή την έκδοση.\n\nΓια εργασία εγγράφου και κώδικα, δώστε τη σχετική εικόνα σελίδας, τη γραπτή απαίτηση και το απόσπασμα πηγαίου κώδικα: «Διάβασε τις ετικέτες, εξήγησε πώς διαφέρει αυτή η οθόνη από την προδιαγραφή και πρότεινε στοχευμένη διόρθωση στον δοσμένο κώδικα». Για γράφημα, ζητήστε να διαχωρίζονται οι ορατές τιμές από μια συναγόμενη τάση. Η κάρτα του Gemma επισημαίνει περιορισμούς σε αμφίσημη γλώσσα, πολύ σύνθετες εργασίες και λανθασμένες ή παρωχημένες πραγματολογικές δηλώσεις· επισυνάψτε λοιπόν τα έγκυρα στοιχεία που πρέπει να χρησιμοποιηθούν, αντί να περιμένετε να τα παρέχει η γνώση εκπαίδευσης.\n\nΜέσω του Ailoot, επιλέξτε αυτό ακριβώς το αναγνωριστικό μοντέλου στο /v1/chat/completions και δώστε την εργασία στο messages. Κάθε μήνυμα περιλαμβάνει role και content· κρατήστε μαζί τις σχετικές οδηγίες και το πηγαίο υλικό. Συλλέξτε ολόκληρη την απόκριση JSON ή όλα τα τμήματα SSE όταν είναι ενεργό το stream και αποθηκεύστε το usage μαζί με το γραπτό αποτέλεσμα.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "48a8e5c67082191da8069b8cac5546695999d71f5fa51a1e31566876b639610f",
    "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: Gemma 4 31B (free)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemma-4-31b-it:free</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|chat|/v1/chat/completions|google%2Fgemma-4-31b-it%3Afree\">Chat</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\">Το Gemma 4 31B IT είναι το πυκνό μοντέλο της Google, προσαρμοσμένο σε οδηγίες, για κειμενική και οπτική συλλογιστική. Το πλαίσιο 256K, η ρυθμιζόμενη συλλογιστική, η κατανόηση εικόνων και η εγγενής κλήση συναρτήσεων υποστηρίζουν εργασίες κώδικα, εγγράφων και πρακτόρων με έξοδο κειμένου.</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>Το Gemma 4 31B IT είναι η πυκνή έκδοση της ανοικτής οικογένειας Gemma 4 της Google DeepMind, προσαρμοσμένη σε οδηγίες. Η Google τοποθετεί το μοντέλο 31B με γνώμονα την ποιότητα και την προσαρμογή σε συγκεκριμένη εργασία, ενώ η ξεχωριστή έκδοση 26B A4B χρησιμοποιεί μείγμα ειδικών για αποδοτικότερη εξαγωγή συμπερασμάτων. Αυτή η κάρτα αφορά τη συγκεκριμένη έκδοση 31B με προσαρμογή σε οδηγίες, όχι τα προεκπαιδευμένα βάρη της ή κάποιο κβαντισμένο παράγωγο.</p><p>Ο επίσημος πίνακας πυκνής αρχιτεκτονικής αναφέρει 30.7 δισεκατομμύρια παραμέτρους, 60 στρώματα, ολισθαίνον παράθυρο 1,024 token και πλαίσιο 256K token. Η οικογένεια συνδυάζει τοπική προσοχή ολισθαίνοντος παραθύρου με καθολική προσοχή, καταλήγοντας σε καθολικό στρώμα, και χρησιμοποιεί ειδικό οπτικό κωδικοποιητή σε αυτό το μοντέλο. Το προφίλ που προκύπτει έχει σχεδιαστεί για είσοδο κειμένου και εικόνων και έξοδο κειμένου. Αυτά είναι στοιχεία αρχιτεκτονικής· δεν καθορίζουν τον χρόνο απόκρισης εφαρμογής ούτε συνεπάγονται την υποστήριξη ήχου άλλων μεγεθών Gemma 4.</p><p>Το πλαίσιο συμφραζομένων των 256K token υποστηρίζει εργασίες που συνδυάζουν εκτενές κείμενο με οπτικά τεκμήρια. Εικόνες και κείμενο μπορούν να εναλλάσσονται στην ίδια προτροπή· ο κατασκευαστής συνιστά να προηγείται η εικόνα του σχετικού κειμένου για καλύτερα αποτελέσματα. Οι οπτικές εργασίες περιλαμβάνουν ανίχνευση αντικειμένων, ερμηνεία σελίδων εγγράφων, κατανόηση οθονών και διεπαφών, γραφήματα, πολυγλωσσικό OCR, χειρόγραφα και υπόδειξη σημείων. Η έξοδος είναι κείμενο: εξαγόμενο περιεχόμενο, εξήγηση, κώδικας ή προτεινόμενη ενέργεια εργαλείου.</p><p>Η ρυθμιζόμενη συλλογιστική επιτρέπει στο μοντέλο να συλλογιστεί πριν απαντήσει ή να δώσει άμεση απάντηση. Το Gemma 4 προσθέτει εγγενή ρόλο system στους ρόλους user και assistant. Η μορφή προτροπών της Google ενεργοποιεί τη συλλογιστική με το token ελέγχου &lt;|think|&gt; στην προτροπή συστήματος και διαχωρίζει το κανάλι σκέψης από την τελική απάντηση· ο τεκμηριωμένος επεξεργαστής της χειρίζεται αυτό το πρότυπο. Σε συνομιλία πολλών γύρων, διατηρήστε τις προηγούμενες τελικές απαντήσεις στο ιστορικό και παραλείψτε τις προηγούμενες σκέψεις, εκτός από γύρους κλήσης εργαλείων, όπου ο κατασκευαστής υποδεικνύει να διατηρούνται.</p><p>Το Native Function Calling υποστηρίζει δομημένη χρήση εργαλείων, ενώ η ανακοίνωση κυκλοφορίας της Google τεκμηριώνει και δομημένη έξοδο JSON. Ορίστε την εργασία, τη διαθέσιμη συνάρτηση και το αναμενόμενο αποτέλεσμα· η εφαρμογή εκτελεί τη ζητούμενη λειτουργία και επιστρέφει την έξοδό της για το επόμενο βήμα. Μια εργασία προγραμματισμού μπορεί να ζητά παραγωγή, συμπλήρωση ή διόρθωση κώδικα, ενώ ένας οπτικός βοηθός μπορεί να χρησιμοποιεί το επιστρεφόμενο κείμενο για να εξηγήσει γράφημα ή οθόνη. Η οδηγία κλήσης συνάρτησης διαφέρει από μια συνδεδεμένη ενέργεια που έχει πράγματι εκτελεστεί.</p><p>Η μεταβλητή ανάλυση εικόνας ελέγχεται από το όριο οπτικών token. Οι τεκμηριωμένες επιλογές είναι 70, 140, 280, 560 και 1,120 token. Τα χαμηλότερα όρια εξυπηρετούν ταξινόμηση ή λεζάντες· τα υψηλότερα διατηρούν περισσότερες λεπτομέρειες για OCR, ανάλυση εγγράφων και μικρό κείμενο, με επιπλέον υπολογιστικό κόστος. Αποφασίστε αν χρειάζεστε τη συνολική σκηνή ή την ακριβή γραφή πριν ετοιμάσετε την εικόνα. Ένα καθαρό απόκομμα ετικέτας μπορεί να βοηθά περισσότερο στην εξαγωγή από ένα αόριστο αίτημα εξέτασης κάθε λεπτομέρειας ολόκληρης σελίδας.</p><p>Η Google συνιστά temperature 1.0, top-p 0.95 και top-k 64 ως ρυθμίσεις δειγματοληψίας της οικογένειας. Η κάρτα μοντέλου διακρίνει την εκπαίδευση σε περισσότερες από 140 γλώσσες από την άμεση υποστήριξη περισσότερων από 35 γλωσσών. Δηλώστε τη γλώσσα απάντησης και προσδιορίστε ρητά στις οδηγίες τα ονόματα τομέων, τα ονόματα πεδίων ή τους τύπους που πρέπει να διατηρηθούν. Το 256K είναι προδιαγραφή πλαισίου συμφραζομένων· η αναφερόμενη κάρτα δεν τεκμηριώνει ξεχωριστό καθολικό μέγιστο εξόδου για αυτή την έκδοση.</p><p>Για εργασία εγγράφου και κώδικα, δώστε τη σχετική εικόνα σελίδας, τη γραπτή απαίτηση και το απόσπασμα πηγαίου κώδικα: «Διάβασε τις ετικέτες, εξήγησε πώς διαφέρει αυτή η οθόνη από την προδιαγραφή και πρότεινε στοχευμένη διόρθωση στον δοσμένο κώδικα». Για γράφημα, ζητήστε να διαχωρίζονται οι ορατές τιμές από μια συναγόμενη τάση. Η κάρτα του Gemma επισημαίνει περιορισμούς σε αμφίσημη γλώσσα, πολύ σύνθετες εργασίες και λανθασμένες ή παρωχημένες πραγματολογικές δηλώσεις· επισυνάψτε λοιπόν τα έγκυρα στοιχεία που πρέπει να χρησιμοποιηθούν, αντί να περιμένετε να τα παρέχει η γνώση εκπαίδευσης.</p><p>Μέσω του Ailoot, επιλέξτε αυτό ακριβώς το αναγνωριστικό μοντέλου στο /v1/chat/completions και δώστε την εργασία στο messages. Κάθε μήνυμα περιλαμβάνει role και content· κρατήστε μαζί τις σχετικές οδηγίες και το πηγαίο υλικό. Συλλέξτε ολόκληρη την απόκριση JSON ή όλα τα τμήματα SSE όταν είναι ενεργό το stream και αποθηκεύστε το usage μαζί με το γραπτό αποτέλεσμα.</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 · OpenAI Chat</b> <code>POST /v1/chat/completions</code></summary><dl class=\"method-capabilities\"><div><dt>Είσοδος</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Έξοδος</dt><dd><code>text</code></dd></div><div><dt>Μορφή εξόδου</dt><dd>JSON or SSE</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Πεδίο</th><th>Τύπος</th><th>Απαίτηση</th><th>Τιμές και όρια</th><th>Προεπιλογή</th></tr></thead><tbody><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>google/gemma-4-31b-it:free</div><div>Συνθήκες: Χρησιμοποιήστε ακριβώς αυτόν τον επιλογέα δρομολόγησης του Ailoot.</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">messages</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>array</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Συνθήκες: </div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>boolean</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Συνθήκες: </div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"known\"><span class=\"card-cell-label\">Προεπιλογή</span>false</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Συνδυασμοί υλικών εισόδου</summary><p class=\"note-s\"><b>text_input</b> · Υποχρεωτικό: messages</p><p class=\"note-s\"><b>image_with_text</b> · Υποχρεωτικό: messages with actual image content blocks</p></details><details class=\"note-s\" data-method-contract><summary>Παράμετροι και κύκλος ζωής μεθόδου</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Παράμετρος</th><th>Σύμβαση</th></tr></thead><tbody><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>content_type</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>application/json</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>required</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>model, messages</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>optional</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>stream</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>material_types</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>text, image</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>conditions</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>Χρησιμοποιήστε ακριβώς αυτόν τον επιλογέα δρομολόγησης του Ailoot., Το πρωτόκολλο μεταφέρει περιεχόμενο εικόνας όταν το συγκεκριμένο επιλεγμένο μοντέλο υποστηρίζει όραση. Η αποδοχή από το πρωτόκολλο δεν τεκμηριώνει δυνατότητα εικόνας για κάθε μοντέλο.</td></tr></tbody></table></div><p>Εναλλακτικά ονόματα μεθόδου: <code>/chat/completions</code></p><p>Κύκλος ζωής: <code>synchronous_or_streamed</code></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><dt>Μηδενικές χρεώσεις μόνο για κείμενο</dt><dd>Η κρυφή μνήμη, τα εργαλεία και τα πολυμέσα ακολουθούν τους αντίστοιχους όρους τιμολόγησης που αναφέρονται ξεχωριστά. <span class=\"note-s\">Για είσοδο και έξοδο μόνο με κείμενο</span></dd></dl></div><div data-declared-tariff-pricing><h4>Χρεώσεις Ailoot</h4><h4>Τιμές ανά διαμόρφωση</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Πίνακας χρεώσεων</th><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Βασικές χρεώσεις token</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>Βασική χρέωση</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Token εισόδου</span> <b>$0</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Έξοδος · Token εξόδου</span> <b>$0</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Ανάγνωση από την κρυφή μνήμη</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr></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 · OpenAI Chat</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-2927-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2927-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-2927-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2927-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;google/gemma-4-31b-it:free&quot;, &quot;messages&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Explain how a rainbow forms.&quot;}]}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Λήψη και αποθήκευση αποτελεσμάτων</h3><h4>Ailoot Ultra · OpenAI Chat</h4><p class=\"note-s\">JSON or SSE</p><div class=\"card-result-process\" data-all-results><h5>Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα</h5><p class=\"note-s\">Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.</p><p class=\"note-s\">Διατηρήστε κάθε μπλοκ περιεχομένου, κάθε αναγνωριστικό κλήσης εργαλείου, την υπογραφή συλλογισμού όταν επιστρέφεται, όλες τις διαφορικές ενημερώσεις SSE και τα πλήρη στοιχεία χρήσης. Το πρώτο απόσπασμα κειμένου δεν αποτελεί ολόκληρο το αποτέλεσμα.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Αν χρειάζεται έλεγχος της αρχικής απάντησης</h5><p class=\"note-s\">Διατηρήστε το αρχικό X-Client-Request-ID, την απόκριση και τις κεφαλίδες. Ένα άγνωστο αποτέλεσμα ή το result_pending_check δεν επιτρέπουν δεύτερο αίτημα δημιουργίας.</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\">choices[]</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>object</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</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Σφάλματα και επόμενα βήματα</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Απάντηση</th><th>Συνθήκη</th><th>Επόμενο βήμα</th></tr></thead><tbody><tr><th data-cell-label=\"Απάντηση\" scope=\"row\"><span class=\"card-cell-label\">Απάντηση</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Συνθήκη\"><span class=\"card-cell-label\">Συνθήκη</span>Ένα υποχρεωτικό πεδίο, ο επιλογέας μοντέλου, ο τύπος ή η μορφή αναπαράστασης της εισόδου δεν είναι έγκυρα.</td><td data-cell-label=\"Επόμενο βήμα\"><span class=\"card-cell-label\">Επόμενο βήμα</span>Εξετάστε τις λεπτομέρειες επικύρωσης που επιστράφηκαν πριν ετοιμάσετε ξεχωριστό αίτημα.</td></tr><tr><th data-cell-label=\"Απάντηση\" scope=\"row\"><span class=\"card-cell-label\">Απάντηση</span><code></code></th><td data-cell-label=\"Συνθήκη\"><span class=\"card-cell-label\">Συνθήκη</span>Το αρχικό αίτημα ή αποτέλεσμα είναι άγνωστο ή απαιτεί έλεγχο.</td><td data-cell-label=\"Επόμενο βήμα\"><span class=\"card-cell-label\">Επόμενο βήμα</span>Διατηρήστε τα αρχικά αναγνωριστικά και τις κεφαλίδες· διαβάστε μόνο τις υποστηριζόμενες εγγραφές κατάστασης ή βιβλιοθήκης. Μην υποβάλετε ξανά αίτημα δημιουργίας.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Εναλλακτικά ονόματα</h3><h4>Εναλλακτικά ονόματα μοντέλου</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=google%2Fgemma-4-31b-it%3Afree&amp;route=Ultra&amp;caller=google%2Fgemma-4-31b-it%3Afree&amp;fmt=chat\"><code>google/gemma-4-31b-it:free</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\"><code>/chat/completions</code></p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=google%2Fgemma-4-31b-it%3Afree&amp;route=Ultra&amp;caller=google%2Fgemma-4-31b-it%3Afree&amp;fmt=chat\"><code>google/gemma-4-31b-it:free</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemma-4-31b-it:free",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "google/gemma-4-31b-it:free",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|chat|/v1/chat/completions|google%2Fgemma-4-31b-it%3Afree",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "accepted_material_guidance": {
              "content_type": "application/json",
              "example_scope": "The preserved text example is one valid request form, not the full protocol input set.",
              "image_condition": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model.",
              "material_types": [
                "text",
                "image"
              ],
              "text_file_material": "Actual UTF-8 text can be inserted in a text content part."
            },
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "authentication": {
              "header": "Authorization",
              "scheme": "Bearer",
              "value": "$AILOOT_API_KEY"
            },
            "errors": [
              {
                "condition": "Ένα υποχρεωτικό πεδίο, ο επιλογέας μοντέλου, ο τύπος ή η μορφή αναπαράστασης της εισόδου δεν είναι έγκυρα.",
                "http_status": 400,
                "recovery": "Εξετάστε τις λεπτομέρειες επικύρωσης που επιστράφηκαν πριν ετοιμάσετε ξεχωριστό αίτημα.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Το αρχικό αίτημα ή αποτέλεσμα είναι άγνωστο ή απαιτεί έλεγχο.",
                "http_status": null,
                "recovery": "Διατηρήστε τα αρχικά αναγνωριστικά και τις κεφαλίδες· διαβάστε μόνο τις υποστηριζόμενες εγγραφές κατάστασης ή βιβλιοθήκης. Μην υποβάλετε ξανά αίτημα δημιουργίας.",
                "type": null
              }
            ],
            "lifecycle": {
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "mode": "synchronous_or_streamed",
              "status": [],
              "unknown": "Διατηρήστε το αρχικό X-Client-Request-ID, την απόκριση και τις κεφαλίδες. Ένα άγνωστο αποτέλεσμα ή το result_pending_check δεν επιτρέπουν δεύτερο αίτημα δημιουργίας.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "materials": [
                  "text"
                ],
                "mode": "text_input",
                "required": [
                  "messages"
                ]
              },
              {
                "condition": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model.",
                "materials": [
                  "text",
                  "image"
                ],
                "mode": "image_with_text",
                "required": [
                  "messages with actual image content blocks"
                ]
              }
            ],
            "model_capability_scope": {
              "all_models_vision_claim": false,
              "manufacturer_description_preserved": "Retain grounded accepted legacy vision descriptions; a plain text example is not a capability ceiling.",
              "model_vision": "conditional_on_exact_model_capability",
              "transport_materials": [
                "text",
                "image"
              ],
              "video_audio_inferred": false
            },
            "outputs": {
              "all_results": "Διατηρήστε κάθε μπλοκ περιεχομένου, κάθε αναγνωριστικό κλήσης εργαλείου, την υπογραφή συλλογισμού όταν επιστρέφεται, όλες τις διαφορικές ενημερώσεις SSE και τα πλήρη στοιχεία χρήσης. Το πρώτο απόσπασμα κειμένου δεν αποτελεί ολόκληρο το αποτέλεσμα.",
              "every_actual_output": true,
              "family": "text",
              "fields": [
                {
                  "name": "choices[]",
                  "type": "object"
                },
                {
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "JSON or SSE"
            },
            "parameters": [
              {
                "conditions": "Χρησιμοποιήστε ακριβώς αυτόν τον επιλογέα δρομολόγησης του Ailoot.",
                "default_known": false,
                "enum": [
                  "google/gemma-4-31b-it:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "items": {
                  "properties": {
                    "content": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": {
                            "oneOf": [
                              {
                                "properties": {
                                  "text": {
                                    "type": "string"
                                  },
                                  "type": {
                                    "const": "text"
                                  }
                                },
                                "required": [
                                  "type",
                                  "text"
                                ],
                                "type": "object"
                              },
                              {
                                "properties": {
                                  "image_url": {
                                    "properties": {
                                      "detail": {
                                        "type": "string"
                                      },
                                      "url": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "url"
                                    ],
                                    "type": "object"
                                  },
                                  "type": {
                                    "const": "image_url"
                                  }
                                },
                                "required": [
                                  "type",
                                  "image_url"
                                ],
                                "type": "object"
                              }
                            ]
                          },
                          "type": "array"
                        }
                      ]
                    },
                    "role": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "name": "messages",
                "required": true,
                "type": "array"
              },
              {
                "conditions": "",
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "messages": {
                  "items": {
                    "properties": {
                      "content": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "oneOf": [
                                {
                                  "properties": {
                                    "text": {
                                      "type": "string"
                                    },
                                    "type": {
                                      "const": "text"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "text"
                                  ],
                                  "type": "object"
                                },
                                {
                                  "properties": {
                                    "image_url": {
                                      "properties": {
                                        "detail": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": {
                                      "const": "image_url"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "image_url"
                                  ],
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "role": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "google/gemma-4-31b-it:free"
                  ],
                  "type": "string"
                },
                "stream": {
                  "default": false,
                  "type": "boolean"
                }
              },
              "required": [
                "model",
                "messages"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "messages": [
                  {
                    "content": "Explain how a rainbow forms.",
                    "role": "user"
                  }
                ],
                "model": "google/gemma-4-31b-it:free"
              },
              "content_type": "application/json",
              "example_is_offline_content": true
            },
            "usage": {
              "meter": "Use the accepted method price and actual recorded usage; the request reserve is an estimate. A billing unit does not add an input capability.",
              "preserve": "Keep all returned usage, accounting and request identifiers with every actual output.",
              "settlement": "Retain the original operation; reconcile its result and accounting once."
            }
          },
          "input": {
            "conditions": [
              "Χρησιμοποιήστε ακριβώς αυτόν τον επιλογέα δρομολόγησης του Ailoot.",
              "Το πρωτόκολλο μεταφέρει περιεχόμενο εικόνας όταν το συγκεκριμένο επιλεγμένο μοντέλο υποστηρίζει όραση. Η αποδοχή από το πρωτόκολλο δεν τεκμηριώνει δυνατότητα εικόνας για κάθε μοντέλο."
            ],
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional": [
              "stream"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/chat/completions"
            },
            "mode": "synchronous_or_streamed",
            "status": [],
            "unknown": "Keep the original X-Client-Request-ID, response and headers. An unknown or result_pending_check outcome does not authorize a second creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "output": {
            "all_results": "Retain every content block, tool-call ID, thinking signature when returned, all SSE deltas and complete usage. A first text fragment is not the whole result.",
            "every_actual_output": true,
            "family": "text",
            "fields": [
              {
                "name": "choices[]",
                "type": "object"
              },
              {
                "name": "usage",
                "type": "object"
              }
            ],
            "format": "JSON or SSE"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "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",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": 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}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/gemma-4-31b-it:free\", \"messages\": [{\"role\": \"user\", \"content\": \"Explain how a rainbow forms.\"}]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "chat",
        "http": "POST",
        "in": 0,
        "input": [
          "text",
          "image"
        ],
        "input_conditions": {
          "image": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model."
        },
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 0,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          },
          {
            "label": "Μηδενικές χρεώσεις μόνο για κείμενο",
            "value": "Η κρυφή μνήμη, τα εργαλεία και τα πολυμέσα ακολουθούν τους αντίστοιχους όρους τιμολόγησης που αναφέρονται ξεχωριστά.",
            "when": "Για είσοδο και έξοδο μόνο με κείμενο"
          }
        ],
        "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",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "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",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": 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/gemma-4-31b-it:free",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "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",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "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": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": 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/gemma-4-31b-it:free",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "6ec3f4a166f1f7d85f527315129b2fad4ae2e7f0f63fc5d03cbba3b203cb8e91",
    "input_html_sha256": "abe82d721a3d7752c0a89c92ccf5923294c96adf1178ffa909bbc5377b82a468",
    "private_audit_sha256": "7e455f78da3bea1f06167dc79753a850d805913b3eb1fe11e6f5489a6cc3ae15",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/google-gemma-4-31b-it-u003a-free/",
    "description": "Το Gemma 4 31B IT είναι το πυκνό μοντέλο της Google, προσαρμοσμένο σε οδηγίες, για κειμενική και οπτική συλλογιστική. Το πλαίσιο 256K, η ρυθμιζόμενη συλλογιστική, η κατανόηση εικόνων και η εγγενής κλήση συναρτήσεων υποστηρίζουν εργασίες κώδικα, εγγράφων και πρακτόρων με έξοδο κειμένου.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/google-gemma-4-31b-it-u003a-free/index.md",
    "title": "Google: Gemma 4 31B (free) — Ailoot",
    "url": "https://ailoot.ai/models/el/google-gemma-4-31b-it-u003a-free/"
  },
  "rawModel": {
    "about": "Το Gemma 4 31B IT είναι η πυκνή έκδοση της ανοικτής οικογένειας Gemma 4 της Google DeepMind, προσαρμοσμένη σε οδηγίες. Η Google τοποθετεί το μοντέλο 31B με γνώμονα την ποιότητα και την προσαρμογή σε συγκεκριμένη εργασία, ενώ η ξεχωριστή έκδοση 26B A4B χρησιμοποιεί μείγμα ειδικών για αποδοτικότερη εξαγωγή συμπερασμάτων. Αυτή η κάρτα αφορά τη συγκεκριμένη έκδοση 31B με προσαρμογή σε οδηγίες, όχι τα προεκπαιδευμένα βάρη της ή κάποιο κβαντισμένο παράγωγο.\n\nΟ επίσημος πίνακας πυκνής αρχιτεκτονικής αναφέρει 30.7 δισεκατομμύρια παραμέτρους, 60 στρώματα, ολισθαίνον παράθυρο 1,024 token και πλαίσιο 256K token. Η οικογένεια συνδυάζει τοπική προσοχή ολισθαίνοντος παραθύρου με καθολική προσοχή, καταλήγοντας σε καθολικό στρώμα, και χρησιμοποιεί ειδικό οπτικό κωδικοποιητή σε αυτό το μοντέλο. Το προφίλ που προκύπτει έχει σχεδιαστεί για είσοδο κειμένου και εικόνων και έξοδο κειμένου. Αυτά είναι στοιχεία αρχιτεκτονικής· δεν καθορίζουν τον χρόνο απόκρισης εφαρμογής ούτε συνεπάγονται την υποστήριξη ήχου άλλων μεγεθών Gemma 4.\n\nΤο πλαίσιο συμφραζομένων των 256K token υποστηρίζει εργασίες που συνδυάζουν εκτενές κείμενο με οπτικά τεκμήρια. Εικόνες και κείμενο μπορούν να εναλλάσσονται στην ίδια προτροπή· ο κατασκευαστής συνιστά να προηγείται η εικόνα του σχετικού κειμένου για καλύτερα αποτελέσματα. Οι οπτικές εργασίες περιλαμβάνουν ανίχνευση αντικειμένων, ερμηνεία σελίδων εγγράφων, κατανόηση οθονών και διεπαφών, γραφήματα, πολυγλωσσικό OCR, χειρόγραφα και υπόδειξη σημείων. Η έξοδος είναι κείμενο: εξαγόμενο περιεχόμενο, εξήγηση, κώδικας ή προτεινόμενη ενέργεια εργαλείου.\n\nΗ ρυθμιζόμενη συλλογιστική επιτρέπει στο μοντέλο να συλλογιστεί πριν απαντήσει ή να δώσει άμεση απάντηση. Το Gemma 4 προσθέτει εγγενή ρόλο system στους ρόλους user και assistant. Η μορφή προτροπών της Google ενεργοποιεί τη συλλογιστική με το token ελέγχου <|think|> στην προτροπή συστήματος και διαχωρίζει το κανάλι σκέψης από την τελική απάντηση· ο τεκμηριωμένος επεξεργαστής της χειρίζεται αυτό το πρότυπο. Σε συνομιλία πολλών γύρων, διατηρήστε τις προηγούμενες τελικές απαντήσεις στο ιστορικό και παραλείψτε τις προηγούμενες σκέψεις, εκτός από γύρους κλήσης εργαλείων, όπου ο κατασκευαστής υποδεικνύει να διατηρούνται.\n\nΤο Native Function Calling υποστηρίζει δομημένη χρήση εργαλείων, ενώ η ανακοίνωση κυκλοφορίας της Google τεκμηριώνει και δομημένη έξοδο JSON. Ορίστε την εργασία, τη διαθέσιμη συνάρτηση και το αναμενόμενο αποτέλεσμα· η εφαρμογή εκτελεί τη ζητούμενη λειτουργία και επιστρέφει την έξοδό της για το επόμενο βήμα. Μια εργασία προγραμματισμού μπορεί να ζητά παραγωγή, συμπλήρωση ή διόρθωση κώδικα, ενώ ένας οπτικός βοηθός μπορεί να χρησιμοποιεί το επιστρεφόμενο κείμενο για να εξηγήσει γράφημα ή οθόνη. Η οδηγία κλήσης συνάρτησης διαφέρει από μια συνδεδεμένη ενέργεια που έχει πράγματι εκτελεστεί.\n\nΗ μεταβλητή ανάλυση εικόνας ελέγχεται από το όριο οπτικών token. Οι τεκμηριωμένες επιλογές είναι 70, 140, 280, 560 και 1,120 token. Τα χαμηλότερα όρια εξυπηρετούν ταξινόμηση ή λεζάντες· τα υψηλότερα διατηρούν περισσότερες λεπτομέρειες για OCR, ανάλυση εγγράφων και μικρό κείμενο, με επιπλέον υπολογιστικό κόστος. Αποφασίστε αν χρειάζεστε τη συνολική σκηνή ή την ακριβή γραφή πριν ετοιμάσετε την εικόνα. Ένα καθαρό απόκομμα ετικέτας μπορεί να βοηθά περισσότερο στην εξαγωγή από ένα αόριστο αίτημα εξέτασης κάθε λεπτομέρειας ολόκληρης σελίδας.\n\nΗ Google συνιστά temperature 1.0, top-p 0.95 και top-k 64 ως ρυθμίσεις δειγματοληψίας της οικογένειας. Η κάρτα μοντέλου διακρίνει την εκπαίδευση σε περισσότερες από 140 γλώσσες από την άμεση υποστήριξη περισσότερων από 35 γλωσσών. Δηλώστε τη γλώσσα απάντησης και προσδιορίστε ρητά στις οδηγίες τα ονόματα τομέων, τα ονόματα πεδίων ή τους τύπους που πρέπει να διατηρηθούν. Το 256K είναι προδιαγραφή πλαισίου συμφραζομένων· η αναφερόμενη κάρτα δεν τεκμηριώνει ξεχωριστό καθολικό μέγιστο εξόδου για αυτή την έκδοση.\n\nΓια εργασία εγγράφου και κώδικα, δώστε τη σχετική εικόνα σελίδας, τη γραπτή απαίτηση και το απόσπασμα πηγαίου κώδικα: «Διάβασε τις ετικέτες, εξήγησε πώς διαφέρει αυτή η οθόνη από την προδιαγραφή και πρότεινε στοχευμένη διόρθωση στον δοσμένο κώδικα». Για γράφημα, ζητήστε να διαχωρίζονται οι ορατές τιμές από μια συναγόμενη τάση. Η κάρτα του Gemma επισημαίνει περιορισμούς σε αμφίσημη γλώσσα, πολύ σύνθετες εργασίες και λανθασμένες ή παρωχημένες πραγματολογικές δηλώσεις· επισυνάψτε λοιπόν τα έγκυρα στοιχεία που πρέπει να χρησιμοποιηθούν, αντί να περιμένετε να τα παρέχει η γνώση εκπαίδευσης.\n\nΜέσω του Ailoot, επιλέξτε αυτό ακριβώς το αναγνωριστικό μοντέλου στο /v1/chat/completions και δώστε την εργασία στο messages. Κάθε μήνυμα περιλαμβάνει role και content· κρατήστε μαζί τις σχετικές οδηγίες και το πηγαίο υλικό. Συλλέξτε ολόκληρη την απόκριση JSON ή όλα τα τμήματα SSE όταν είναι ενεργό το stream και αποθηκεύστε το usage μαζί με το γραπτό αποτέλεσμα.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "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",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "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,
    "formats": [
      "chat"
    ],
    "id": "google/gemma-4-31b-it:free",
    "input": [
      "text",
      "image"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "accepted_material_guidance": {
              "content_type": "application/json",
              "example_scope": "The preserved text example is one valid request form, not the full protocol input set.",
              "image_condition": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model.",
              "material_types": [
                "text",
                "image"
              ],
              "text_file_material": "Actual UTF-8 text can be inserted in a text content part."
            },
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "authentication": {
              "header": "Authorization",
              "scheme": "Bearer",
              "value": "$AILOOT_API_KEY"
            },
            "errors": [
              {
                "condition": "Ένα υποχρεωτικό πεδίο, ο επιλογέας μοντέλου, ο τύπος ή η μορφή αναπαράστασης της εισόδου δεν είναι έγκυρα.",
                "http_status": 400,
                "recovery": "Εξετάστε τις λεπτομέρειες επικύρωσης που επιστράφηκαν πριν ετοιμάσετε ξεχωριστό αίτημα.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Το αρχικό αίτημα ή αποτέλεσμα είναι άγνωστο ή απαιτεί έλεγχο.",
                "http_status": null,
                "recovery": "Διατηρήστε τα αρχικά αναγνωριστικά και τις κεφαλίδες· διαβάστε μόνο τις υποστηριζόμενες εγγραφές κατάστασης ή βιβλιοθήκης. Μην υποβάλετε ξανά αίτημα δημιουργίας.",
                "type": null
              }
            ],
            "lifecycle": {
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "mode": "synchronous_or_streamed",
              "status": [],
              "unknown": "Διατηρήστε το αρχικό X-Client-Request-ID, την απόκριση και τις κεφαλίδες. Ένα άγνωστο αποτέλεσμα ή το result_pending_check δεν επιτρέπουν δεύτερο αίτημα δημιουργίας.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "materials": [
                  "text"
                ],
                "mode": "text_input",
                "required": [
                  "messages"
                ]
              },
              {
                "condition": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model.",
                "materials": [
                  "text",
                  "image"
                ],
                "mode": "image_with_text",
                "required": [
                  "messages with actual image content blocks"
                ]
              }
            ],
            "model_capability_scope": {
              "all_models_vision_claim": false,
              "manufacturer_description_preserved": "Retain grounded accepted legacy vision descriptions; a plain text example is not a capability ceiling.",
              "model_vision": "conditional_on_exact_model_capability",
              "transport_materials": [
                "text",
                "image"
              ],
              "video_audio_inferred": false
            },
            "outputs": {
              "all_results": "Διατηρήστε κάθε μπλοκ περιεχομένου, κάθε αναγνωριστικό κλήσης εργαλείου, την υπογραφή συλλογισμού όταν επιστρέφεται, όλες τις διαφορικές ενημερώσεις SSE και τα πλήρη στοιχεία χρήσης. Το πρώτο απόσπασμα κειμένου δεν αποτελεί ολόκληρο το αποτέλεσμα.",
              "every_actual_output": true,
              "family": "text",
              "fields": [
                {
                  "name": "choices[]",
                  "type": "object"
                },
                {
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "JSON or SSE"
            },
            "parameters": [
              {
                "conditions": "Χρησιμοποιήστε ακριβώς αυτόν τον επιλογέα δρομολόγησης του Ailoot.",
                "default_known": false,
                "enum": [
                  "google/gemma-4-31b-it:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "items": {
                  "properties": {
                    "content": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": {
                            "oneOf": [
                              {
                                "properties": {
                                  "text": {
                                    "type": "string"
                                  },
                                  "type": {
                                    "const": "text"
                                  }
                                },
                                "required": [
                                  "type",
                                  "text"
                                ],
                                "type": "object"
                              },
                              {
                                "properties": {
                                  "image_url": {
                                    "properties": {
                                      "detail": {
                                        "type": "string"
                                      },
                                      "url": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "url"
                                    ],
                                    "type": "object"
                                  },
                                  "type": {
                                    "const": "image_url"
                                  }
                                },
                                "required": [
                                  "type",
                                  "image_url"
                                ],
                                "type": "object"
                              }
                            ]
                          },
                          "type": "array"
                        }
                      ]
                    },
                    "role": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "name": "messages",
                "required": true,
                "type": "array"
              },
              {
                "conditions": "",
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "messages": {
                  "items": {
                    "properties": {
                      "content": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "oneOf": [
                                {
                                  "properties": {
                                    "text": {
                                      "type": "string"
                                    },
                                    "type": {
                                      "const": "text"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "text"
                                  ],
                                  "type": "object"
                                },
                                {
                                  "properties": {
                                    "image_url": {
                                      "properties": {
                                        "detail": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": {
                                      "const": "image_url"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "image_url"
                                  ],
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "role": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "google/gemma-4-31b-it:free"
                  ],
                  "type": "string"
                },
                "stream": {
                  "default": false,
                  "type": "boolean"
                }
              },
              "required": [
                "model",
                "messages"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "messages": [
                  {
                    "content": "Explain how a rainbow forms.",
                    "role": "user"
                  }
                ],
                "model": "google/gemma-4-31b-it:free"
              },
              "content_type": "application/json",
              "example_is_offline_content": true
            },
            "usage": {
              "meter": "Use the accepted method price and actual recorded usage; the request reserve is an estimate. A billing unit does not add an input capability.",
              "preserve": "Keep all returned usage, accounting and request identifiers with every actual output.",
              "settlement": "Retain the original operation; reconcile its result and accounting once."
            }
          },
          "input": {
            "conditions": [
              "Χρησιμοποιήστε ακριβώς αυτόν τον επιλογέα δρομολόγησης του Ailoot.",
              "Το πρωτόκολλο μεταφέρει περιεχόμενο εικόνας όταν το συγκεκριμένο επιλεγμένο μοντέλο υποστηρίζει όραση. Η αποδοχή από το πρωτόκολλο δεν τεκμηριώνει δυνατότητα εικόνας για κάθε μοντέλο."
            ],
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional": [
              "stream"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/chat/completions"
            },
            "mode": "synchronous_or_streamed",
            "status": [],
            "unknown": "Keep the original X-Client-Request-ID, response and headers. An unknown or result_pending_check outcome does not authorize a second creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "output": {
            "all_results": "Retain every content block, tool-call ID, thinking signature when returned, all SSE deltas and complete usage. A first text fragment is not the whole result.",
            "every_actual_output": true,
            "family": "text",
            "fields": [
              {
                "name": "choices[]",
                "type": "object"
              },
              {
                "name": "usage",
                "type": "object"
              }
            ],
            "format": "JSON or SSE"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "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",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": 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}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/gemma-4-31b-it:free\", \"messages\": [{\"role\": \"user\", \"content\": \"Explain how a rainbow forms.\"}]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "chat",
        "http": "POST",
        "in": 0,
        "input": [
          "text",
          "image"
        ],
        "input_conditions": {
          "image": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model."
        },
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 0,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          },
          {
            "label": "Μηδενικές χρεώσεις μόνο για κείμενο",
            "value": "Η κρυφή μνήμη, τα εργαλεία και τα πολυμέσα ακολουθούν τους αντίστοιχους όρους τιμολόγησης που αναφέρονται ξεχωριστά.",
            "when": "Για είσοδο και έξοδο μόνο με κείμενο"
          }
        ],
        "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",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "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",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": 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/gemma-4-31b-it:free",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "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",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "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": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": 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/gemma-4-31b-it:free",
        "request_model_id": "google/gemma-4-31b-it:free",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemma 4 31B (free)",
    "price": {
      "in": 0,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0,
      "sort_out": 0,
      "varies": false
    },
    "short": "Το Gemma 4 31B IT είναι το πυκνό μοντέλο της Google, προσαρμοσμένο σε οδηγίες, για κειμενική και οπτική συλλογιστική. Το πλαίσιο 256K, η ρυθμιζόμενη συλλογιστική, η κατανόηση εικόνων και η εγγενής κλήση συναρτήσεων υποστηρίζουν εργασίες κώδικα, εγγράφων και πρακτόρων με έξοδο κειμένου.",
    "title": "Google: Gemma 4 31B (free)"
  },
  "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": "Το Gemma 4 31B IT είναι το πυκνό μοντέλο της Google, προσαρμοσμένο σε οδηγίες, για κειμενική και οπτική συλλογιστική. Το πλαίσιο 256K, η ρυθμιζόμενη συλλογιστική, η κατανόηση εικόνων και η εγγενής κλήση συναρτήσεων υποστηρίζουν εργασίες κώδικα, εγγράφων και πρακτόρων με έξοδο κειμένου.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "6c08b6a26e55f69fc01de4f7f4414df1ca4f8293484c3b11fe67d60f356a1645",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "42acad1f2e198ddc97930efe5b6cd70e1d350a2cd027961c79dbb7b7583a4bc1"
}
