{
  "aboutHtml": "<p>Το Google Gemini 3.1 Flash TTS Preview είναι η έκδοση μετατροπής κειμένου σε ομιλία της οικογένειας Gemini 3.1 Flash Audio. Δέχεται κείμενο και παράγει προφορικό ήχο με έκφραση καθοδηγούμενη από προτροπή. Η Google περιγράφει αυτή τη γενιά ως βελτίωση στη φυσικότητα ομιλίας, τη δυνατότητα ελέγχου και την πολύγλωσση απόδοση, με εγγενή διάλογο πολλών ομιλητών και περισσότερες από 70 γλώσσες. Πρακτική χρήση είναι σύντομο μάθημα με αφήγηση, διάλογος μεταξύ χαρακτήρων ή προφορικό απόσπασμα του οποίου η εκφορά έχει όση σημασία έχει η διατύπωση.</p><p>Προετοιμάστε ολοκληρωμένο σενάριο και περιγραφή ερμηνείας. Αυτή η γενιά χρησιμοποιεί οδηγίες φυσικής γλώσσας μέσα στην είσοδο κειμένου για καθοδήγηση φωνητικού ύφους, ρυθμού και εκφοράς. Η έκδοση της Google εισάγει σκηνοθεσία σκηνής για καθορισμό κατάστασης, Audio Profiles ομιλητών για ορισμό χαρακτήρων και Director’s Notes για καθοδήγηση ρυθμού, τόνου και προφοράς. Κρατήστε αναγνωρίσιμα αυτά τα μέρη κατά την προετοιμασία προτροπής, ώστε οι προβλεπόμενες λέξεις και οι οδηγίες ερμηνείας να ελέγχονται ανεξάρτητα. Μια λιτή περιγραφή αναθεωρείται ευκολότερα από πολλές ανταγωνιστικές περιγραφές της ίδιας φωνής.</p><p>Για παράδειγμα, μια πρωτότυπη περιγραφή πρόβας μπορεί να ορίζει ήρεμο αφηγητή που εξηγεί έκθεμα μουσείου, με μετρημένη εκφορά και θερμότερο τόνο στην τελική πρόταση. Το συνοδευτικό σενάριο πρέπει να περιέχει τα πραγματικά ονόματα του εκθέματος και την ακριβή διατύπωση που πρέπει να εκφωνηθεί. Για διάλογο, δώστε στους χαρακτήρες διακριτά προφίλ και σαφή ακολουθία γύρων. Χρησιμοποιήστε το πλαίσιο σκηνής για να εξηγήσετε αν ένας ομιλητής καθησυχάζει τον άλλον, κάνει ειλικρινές ερώτημα ή απαντά με συγκρατημένη έκπληξη. Το παραγόμενο παραδοτέο προς αξιολόγηση είναι η ακουστή ερμηνεία αυτού του σεναρίου.</p><p>Οι ενσωματωμένες ετικέτες ήχου προσθέτουν τοπικό έλεγχο μέσα στο κείμενο, επιτρέποντας αλλαγή έκφρασης ομιλητή εντός πρότασης αντί για πλήρη εξάρτηση από την αρχική οδηγία. Η Google περιγράφει τις ετικέτες ως ελέγχους φωνητικού ύφους, ρυθμού και εκφοράς. Χρησιμοποιήστε τις όπου η ερμηνεία χρειάζεται συγκεκριμένη μεταβολή και κρατήστε τη λοιπή διατύπωση φυσική στην εκφώνηση. Η χρήσιμη διάκριση αυτής της έκδοσης είναι ανάμεσα στη γενική περιγραφή χαρακτήρα ή σκηνής και την τοπική αλλαγή εκφοράς. Ένα σύντομο ουδέτερο απόσπασμα μπορεί να καθιερώσει τη βασική φωνή πριν το σενάριο προσθέσει περισσότερη συναισθηματική καθοδήγηση.</p><p>Για πολύγλωσση εργασία, δώστε το σενάριο στην τελική γλώσσα και δηλώστε την επιθυμητή προφορά και το ύφος ομιλίας στην περιγραφή. Η ανακοίνωση της Google τεκμηριώνει υποστήριξη περισσότερων από 70 γλωσσών. Ως πρακτική προετοιμασία επιμέλειας, δώστε μία συνεπή γραφή στα επαναλαμβανόμενα ονόματα, αναπτύξτε αμφίσημες συντομογραφίες όταν απαιτείται μία ανάγνωση και ελέγξτε αριθμούς στο προφορικό αποτέλεσμα. Μια ετικέτα γλώσσας δεν καθορίζει μόνη της πώς πρέπει να ακούγεται ένα εμπορικό όνομα ή δάνειος όρος. Συγκρίνετε τα αποσπάσματα που περιέχουν αυτούς τους όρους με την επιδιωκόμενη ανάγνωση πριν αποδεχτείτε μεγάλη αφήγηση.</p><p>Η ακριβής σελίδα μοντέλου Gemini API αναφέρει όριο εισόδου 8,192 token και όριο εξόδου 16,384 token για αυτό το μοντέλο προεπισκόπησης. Η εγγενής κάρτα μοντέλου TTS της DeepMind αναφέρει χωριστά είσοδο κειμένου έως 16K token και έξοδο ήχου 32K token· αυτά τα μεγέθη της κάρτας διαφέρουν από τα όρια εξυπηρέτησης Gemini API. Υπολογίστε τις οδηγίες ερμηνείας ως μέρος της προετοιμασμένης εισόδου μαζί με το σενάριο. Το περιθώριο εξόδου εκφράζεται σε token ήχου, επομένως δεν εγγυάται συγκεκριμένη διάρκεια ηχογράφησης. Οργανώστε μεγάλο μάθημα ή ιστορία σε συνεκτικές ενότητες, διατηρήστε την ίδια περιγραφή χαρακτήρα και ακούστε τις ενώσεις. Για σεναριακό διάλογο, ελέγξτε απόδοση σε ομιλητές και σειρά γύρων επιπλέον των εκφωνούμενων λέξεων και της συναισθηματικής εκφοράς.</p><p>Η τεκμηρίωση μετάβασης της Google προσδιορίζει την προεπιλεγμένη έξοδο 3.1 ως ακατέργαστο PCM χωρίς κεφαλίδα με τύπο audio/l16. Τα byte ήχου χρειάζονται κατάλληλες πληροφορίες αναπαραγωγής ή περιέκτη κατά την προετοιμασία επεξεργάσιμης ηχογράφησης· η προσθήκη ονόματος αρχείου WAV δεν δημιουργεί από μόνη της κεφαλίδα WAV. Ελέγξτε την πραγματική επιστρεφόμενη μορφή πριν εισαγάγετε το αποτέλεσμα. Η Google δηλώνει επίσης ότι ο ήχος που παράγεται από το Gemini 3.1 Flash TTS φέρει ανεπαίσθητο υδατογράφημα SynthID. Το υδατογράφημα αφορά την αναγνώριση παραγόμενου ήχου και δεν υποκαθιστά απομαγνητοφώνηση, ετικέτες ομιλητών ή ακουστικό έλεγχο.</p><p>Το ύφος προετοιμασίας 3.1 διαφέρει ουσιαστικά από το 3.8. Το Gemini 3.8 μετακινεί διαρκείς οδηγίες και ταυτότητα ομιλητή σε δομημένα μεταδεδομένα ομιλίας, χρησιμοποιεί ετικέτες σημειακών συμβάντων σε γωνιακές αγκύλες και αλλάζει τις προεπιλογές ολοκληρωμένων αιτημάτων σε WAV. Διατηρήστε μια προτροπή 3.1 ως προτροπή 3.1 αντί να αναμειγνύετε τη νεότερη δομή αιτήματος. Ο πίνακας υποστηριζόμενων μοντέλων της Google αναφέρει σύνθεση ενός και πολλών ομιλητών για το 3.1, ενώ οι έλεγχοι σχεδιασμένης φωνής και αναπαραγωγής φωνής ανήκουν στις καταχωρίσεις 3.8. Η χωριστή έκδοση Flash Live χειρίζεται διαδραστική είσοδο ήχου· αυτή η έκδοση TTS εξυπηρετεί προετοιμασμένη παραγωγή κειμένου προς ήχο.</p><p>Ελέγξτε την ηχογράφηση έναντι του γραπτού σεναρίου για παραλείψεις ή επαναλήψεις λέξεων, ονόματα, χρονισμό γύρων και επιδιωκόμενες συναισθηματικές αλλαγές. Αν μία πρόταση χρειάζεται διαφορετική έμφαση, αναθεωρήστε εκείνη την τοπική οδηγία και επιθεωρήστε την επηρεαζόμενη μετάβαση. Αυτή η ροή καθιστά χρήσιμη την περιγραφή ερμηνείας: καταγράφει τι πρέπει να μένει σταθερό στον ομιλητή και τι να αλλάζει σε εκείνο το απόσπασμα, ενώ το σενάριο διατηρεί το περιεχόμενο που χρειάζεται να ακούσει το κοινό.</p>",
  "aboutText": "Το Google Gemini 3.1 Flash TTS Preview είναι η έκδοση μετατροπής κειμένου σε ομιλία της οικογένειας Gemini 3.1 Flash Audio. Δέχεται κείμενο και παράγει προφορικό ήχο με έκφραση καθοδηγούμενη από προτροπή. Η Google περιγράφει αυτή τη γενιά ως βελτίωση στη φυσικότητα ομιλίας, τη δυνατότητα ελέγχου και την πολύγλωσση απόδοση, με εγγενή διάλογο πολλών ομιλητών και περισσότερες από 70 γλώσσες. Πρακτική χρήση είναι σύντομο μάθημα με αφήγηση, διάλογος μεταξύ χαρακτήρων ή προφορικό απόσπασμα του οποίου η εκφορά έχει όση σημασία έχει η διατύπωση.\n\nΠροετοιμάστε ολοκληρωμένο σενάριο και περιγραφή ερμηνείας. Αυτή η γενιά χρησιμοποιεί οδηγίες φυσικής γλώσσας μέσα στην είσοδο κειμένου για καθοδήγηση φωνητικού ύφους, ρυθμού και εκφοράς. Η έκδοση της Google εισάγει σκηνοθεσία σκηνής για καθορισμό κατάστασης, Audio Profiles ομιλητών για ορισμό χαρακτήρων και Director’s Notes για καθοδήγηση ρυθμού, τόνου και προφοράς. Κρατήστε αναγνωρίσιμα αυτά τα μέρη κατά την προετοιμασία προτροπής, ώστε οι προβλεπόμενες λέξεις και οι οδηγίες ερμηνείας να ελέγχονται ανεξάρτητα. Μια λιτή περιγραφή αναθεωρείται ευκολότερα από πολλές ανταγωνιστικές περιγραφές της ίδιας φωνής.\n\nΓια παράδειγμα, μια πρωτότυπη περιγραφή πρόβας μπορεί να ορίζει ήρεμο αφηγητή που εξηγεί έκθεμα μουσείου, με μετρημένη εκφορά και θερμότερο τόνο στην τελική πρόταση. Το συνοδευτικό σενάριο πρέπει να περιέχει τα πραγματικά ονόματα του εκθέματος και την ακριβή διατύπωση που πρέπει να εκφωνηθεί. Για διάλογο, δώστε στους χαρακτήρες διακριτά προφίλ και σαφή ακολουθία γύρων. Χρησιμοποιήστε το πλαίσιο σκηνής για να εξηγήσετε αν ένας ομιλητής καθησυχάζει τον άλλον, κάνει ειλικρινές ερώτημα ή απαντά με συγκρατημένη έκπληξη. Το παραγόμενο παραδοτέο προς αξιολόγηση είναι η ακουστή ερμηνεία αυτού του σεναρίου.\n\nΟι ενσωματωμένες ετικέτες ήχου προσθέτουν τοπικό έλεγχο μέσα στο κείμενο, επιτρέποντας αλλαγή έκφρασης ομιλητή εντός πρότασης αντί για πλήρη εξάρτηση από την αρχική οδηγία. Η Google περιγράφει τις ετικέτες ως ελέγχους φωνητικού ύφους, ρυθμού και εκφοράς. Χρησιμοποιήστε τις όπου η ερμηνεία χρειάζεται συγκεκριμένη μεταβολή και κρατήστε τη λοιπή διατύπωση φυσική στην εκφώνηση. Η χρήσιμη διάκριση αυτής της έκδοσης είναι ανάμεσα στη γενική περιγραφή χαρακτήρα ή σκηνής και την τοπική αλλαγή εκφοράς. Ένα σύντομο ουδέτερο απόσπασμα μπορεί να καθιερώσει τη βασική φωνή πριν το σενάριο προσθέσει περισσότερη συναισθηματική καθοδήγηση.\n\nΓια πολύγλωσση εργασία, δώστε το σενάριο στην τελική γλώσσα και δηλώστε την επιθυμητή προφορά και το ύφος ομιλίας στην περιγραφή. Η ανακοίνωση της Google τεκμηριώνει υποστήριξη περισσότερων από 70 γλωσσών. Ως πρακτική προετοιμασία επιμέλειας, δώστε μία συνεπή γραφή στα επαναλαμβανόμενα ονόματα, αναπτύξτε αμφίσημες συντομογραφίες όταν απαιτείται μία ανάγνωση και ελέγξτε αριθμούς στο προφορικό αποτέλεσμα. Μια ετικέτα γλώσσας δεν καθορίζει μόνη της πώς πρέπει να ακούγεται ένα εμπορικό όνομα ή δάνειος όρος. Συγκρίνετε τα αποσπάσματα που περιέχουν αυτούς τους όρους με την επιδιωκόμενη ανάγνωση πριν αποδεχτείτε μεγάλη αφήγηση.\n\nΗ ακριβής σελίδα μοντέλου Gemini API αναφέρει όριο εισόδου 8,192 token και όριο εξόδου 16,384 token για αυτό το μοντέλο προεπισκόπησης. Η εγγενής κάρτα μοντέλου TTS της DeepMind αναφέρει χωριστά είσοδο κειμένου έως 16K token και έξοδο ήχου 32K token· αυτά τα μεγέθη της κάρτας διαφέρουν από τα όρια εξυπηρέτησης Gemini API. Υπολογίστε τις οδηγίες ερμηνείας ως μέρος της προετοιμασμένης εισόδου μαζί με το σενάριο. Το περιθώριο εξόδου εκφράζεται σε token ήχου, επομένως δεν εγγυάται συγκεκριμένη διάρκεια ηχογράφησης. Οργανώστε μεγάλο μάθημα ή ιστορία σε συνεκτικές ενότητες, διατηρήστε την ίδια περιγραφή χαρακτήρα και ακούστε τις ενώσεις. Για σεναριακό διάλογο, ελέγξτε απόδοση σε ομιλητές και σειρά γύρων επιπλέον των εκφωνούμενων λέξεων και της συναισθηματικής εκφοράς.\n\nΗ τεκμηρίωση μετάβασης της Google προσδιορίζει την προεπιλεγμένη έξοδο 3.1 ως ακατέργαστο PCM χωρίς κεφαλίδα με τύπο audio/l16. Τα byte ήχου χρειάζονται κατάλληλες πληροφορίες αναπαραγωγής ή περιέκτη κατά την προετοιμασία επεξεργάσιμης ηχογράφησης· η προσθήκη ονόματος αρχείου WAV δεν δημιουργεί από μόνη της κεφαλίδα WAV. Ελέγξτε την πραγματική επιστρεφόμενη μορφή πριν εισαγάγετε το αποτέλεσμα. Η Google δηλώνει επίσης ότι ο ήχος που παράγεται από το Gemini 3.1 Flash TTS φέρει ανεπαίσθητο υδατογράφημα SynthID. Το υδατογράφημα αφορά την αναγνώριση παραγόμενου ήχου και δεν υποκαθιστά απομαγνητοφώνηση, ετικέτες ομιλητών ή ακουστικό έλεγχο.\n\nΤο ύφος προετοιμασίας 3.1 διαφέρει ουσιαστικά από το 3.8. Το Gemini 3.8 μετακινεί διαρκείς οδηγίες και ταυτότητα ομιλητή σε δομημένα μεταδεδομένα ομιλίας, χρησιμοποιεί ετικέτες σημειακών συμβάντων σε γωνιακές αγκύλες και αλλάζει τις προεπιλογές ολοκληρωμένων αιτημάτων σε WAV. Διατηρήστε μια προτροπή 3.1 ως προτροπή 3.1 αντί να αναμειγνύετε τη νεότερη δομή αιτήματος. Ο πίνακας υποστηριζόμενων μοντέλων της Google αναφέρει σύνθεση ενός και πολλών ομιλητών για το 3.1, ενώ οι έλεγχοι σχεδιασμένης φωνής και αναπαραγωγής φωνής ανήκουν στις καταχωρίσεις 3.8. Η χωριστή έκδοση Flash Live χειρίζεται διαδραστική είσοδο ήχου· αυτή η έκδοση TTS εξυπηρετεί προετοιμασμένη παραγωγή κειμένου προς ήχο.\n\nΕλέγξτε την ηχογράφηση έναντι του γραπτού σεναρίου για παραλείψεις ή επαναλήψεις λέξεων, ονόματα, χρονισμό γύρων και επιδιωκόμενες συναισθηματικές αλλαγές. Αν μία πρόταση χρειάζεται διαφορετική έμφαση, αναθεωρήστε εκείνη την τοπική οδηγία και επιθεωρήστε την επηρεαζόμενη μετάβαση. Αυτή η ροή καθιστά χρήσιμη την περιγραφή ερμηνείας: καταγράφει τι πρέπει να μένει σταθερό στον ομιλητή και τι να αλλάζει σε εκείνο το απόσπασμα, ενώ το σενάριο διατηρεί το περιεχόμενο που χρειάζεται να ακούσει το κοινό.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "c2161cead84242a9cb0702817c846c8ac6a4f21c6ae3989ed8368d610b7b3a96",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "el",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">G</span><h2 id=\"sheet-title\">Google: Gemini 3.1 Flash TTS Preview</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemini-3.1-flash-tts-preview</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|speech|/v1/audio/speech|google%2Fgemini-3.1-flash-tts-preview\">Σύνθεση ομιλίας</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\">Το Google Gemini 3.1 Flash TTS Preview μετατρέπει γραπτά σενάρια σε εκφραστικό προφορικό ήχο. Η καθοδήγηση φυσικής γλώσσας, τα Audio Profiles ομιλητών, τα Director’s Notes και οι ενσωματωμένες ετικέτες ήχου διαμορφώνουν ρυθμό, τόνο και προφορά. Υποστηρίζει εγγενή διάλογο και περισσότερες από 70 γλώσσες, χρησιμοποιώντας την προτροπή και τη μορφή ήχου 3.1.</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>Το Google Gemini 3.1 Flash TTS Preview είναι η έκδοση μετατροπής κειμένου σε ομιλία της οικογένειας Gemini 3.1 Flash Audio. Δέχεται κείμενο και παράγει προφορικό ήχο με έκφραση καθοδηγούμενη από προτροπή. Η Google περιγράφει αυτή τη γενιά ως βελτίωση στη φυσικότητα ομιλίας, τη δυνατότητα ελέγχου και την πολύγλωσση απόδοση, με εγγενή διάλογο πολλών ομιλητών και περισσότερες από 70 γλώσσες. Πρακτική χρήση είναι σύντομο μάθημα με αφήγηση, διάλογος μεταξύ χαρακτήρων ή προφορικό απόσπασμα του οποίου η εκφορά έχει όση σημασία έχει η διατύπωση.</p><p>Προετοιμάστε ολοκληρωμένο σενάριο και περιγραφή ερμηνείας. Αυτή η γενιά χρησιμοποιεί οδηγίες φυσικής γλώσσας μέσα στην είσοδο κειμένου για καθοδήγηση φωνητικού ύφους, ρυθμού και εκφοράς. Η έκδοση της Google εισάγει σκηνοθεσία σκηνής για καθορισμό κατάστασης, Audio Profiles ομιλητών για ορισμό χαρακτήρων και Director’s Notes για καθοδήγηση ρυθμού, τόνου και προφοράς. Κρατήστε αναγνωρίσιμα αυτά τα μέρη κατά την προετοιμασία προτροπής, ώστε οι προβλεπόμενες λέξεις και οι οδηγίες ερμηνείας να ελέγχονται ανεξάρτητα. Μια λιτή περιγραφή αναθεωρείται ευκολότερα από πολλές ανταγωνιστικές περιγραφές της ίδιας φωνής.</p><p>Για παράδειγμα, μια πρωτότυπη περιγραφή πρόβας μπορεί να ορίζει ήρεμο αφηγητή που εξηγεί έκθεμα μουσείου, με μετρημένη εκφορά και θερμότερο τόνο στην τελική πρόταση. Το συνοδευτικό σενάριο πρέπει να περιέχει τα πραγματικά ονόματα του εκθέματος και την ακριβή διατύπωση που πρέπει να εκφωνηθεί. Για διάλογο, δώστε στους χαρακτήρες διακριτά προφίλ και σαφή ακολουθία γύρων. Χρησιμοποιήστε το πλαίσιο σκηνής για να εξηγήσετε αν ένας ομιλητής καθησυχάζει τον άλλον, κάνει ειλικρινές ερώτημα ή απαντά με συγκρατημένη έκπληξη. Το παραγόμενο παραδοτέο προς αξιολόγηση είναι η ακουστή ερμηνεία αυτού του σεναρίου.</p><p>Οι ενσωματωμένες ετικέτες ήχου προσθέτουν τοπικό έλεγχο μέσα στο κείμενο, επιτρέποντας αλλαγή έκφρασης ομιλητή εντός πρότασης αντί για πλήρη εξάρτηση από την αρχική οδηγία. Η Google περιγράφει τις ετικέτες ως ελέγχους φωνητικού ύφους, ρυθμού και εκφοράς. Χρησιμοποιήστε τις όπου η ερμηνεία χρειάζεται συγκεκριμένη μεταβολή και κρατήστε τη λοιπή διατύπωση φυσική στην εκφώνηση. Η χρήσιμη διάκριση αυτής της έκδοσης είναι ανάμεσα στη γενική περιγραφή χαρακτήρα ή σκηνής και την τοπική αλλαγή εκφοράς. Ένα σύντομο ουδέτερο απόσπασμα μπορεί να καθιερώσει τη βασική φωνή πριν το σενάριο προσθέσει περισσότερη συναισθηματική καθοδήγηση.</p><p>Για πολύγλωσση εργασία, δώστε το σενάριο στην τελική γλώσσα και δηλώστε την επιθυμητή προφορά και το ύφος ομιλίας στην περιγραφή. Η ανακοίνωση της Google τεκμηριώνει υποστήριξη περισσότερων από 70 γλωσσών. Ως πρακτική προετοιμασία επιμέλειας, δώστε μία συνεπή γραφή στα επαναλαμβανόμενα ονόματα, αναπτύξτε αμφίσημες συντομογραφίες όταν απαιτείται μία ανάγνωση και ελέγξτε αριθμούς στο προφορικό αποτέλεσμα. Μια ετικέτα γλώσσας δεν καθορίζει μόνη της πώς πρέπει να ακούγεται ένα εμπορικό όνομα ή δάνειος όρος. Συγκρίνετε τα αποσπάσματα που περιέχουν αυτούς τους όρους με την επιδιωκόμενη ανάγνωση πριν αποδεχτείτε μεγάλη αφήγηση.</p><p>Η ακριβής σελίδα μοντέλου Gemini API αναφέρει όριο εισόδου 8,192 token και όριο εξόδου 16,384 token για αυτό το μοντέλο προεπισκόπησης. Η εγγενής κάρτα μοντέλου TTS της DeepMind αναφέρει χωριστά είσοδο κειμένου έως 16K token και έξοδο ήχου 32K token· αυτά τα μεγέθη της κάρτας διαφέρουν από τα όρια εξυπηρέτησης Gemini API. Υπολογίστε τις οδηγίες ερμηνείας ως μέρος της προετοιμασμένης εισόδου μαζί με το σενάριο. Το περιθώριο εξόδου εκφράζεται σε token ήχου, επομένως δεν εγγυάται συγκεκριμένη διάρκεια ηχογράφησης. Οργανώστε μεγάλο μάθημα ή ιστορία σε συνεκτικές ενότητες, διατηρήστε την ίδια περιγραφή χαρακτήρα και ακούστε τις ενώσεις. Για σεναριακό διάλογο, ελέγξτε απόδοση σε ομιλητές και σειρά γύρων επιπλέον των εκφωνούμενων λέξεων και της συναισθηματικής εκφοράς.</p><p>Η τεκμηρίωση μετάβασης της Google προσδιορίζει την προεπιλεγμένη έξοδο 3.1 ως ακατέργαστο PCM χωρίς κεφαλίδα με τύπο audio/l16. Τα byte ήχου χρειάζονται κατάλληλες πληροφορίες αναπαραγωγής ή περιέκτη κατά την προετοιμασία επεξεργάσιμης ηχογράφησης· η προσθήκη ονόματος αρχείου WAV δεν δημιουργεί από μόνη της κεφαλίδα WAV. Ελέγξτε την πραγματική επιστρεφόμενη μορφή πριν εισαγάγετε το αποτέλεσμα. Η Google δηλώνει επίσης ότι ο ήχος που παράγεται από το Gemini 3.1 Flash TTS φέρει ανεπαίσθητο υδατογράφημα SynthID. Το υδατογράφημα αφορά την αναγνώριση παραγόμενου ήχου και δεν υποκαθιστά απομαγνητοφώνηση, ετικέτες ομιλητών ή ακουστικό έλεγχο.</p><p>Το ύφος προετοιμασίας 3.1 διαφέρει ουσιαστικά από το 3.8. Το Gemini 3.8 μετακινεί διαρκείς οδηγίες και ταυτότητα ομιλητή σε δομημένα μεταδεδομένα ομιλίας, χρησιμοποιεί ετικέτες σημειακών συμβάντων σε γωνιακές αγκύλες και αλλάζει τις προεπιλογές ολοκληρωμένων αιτημάτων σε WAV. Διατηρήστε μια προτροπή 3.1 ως προτροπή 3.1 αντί να αναμειγνύετε τη νεότερη δομή αιτήματος. Ο πίνακας υποστηριζόμενων μοντέλων της Google αναφέρει σύνθεση ενός και πολλών ομιλητών για το 3.1, ενώ οι έλεγχοι σχεδιασμένης φωνής και αναπαραγωγής φωνής ανήκουν στις καταχωρίσεις 3.8. Η χωριστή έκδοση Flash Live χειρίζεται διαδραστική είσοδο ήχου· αυτή η έκδοση TTS εξυπηρετεί προετοιμασμένη παραγωγή κειμένου προς ήχο.</p><p>Ελέγξτε την ηχογράφηση έναντι του γραπτού σεναρίου για παραλείψεις ή επαναλήψεις λέξεων, ονόματα, χρονισμό γύρων και επιδιωκόμενες συναισθηματικές αλλαγές. Αν μία πρόταση χρειάζεται διαφορετική έμφαση, αναθεωρήστε εκείνη την τοπική οδηγία και επιθεωρήστε την επηρεαζόμενη μετάβαση. Αυτή η ροή καθιστά χρήσιμη την περιγραφή ερμηνείας: καταγράφει τι πρέπει να μένει σταθερό στον ομιλητή και τι να αλλάζει σε εκείνο το απόσπασμα, ενώ το σενάριο διατηρεί το περιεχόμενο που χρειάζεται να ακούσει το κοινό.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Ομιλία</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>Είσοδος</dt><dd><code>text</code></dd></div><div><dt>Έξοδος</dt><dd><code>audio</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Πεδίο</th><th>Τύπος</th><th>Απαίτηση</th><th>Τιμές και όρια</th><th>Προεπιλογή</th></tr></thead><tbody><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>google/gemini-3.1-flash-tts-preview</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Ελάχιστο μήκος: 1</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">voice</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>Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat</div><div>Ελάχιστο μήκος: 1</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">response_format</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>mp3, pcm</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"known\"><span class=\"card-cell-label\">Προεπιλογή</span>pcm</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>object</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Παράμετροι και κύκλος ζωής μεθόδου</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Παράμετρος</th><th>Σύμβαση</th></tr></thead><tbody><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>content_type</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>application/json</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>required</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>model, input, voice</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>material_types</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>text</td></tr></tbody></table></div><p>Κύκλος ζωής: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Τιμολόγηση</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.</p><dl data-price-conditions><dt>Γρήγορη λειτουργία</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν επιλέγεται η γρήγορη λειτουργία</span></dd><dt>Λειτουργία flex</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν επιλέγεται η λειτουργία flex</span></dd><dt>Μέγιστη προσπάθεια συλλογισμού</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default</span></dd></dl></div><div data-declared-tariff-pricing><h4>Χρεώσεις Ailoot</h4><h4>Τιμές ανά διαμόρφωση</h4><p class=\"note-s\">Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Πίνακας χρεώσεων</th><th>Μονάδα τιμολόγησης</th><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Βασικές χρεώσεις token</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>Βασική χρέωση</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>—</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Token εισόδου</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Έξοδος · Token εξόδου</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Ανάγνωση από την κρυφή μνήμη</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>token εισόδου</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>—</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>/ 1K token</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος</span> <b>$0.002</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><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>/ 1K token</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Έξοδος</span> <b>$0.04</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. <a href=\"/docs/el/billing/reserve/\">Πώς λειτουργούν η δέσμευση και η εκκαθάριση →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Παραδείγματα αιτημάτων</h3><h4>Ailoot Ultra · Ομιλία</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-1460-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1460-panel-0\" aria-selected=\"true\" tabindex=\"0\">Χρησιμοποιήστε την πραγματική είσοδο και διατηρήστε το πλήρες αποτέλεσμα</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1460-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1460-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_TEXT:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_TEXT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;google/gemini-3.1-flash-tts-preview&#39;, &#39;input&#39;: &#39;${ACTUAL_INPUT_TEXT}&#39;, &#39;voice&#39;: &#39;Orus&#39;, &#39;response_format&#39;: &#39;pcm&#39;}\nrequest[&#39;input&#39;]=os.environ[&#39;AILOOT_INPUT_TEXT&#39;]\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Λήψη και αποθήκευση αποτελεσμάτων</h3><h4>Ailoot Ultra · Ομιλία</h4><p class=\"note-s\">Πλήρης δυαδικός ήχος ή αρχική απόκριση audio_url, κεφαλίδες και κάθε αρχείο πολυμέσων που σας ανήκει.</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><details class=\"card-about\"><summary>Άλλες ανακτήσεις περιεχομένου</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-1461-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1461-panel-0\" aria-selected=\"true\" tabindex=\"0\">Ανάκτηση υπαρχόντων αρχείων που σας ανήκουν</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1461-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1461-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα</h5><p class=\"note-s\">Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.</p><p class=\"note-s\">Διατηρήστε ολόκληρη την απόκριση και τις κεφαλίδες, κάθε πραγματικό αποτέλεσμα εξόδου, τα αρχικά αναγνωριστικά που επιστράφηκαν και όλα τα πεδία χρήσης. Ανακτήστε την αρχική λειτουργία χωρίς να υποβάλετε ξανά αίτημα δημιουργίας.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Αν χρειάζεται έλεγχος της αρχικής απάντησης</h5><p class=\"note-s\">Διατηρήστε το X-Client-Request-ID που επιστράφηκε για τη συμφωνία των εγγραφών. Διαβάστε μόνο πραγματικές τιμές task_id/asset_id που επιστράφηκαν ή τη βιβλιοθήκη πολυμέσων που σας ανήκει· μην κατασκευάσετε ποτέ URL εργασίας από το ID της λειτουργίας και μην υποβάλετε ποτέ ξανά αίτημα δημιουργίας.</p></div></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Εναλλακτικά ονόματα</h3><h4>Εναλλακτικά ονόματα μοντέλου</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=google%2Fgemini-3.1-flash-tts-preview&amp;route=Ultra&amp;caller=google%2Fgemini-3.1-flash-tts-preview&amp;fmt=speech\"><code>google/gemini-3.1-flash-tts-preview</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\">Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.</p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=google%2Fgemini-3.1-flash-tts-preview&amp;route=Ultra&amp;caller=google%2Fgemini-3.1-flash-tts-preview&amp;fmt=speech\"><code>google/gemini-3.1-flash-tts-preview</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemini-3.1-flash-tts-preview",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "google/gemini-3.1-flash-tts-preview",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|google%2Fgemini-3.1-flash-tts-preview",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Διατηρήστε το X-Client-Request-ID που επιστράφηκε για τη συμφωνία των εγγραφών. Διαβάστε μόνο πραγματικές τιμές task_id/asset_id που επιστράφηκαν ή τη βιβλιοθήκη πολυμέσων που σας ανήκει· μην κατασκευάσετε ποτέ URL εργασίας από το ID της λειτουργίας και μην υποβάλετε ποτέ ξανά αίτημα δημιουργίας."
            },
            "outputs": {
              "all_results": "Διατηρήστε ολόκληρη την απόκριση και τις κεφαλίδες, κάθε πραγματικό αποτέλεσμα εξόδου, τα αρχικά αναγνωριστικά που επιστράφηκαν και όλα τα πεδία χρήσης. Ανακτήστε την αρχική λειτουργία χωρίς να υποβάλετε ξανά αίτημα δημιουργίας.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Πλήρης δυαδικός ήχος ή αρχική απόκριση audio_url, κεφαλίδες και κάθε αρχείο πολυμέσων που σας ανήκει."
            },
            "parameters": [
              {
                "enum": [
                  "google/gemini-3.1-flash-tts-preview"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "Zephyr",
                  "Puck",
                  "Charon",
                  "Kore",
                  "Fenrir",
                  "Leda",
                  "Orus",
                  "Aoede",
                  "Callirrhoe",
                  "Autonoe",
                  "Enceladus",
                  "Iapetus",
                  "Umbriel",
                  "Algieba",
                  "Despina",
                  "Erinome",
                  "Algenib",
                  "Rasalgethi",
                  "Laomedeia",
                  "Achernar",
                  "Alnilam",
                  "Schedar",
                  "Gacrux",
                  "Pulcherrima",
                  "Achird",
                  "Zubenelgenubi",
                  "Vindemiatrix",
                  "Sadachbia",
                  "Sadaltager",
                  "Sulafat"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "google/gemini-3.1-flash-tts-preview"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "Zephyr",
                    "Puck",
                    "Charon",
                    "Kore",
                    "Fenrir",
                    "Leda",
                    "Orus",
                    "Aoede",
                    "Callirrhoe",
                    "Autonoe",
                    "Enceladus",
                    "Iapetus",
                    "Umbriel",
                    "Algieba",
                    "Despina",
                    "Erinome",
                    "Algenib",
                    "Rasalgethi",
                    "Laomedeia",
                    "Achernar",
                    "Alnilam",
                    "Schedar",
                    "Gacrux",
                    "Pulcherrima",
                    "Achird",
                    "Zubenelgenubi",
                    "Vindemiatrix",
                    "Sadachbia",
                    "Sadaltager",
                    "Sulafat"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "google/gemini-3.1-flash-tts-preview",
                "response_format": "pcm",
                "voice": "Orus"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": 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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000002",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.04000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00004",
                "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"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'google/gemini-3.1-flash-tts-preview', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'Orus', 'response_format': 'pcm'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Ομιλία",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "input_token": 2e-06,
            "output_token": 4e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": 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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000002",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.04000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00004",
                "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"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-3.1-flash-tts-preview",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": 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"
          },
          {
            "amount": "0.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000002",
            "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.04000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00004",
            "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"
          }
        ]
      }
    }
  ],
  "model_id": "google/gemini-3.1-flash-tts-preview",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "633b8c2d36650873049cd508ac815719faf61a050031ceb71daee7967d4cf830",
    "input_html_sha256": "2445a29aa2bdb35b7a513ba9f71f74257fd066a8bdad3c923eb1eef005442499",
    "private_audit_sha256": "9581a3924c1b31fbfd4998247b14a7ae708fc347623c2e983a94929f38dbd3b4",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/google-gemini-3-1-flash-tts-preview/",
    "description": "Το Google Gemini 3.1 Flash TTS Preview μετατρέπει γραπτά σενάρια σε εκφραστικό προφορικό ήχο. Η καθοδήγηση φυσικής γλώσσας, τα Audio Profiles ομιλητών, τα Director’s Notes και οι ενσωματωμένες ετικέτες ήχου διαμορφώνουν ρυθμό, τόνο και προφορά. Υποστηρίζει εγγενή διάλογο και περισσότερες από 70 γλώσσες, χρησιμοποιώντας την προτροπή και τη μορφή ήχου 3.1.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/google-gemini-3-1-flash-tts-preview/index.md",
    "title": "Google: Gemini 3.1 Flash TTS Preview — Ailoot",
    "url": "https://ailoot.ai/models/el/google-gemini-3-1-flash-tts-preview/"
  },
  "rawModel": {
    "about": "Το Google Gemini 3.1 Flash TTS Preview είναι η έκδοση μετατροπής κειμένου σε ομιλία της οικογένειας Gemini 3.1 Flash Audio. Δέχεται κείμενο και παράγει προφορικό ήχο με έκφραση καθοδηγούμενη από προτροπή. Η Google περιγράφει αυτή τη γενιά ως βελτίωση στη φυσικότητα ομιλίας, τη δυνατότητα ελέγχου και την πολύγλωσση απόδοση, με εγγενή διάλογο πολλών ομιλητών και περισσότερες από 70 γλώσσες. Πρακτική χρήση είναι σύντομο μάθημα με αφήγηση, διάλογος μεταξύ χαρακτήρων ή προφορικό απόσπασμα του οποίου η εκφορά έχει όση σημασία έχει η διατύπωση.\n\nΠροετοιμάστε ολοκληρωμένο σενάριο και περιγραφή ερμηνείας. Αυτή η γενιά χρησιμοποιεί οδηγίες φυσικής γλώσσας μέσα στην είσοδο κειμένου για καθοδήγηση φωνητικού ύφους, ρυθμού και εκφοράς. Η έκδοση της Google εισάγει σκηνοθεσία σκηνής για καθορισμό κατάστασης, Audio Profiles ομιλητών για ορισμό χαρακτήρων και Director’s Notes για καθοδήγηση ρυθμού, τόνου και προφοράς. Κρατήστε αναγνωρίσιμα αυτά τα μέρη κατά την προετοιμασία προτροπής, ώστε οι προβλεπόμενες λέξεις και οι οδηγίες ερμηνείας να ελέγχονται ανεξάρτητα. Μια λιτή περιγραφή αναθεωρείται ευκολότερα από πολλές ανταγωνιστικές περιγραφές της ίδιας φωνής.\n\nΓια παράδειγμα, μια πρωτότυπη περιγραφή πρόβας μπορεί να ορίζει ήρεμο αφηγητή που εξηγεί έκθεμα μουσείου, με μετρημένη εκφορά και θερμότερο τόνο στην τελική πρόταση. Το συνοδευτικό σενάριο πρέπει να περιέχει τα πραγματικά ονόματα του εκθέματος και την ακριβή διατύπωση που πρέπει να εκφωνηθεί. Για διάλογο, δώστε στους χαρακτήρες διακριτά προφίλ και σαφή ακολουθία γύρων. Χρησιμοποιήστε το πλαίσιο σκηνής για να εξηγήσετε αν ένας ομιλητής καθησυχάζει τον άλλον, κάνει ειλικρινές ερώτημα ή απαντά με συγκρατημένη έκπληξη. Το παραγόμενο παραδοτέο προς αξιολόγηση είναι η ακουστή ερμηνεία αυτού του σεναρίου.\n\nΟι ενσωματωμένες ετικέτες ήχου προσθέτουν τοπικό έλεγχο μέσα στο κείμενο, επιτρέποντας αλλαγή έκφρασης ομιλητή εντός πρότασης αντί για πλήρη εξάρτηση από την αρχική οδηγία. Η Google περιγράφει τις ετικέτες ως ελέγχους φωνητικού ύφους, ρυθμού και εκφοράς. Χρησιμοποιήστε τις όπου η ερμηνεία χρειάζεται συγκεκριμένη μεταβολή και κρατήστε τη λοιπή διατύπωση φυσική στην εκφώνηση. Η χρήσιμη διάκριση αυτής της έκδοσης είναι ανάμεσα στη γενική περιγραφή χαρακτήρα ή σκηνής και την τοπική αλλαγή εκφοράς. Ένα σύντομο ουδέτερο απόσπασμα μπορεί να καθιερώσει τη βασική φωνή πριν το σενάριο προσθέσει περισσότερη συναισθηματική καθοδήγηση.\n\nΓια πολύγλωσση εργασία, δώστε το σενάριο στην τελική γλώσσα και δηλώστε την επιθυμητή προφορά και το ύφος ομιλίας στην περιγραφή. Η ανακοίνωση της Google τεκμηριώνει υποστήριξη περισσότερων από 70 γλωσσών. Ως πρακτική προετοιμασία επιμέλειας, δώστε μία συνεπή γραφή στα επαναλαμβανόμενα ονόματα, αναπτύξτε αμφίσημες συντομογραφίες όταν απαιτείται μία ανάγνωση και ελέγξτε αριθμούς στο προφορικό αποτέλεσμα. Μια ετικέτα γλώσσας δεν καθορίζει μόνη της πώς πρέπει να ακούγεται ένα εμπορικό όνομα ή δάνειος όρος. Συγκρίνετε τα αποσπάσματα που περιέχουν αυτούς τους όρους με την επιδιωκόμενη ανάγνωση πριν αποδεχτείτε μεγάλη αφήγηση.\n\nΗ ακριβής σελίδα μοντέλου Gemini API αναφέρει όριο εισόδου 8,192 token και όριο εξόδου 16,384 token για αυτό το μοντέλο προεπισκόπησης. Η εγγενής κάρτα μοντέλου TTS της DeepMind αναφέρει χωριστά είσοδο κειμένου έως 16K token και έξοδο ήχου 32K token· αυτά τα μεγέθη της κάρτας διαφέρουν από τα όρια εξυπηρέτησης Gemini API. Υπολογίστε τις οδηγίες ερμηνείας ως μέρος της προετοιμασμένης εισόδου μαζί με το σενάριο. Το περιθώριο εξόδου εκφράζεται σε token ήχου, επομένως δεν εγγυάται συγκεκριμένη διάρκεια ηχογράφησης. Οργανώστε μεγάλο μάθημα ή ιστορία σε συνεκτικές ενότητες, διατηρήστε την ίδια περιγραφή χαρακτήρα και ακούστε τις ενώσεις. Για σεναριακό διάλογο, ελέγξτε απόδοση σε ομιλητές και σειρά γύρων επιπλέον των εκφωνούμενων λέξεων και της συναισθηματικής εκφοράς.\n\nΗ τεκμηρίωση μετάβασης της Google προσδιορίζει την προεπιλεγμένη έξοδο 3.1 ως ακατέργαστο PCM χωρίς κεφαλίδα με τύπο audio/l16. Τα byte ήχου χρειάζονται κατάλληλες πληροφορίες αναπαραγωγής ή περιέκτη κατά την προετοιμασία επεξεργάσιμης ηχογράφησης· η προσθήκη ονόματος αρχείου WAV δεν δημιουργεί από μόνη της κεφαλίδα WAV. Ελέγξτε την πραγματική επιστρεφόμενη μορφή πριν εισαγάγετε το αποτέλεσμα. Η Google δηλώνει επίσης ότι ο ήχος που παράγεται από το Gemini 3.1 Flash TTS φέρει ανεπαίσθητο υδατογράφημα SynthID. Το υδατογράφημα αφορά την αναγνώριση παραγόμενου ήχου και δεν υποκαθιστά απομαγνητοφώνηση, ετικέτες ομιλητών ή ακουστικό έλεγχο.\n\nΤο ύφος προετοιμασίας 3.1 διαφέρει ουσιαστικά από το 3.8. Το Gemini 3.8 μετακινεί διαρκείς οδηγίες και ταυτότητα ομιλητή σε δομημένα μεταδεδομένα ομιλίας, χρησιμοποιεί ετικέτες σημειακών συμβάντων σε γωνιακές αγκύλες και αλλάζει τις προεπιλογές ολοκληρωμένων αιτημάτων σε WAV. Διατηρήστε μια προτροπή 3.1 ως προτροπή 3.1 αντί να αναμειγνύετε τη νεότερη δομή αιτήματος. Ο πίνακας υποστηριζόμενων μοντέλων της Google αναφέρει σύνθεση ενός και πολλών ομιλητών για το 3.1, ενώ οι έλεγχοι σχεδιασμένης φωνής και αναπαραγωγής φωνής ανήκουν στις καταχωρίσεις 3.8. Η χωριστή έκδοση Flash Live χειρίζεται διαδραστική είσοδο ήχου· αυτή η έκδοση TTS εξυπηρετεί προετοιμασμένη παραγωγή κειμένου προς ήχο.\n\nΕλέγξτε την ηχογράφηση έναντι του γραπτού σεναρίου για παραλείψεις ή επαναλήψεις λέξεων, ονόματα, χρονισμό γύρων και επιδιωκόμενες συναισθηματικές αλλαγές. Αν μία πρόταση χρειάζεται διαφορετική έμφαση, αναθεωρήστε εκείνη την τοπική οδηγία και επιθεωρήστε την επηρεαζόμενη μετάβαση. Αυτή η ροή καθιστά χρήσιμη την περιγραφή ερμηνείας: καταγράφει τι πρέπει να μένει σταθερό στον ομιλητή και τι να αλλάζει σε εκείνο το απόσπασμα, ενώ το σενάριο διατηρεί το περιεχόμενο που χρειάζεται να ακούσει το κοινό.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "capabilities": {
      "context_length": 32768,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000002",
            "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.04000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00004",
            "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": [
      "speech"
    ],
    "id": "google/gemini-3.1-flash-tts-preview",
    "input": [
      "text"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Διατηρήστε το X-Client-Request-ID που επιστράφηκε για τη συμφωνία των εγγραφών. Διαβάστε μόνο πραγματικές τιμές task_id/asset_id που επιστράφηκαν ή τη βιβλιοθήκη πολυμέσων που σας ανήκει· μην κατασκευάσετε ποτέ URL εργασίας από το ID της λειτουργίας και μην υποβάλετε ποτέ ξανά αίτημα δημιουργίας."
            },
            "outputs": {
              "all_results": "Διατηρήστε ολόκληρη την απόκριση και τις κεφαλίδες, κάθε πραγματικό αποτέλεσμα εξόδου, τα αρχικά αναγνωριστικά που επιστράφηκαν και όλα τα πεδία χρήσης. Ανακτήστε την αρχική λειτουργία χωρίς να υποβάλετε ξανά αίτημα δημιουργίας.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Πλήρης δυαδικός ήχος ή αρχική απόκριση audio_url, κεφαλίδες και κάθε αρχείο πολυμέσων που σας ανήκει."
            },
            "parameters": [
              {
                "enum": [
                  "google/gemini-3.1-flash-tts-preview"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "Zephyr",
                  "Puck",
                  "Charon",
                  "Kore",
                  "Fenrir",
                  "Leda",
                  "Orus",
                  "Aoede",
                  "Callirrhoe",
                  "Autonoe",
                  "Enceladus",
                  "Iapetus",
                  "Umbriel",
                  "Algieba",
                  "Despina",
                  "Erinome",
                  "Algenib",
                  "Rasalgethi",
                  "Laomedeia",
                  "Achernar",
                  "Alnilam",
                  "Schedar",
                  "Gacrux",
                  "Pulcherrima",
                  "Achird",
                  "Zubenelgenubi",
                  "Vindemiatrix",
                  "Sadachbia",
                  "Sadaltager",
                  "Sulafat"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "google/gemini-3.1-flash-tts-preview"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "Zephyr",
                    "Puck",
                    "Charon",
                    "Kore",
                    "Fenrir",
                    "Leda",
                    "Orus",
                    "Aoede",
                    "Callirrhoe",
                    "Autonoe",
                    "Enceladus",
                    "Iapetus",
                    "Umbriel",
                    "Algieba",
                    "Despina",
                    "Erinome",
                    "Algenib",
                    "Rasalgethi",
                    "Laomedeia",
                    "Achernar",
                    "Alnilam",
                    "Schedar",
                    "Gacrux",
                    "Pulcherrima",
                    "Achird",
                    "Zubenelgenubi",
                    "Vindemiatrix",
                    "Sadachbia",
                    "Sadaltager",
                    "Sulafat"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "google/gemini-3.1-flash-tts-preview",
                "response_format": "pcm",
                "voice": "Orus"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": 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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000002",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.04000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00004",
                "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"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'google/gemini-3.1-flash-tts-preview', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'Orus', 'response_format': 'pcm'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Ομιλία",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "input_token": 2e-06,
            "output_token": 4e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": 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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000002",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.04000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00004",
                "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"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-3.1-flash-tts-preview",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": 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"
          },
          {
            "amount": "0.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000002",
            "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.04000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00004",
            "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"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/gemini-3.1-flash-tts-preview",
        "request_model_id": "google/gemini-3.1-flash-tts-preview",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemini 3.1 Flash TTS Preview",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.04,
      "out_label": "/ 1K tokens",
      "sort_in": null,
      "sort_out": 0.04,
      "varies": true
    },
    "short": "Το Google Gemini 3.1 Flash TTS Preview μετατρέπει γραπτά σενάρια σε εκφραστικό προφορικό ήχο. Η καθοδήγηση φυσικής γλώσσας, τα Audio Profiles ομιλητών, τα Director’s Notes και οι ενσωματωμένες ετικέτες ήχου διαμορφώνουν ρυθμό, τόνο και προφορά. Υποστηρίζει εγγενή διάλογο και περισσότερες από 70 γλώσσες, χρησιμοποιώντας την προτροπή και τη μορφή ήχου 3.1."
  },
  "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": "Το Google Gemini 3.1 Flash TTS Preview μετατρέπει γραπτά σενάρια σε εκφραστικό προφορικό ήχο. Η καθοδήγηση φυσικής γλώσσας, τα Audio Profiles ομιλητών, τα Director’s Notes και οι ενσωματωμένες ετικέτες ήχου διαμορφώνουν ρυθμό, τόνο και προφορά. Υποστηρίζει εγγενή διάλογο και περισσότερες από 70 γλώσσες, χρησιμοποιώντας την προτροπή και τη μορφή ήχου 3.1.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "4fe7f4a959eca353804694d23a24ca5071d36f5849f430c1ba27cdc7d106aee7",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "3341efd8b62a4f6ace8b15b2f0fbdc1d823ab24b29d8426781c53481f7ece382"
}
