{
  "aboutHtml": "<p>Το Google Gemini 3.8 Flash TTS είναι η βαθμίδα δημιουργικής φωνητικής ερμηνείας της οικογένειας μετατροπής κειμένου σε ομιλία 3.8 της Google. Δίνει έμφαση στην ακουστική πιστότητα, το συναισθηματικό εύρος, τις τοπικές προφορές και τη συνέχεια της φωνής χαρακτήρα σε εκτεταμένο διάλογο. Η Google τονίζει ηχητικά βιβλία, αφήγηση στούντιο, δύσκολη προφορά και σκηνές με ουσιαστική φωνητική υποκριτική. Η έξοδος είναι προφορικός ήχος από προετοιμασμένο σενάριο κειμένου, κατάλληλος για αξιολόγηση ερμηνείας αφηγητή ή τοποθέτηση σεναριακής συνομιλίας δίπλα σε άλλα στοιχεία παραγωγής.</p><p>Ξεκινήστε με τις ακριβείς λέξεις που πρέπει να ακουστούν. Το κείμενο 3.8 αντιμετωπίζεται κατά λέξη, ενώ ο ομιλητής και η διαρκής ερμηνεία ανήκουν σε χωριστά μεταδεδομένα ομιλίας. Δώστε σε κάθε γύρο σαφή ταυτότητα ομιλητή και, όπου είναι χρήσιμο, σύντομη οδηγία ύφους όπως συγκρατημένη ανησυχία ή χαρούμενη περιέργεια. Χωρίστε μια ατάκα σε διαφορετικούς γύρους όταν το συναίσθημα ή ο ρυθμός αλλάζει ουσιαστικά. Αυτό διευκολύνει τον έλεγχο της περιγραφής: το κείμενο περιέχει τον διάλογο και η συνημμένη οδηγία εξηγεί πώς πρέπει να ερμηνευτεί αυτό το μέρος. Συνήθεις γραπτές οδηγίες μέσα στο κείμενο μπορεί να διαβαστούν δυνατά.</p><p>Το φωνητικό σύστημα 3.8 της Google περιλαμβάνει προκατασκευασμένες φωνές, εκτεταμένη βιβλιοθήκη φωνών, σχεδιασμένες περσόνες και αναπαραγόμενες φωνητικές ταυτότητες. Επιλέξτε την υποκείμενη περσόνα πριν εφαρμόσετε προσωρινές αλλαγές ερμηνείας. Σταθερή τοπική προφορά ή ταυτότητα χαρακτήρα ανήκει στην επιλεγμένη φωνή· το πεδίο ύφους ελέγχει την τρέχουσα ερμηνεία. Ο κατασκευαστής συμβουλεύει επαναχρησιμοποίηση αυτής της φωνής με σύντομες οδηγίες αντί για επανάληψη μεγάλων ενοτήτων Audio Profile ή Director’s Notes. Η τεκμηριωμένη διαμόρφωση διαλόγου ενός αιτήματος συνδυάζει έως δύο προκατασκευασμένους ομιλητές. Για σχεδιασμένους ή αναπαραγόμενους χαρακτήρες, ο οδηγός κατευθύνει σε παραγωγή μεμονωμένων γύρων κατά τη συναρμολόγηση διαλόγου πολλών χαρακτήρων.</p><p>Τοποθετήστε σύντομη ανθρώπινη φωνητική εκδήλωση ή παύση στο σχετικό σημείο με ετικέτα σε γωνιακές αγκύλες. Ένα πρωτότυπο παράδειγμα σεναρίου είναι «Νόμιζα ότι είχες φύγει. &lt;short pause&gt; &lt;sigh&gt; Άφησα το φως αναμμένο». Συνδέστε συγκρατημένη εκφορά με ολόκληρο τον γύρο αντί να βάλετε αυτή την οδηγία ανάμεσα στις εκφωνούμενες λέξεις. Η στίξη και τα κεφαλαία βοηθούν στη διατύπωση δισταγμού ή έμφασης σε λέξη. Η Google τεκμηριώνει επίσης αντιδράσεις ακροατή οριοθετημένες με κάθετες γραμμές για αποκρίσεις ακρόασης και επικαλυπτόμενο διάλογο και προσδιορίζει το Flash TTS ως προτιμώμενη έκδοση 3.8 για εντονότερη επικάλυψη. Κρατήστε αυτές τις αντιδράσεις αρκετά σύντομες ώστε ο ακροατής να κατανοεί ακόμη την κύρια ατάκα.</p><p>Ο κατασκευαστής αναφέρει 130 υποστηριζόμενες γλώσσες για το Flash TTS και τονίζει κάλυψη τοπικών και μειονοτικών διαλέκτων. Περιγραφή τοπικής ερμηνείας είναι χρήσιμη για τοπικοποιημένο χαρακτήρα ηχητικού βιβλίου ή αφήγηση της οποίας η προφορά έχει σημασία για το κοινό. Προετοιμάστε το σενάριο στην τελική γλώσσα του, με συνεπή γραφή επαναλαμβανόμενων ονομάτων και σκόπιμη ανάγνωση συντομογραφιών και αριθμών. Ως βήμα επιμέλειας, ξεκινήστε τον ακουστικό έλεγχο με αποσπάσματα που περιέχουν δύσκολα ονόματα, αλλαγές διαλέκτου ή συναισθηματικές μεταβάσεις. Η επιθυμητή προφορά και ο ρυθμός πρέπει να αξιολογούνται στην παραγόμενη φωνή αντί να θεωρούνται δεδομένα μόνο από την ετικέτα γλώσσας.</p><p>Ο οδηγός εξόδου 3.8 διακρίνει ολοκληρωμένα αρχεία από ήχο συνεχούς ροής. Η προεπιλογή ολοκληρωμένου αιτήματος είναι αρχείο WAV με κεφαλίδα RIFF: 24 kHz, μονοφωνικό, προσημασμένο PCM 16 bit little-endian. Η προεπιλογή συνεχούς ροής είναι ακατέργαστο γραμμικό PCM χωρίς κεφαλίδα με τα ίδια χαρακτηριστικά δειγματοληψίας. Ακατέργαστο γραμμικό PCM, mu-law και A-law είναι επίσης τεκμηριωμένες επιλογές κωδικοποίησης. Χρησιμοποιήστε τις πραγματικές πληροφορίες κωδικοποίησης κατά την προετοιμασία αναπαραγωγής ή εισαγωγής αποτελέσματος σε πρόγραμμα επεξεργασίας. Για ακολουθία χωριστών αρχείων διαλόγου, κρατήστε συνεπείς τις μορφές τους και ελέγξτε τις ενώσεις για απότομες αλλαγές στάθμης, ρυθμού ή ήχου περιβάλλοντος χώρου.</p><p>Η ακριβής σελίδα μοντέλου της Google ορίζει όρια εξυπηρέτησης Gemini API 8,192 token εισόδου και 16,384 token εξόδου. Πρόκειται για όρια token, όχι σταθερή διάρκεια ηχητικού βιβλίου ή ακριβή αριθμό δευτερολέπτων ομιλίας. Χωρίστε μεγάλα σενάρια σε νοηματικά όρια και διατηρήστε την επιλεγμένη φωνητική ταυτότητα μεταξύ ενοτήτων. Σε παραγωγή μήκους κεφαλαίου, ακούστε για συνέχεια στις αλλαγές παραγράφων και σκηνών, καθώς και για ακρίβεια λέξεων εντός κάθε τμήματος. Ένας καλός πρακτικός έλεγχος καταγράφει ποιες ατάκες χρειάζονται αναθεώρηση προφοράς ή ερμηνείας αντί να ξαναγράφει όλη τη φωνητική περιγραφή μετά από κάθε λήψη.</p><p>Το Flash TTS και το Flash-Lite TTS μοιράζονται τη δομή προετοιμασίας 3.8, οπότε η επιλογή έκδοσης μπορεί να ακολουθεί τις απαιτήσεις της εργασίας. Το Flash TTS τονίζει υποκριτική, σύνθετο διάλογο, δύσκολες προφορές και ευρύτερη κάλυψη διαλέκτων· το Flash-Lite δίνει έμφαση στον ρυθμό παραγωγής για συνηθισμένο προφορικό περιεχόμενο. Οι εκφραστικοί έλεγχοι αφορούν ανθρώπινη ομιλία και φωνητικά συμβάντα. Εφέ περιβάλλοντος, μουσική επένδυση και τελική μίξη παραγωγής μπορούν να σχεδιαστούν ως χωριστά στοιχεία. Η συγγραφή σεναρίου, η μετάφραση και η αναγνώριση ηχογραφημένης ομιλίας παραμένουν διαφορετικά στάδια γύρω από αυτό το μοντέλο κειμένου προς ήχο.</p>",
  "aboutText": "Το Google Gemini 3.8 Flash TTS είναι η βαθμίδα δημιουργικής φωνητικής ερμηνείας της οικογένειας μετατροπής κειμένου σε ομιλία 3.8 της Google. Δίνει έμφαση στην ακουστική πιστότητα, το συναισθηματικό εύρος, τις τοπικές προφορές και τη συνέχεια της φωνής χαρακτήρα σε εκτεταμένο διάλογο. Η Google τονίζει ηχητικά βιβλία, αφήγηση στούντιο, δύσκολη προφορά και σκηνές με ουσιαστική φωνητική υποκριτική. Η έξοδος είναι προφορικός ήχος από προετοιμασμένο σενάριο κειμένου, κατάλληλος για αξιολόγηση ερμηνείας αφηγητή ή τοποθέτηση σεναριακής συνομιλίας δίπλα σε άλλα στοιχεία παραγωγής.\n\nΞεκινήστε με τις ακριβείς λέξεις που πρέπει να ακουστούν. Το κείμενο 3.8 αντιμετωπίζεται κατά λέξη, ενώ ο ομιλητής και η διαρκής ερμηνεία ανήκουν σε χωριστά μεταδεδομένα ομιλίας. Δώστε σε κάθε γύρο σαφή ταυτότητα ομιλητή και, όπου είναι χρήσιμο, σύντομη οδηγία ύφους όπως συγκρατημένη ανησυχία ή χαρούμενη περιέργεια. Χωρίστε μια ατάκα σε διαφορετικούς γύρους όταν το συναίσθημα ή ο ρυθμός αλλάζει ουσιαστικά. Αυτό διευκολύνει τον έλεγχο της περιγραφής: το κείμενο περιέχει τον διάλογο και η συνημμένη οδηγία εξηγεί πώς πρέπει να ερμηνευτεί αυτό το μέρος. Συνήθεις γραπτές οδηγίες μέσα στο κείμενο μπορεί να διαβαστούν δυνατά.\n\nΤο φωνητικό σύστημα 3.8 της Google περιλαμβάνει προκατασκευασμένες φωνές, εκτεταμένη βιβλιοθήκη φωνών, σχεδιασμένες περσόνες και αναπαραγόμενες φωνητικές ταυτότητες. Επιλέξτε την υποκείμενη περσόνα πριν εφαρμόσετε προσωρινές αλλαγές ερμηνείας. Σταθερή τοπική προφορά ή ταυτότητα χαρακτήρα ανήκει στην επιλεγμένη φωνή· το πεδίο ύφους ελέγχει την τρέχουσα ερμηνεία. Ο κατασκευαστής συμβουλεύει επαναχρησιμοποίηση αυτής της φωνής με σύντομες οδηγίες αντί για επανάληψη μεγάλων ενοτήτων Audio Profile ή Director’s Notes. Η τεκμηριωμένη διαμόρφωση διαλόγου ενός αιτήματος συνδυάζει έως δύο προκατασκευασμένους ομιλητές. Για σχεδιασμένους ή αναπαραγόμενους χαρακτήρες, ο οδηγός κατευθύνει σε παραγωγή μεμονωμένων γύρων κατά τη συναρμολόγηση διαλόγου πολλών χαρακτήρων.\n\nΤοποθετήστε σύντομη ανθρώπινη φωνητική εκδήλωση ή παύση στο σχετικό σημείο με ετικέτα σε γωνιακές αγκύλες. Ένα πρωτότυπο παράδειγμα σεναρίου είναι «Νόμιζα ότι είχες φύγει. <short pause> <sigh> Άφησα το φως αναμμένο». Συνδέστε συγκρατημένη εκφορά με ολόκληρο τον γύρο αντί να βάλετε αυτή την οδηγία ανάμεσα στις εκφωνούμενες λέξεις. Η στίξη και τα κεφαλαία βοηθούν στη διατύπωση δισταγμού ή έμφασης σε λέξη. Η Google τεκμηριώνει επίσης αντιδράσεις ακροατή οριοθετημένες με κάθετες γραμμές για αποκρίσεις ακρόασης και επικαλυπτόμενο διάλογο και προσδιορίζει το Flash TTS ως προτιμώμενη έκδοση 3.8 για εντονότερη επικάλυψη. Κρατήστε αυτές τις αντιδράσεις αρκετά σύντομες ώστε ο ακροατής να κατανοεί ακόμη την κύρια ατάκα.\n\nΟ κατασκευαστής αναφέρει 130 υποστηριζόμενες γλώσσες για το Flash TTS και τονίζει κάλυψη τοπικών και μειονοτικών διαλέκτων. Περιγραφή τοπικής ερμηνείας είναι χρήσιμη για τοπικοποιημένο χαρακτήρα ηχητικού βιβλίου ή αφήγηση της οποίας η προφορά έχει σημασία για το κοινό. Προετοιμάστε το σενάριο στην τελική γλώσσα του, με συνεπή γραφή επαναλαμβανόμενων ονομάτων και σκόπιμη ανάγνωση συντομογραφιών και αριθμών. Ως βήμα επιμέλειας, ξεκινήστε τον ακουστικό έλεγχο με αποσπάσματα που περιέχουν δύσκολα ονόματα, αλλαγές διαλέκτου ή συναισθηματικές μεταβάσεις. Η επιθυμητή προφορά και ο ρυθμός πρέπει να αξιολογούνται στην παραγόμενη φωνή αντί να θεωρούνται δεδομένα μόνο από την ετικέτα γλώσσας.\n\nΟ οδηγός εξόδου 3.8 διακρίνει ολοκληρωμένα αρχεία από ήχο συνεχούς ροής. Η προεπιλογή ολοκληρωμένου αιτήματος είναι αρχείο WAV με κεφαλίδα RIFF: 24 kHz, μονοφωνικό, προσημασμένο PCM 16 bit little-endian. Η προεπιλογή συνεχούς ροής είναι ακατέργαστο γραμμικό PCM χωρίς κεφαλίδα με τα ίδια χαρακτηριστικά δειγματοληψίας. Ακατέργαστο γραμμικό PCM, mu-law και A-law είναι επίσης τεκμηριωμένες επιλογές κωδικοποίησης. Χρησιμοποιήστε τις πραγματικές πληροφορίες κωδικοποίησης κατά την προετοιμασία αναπαραγωγής ή εισαγωγής αποτελέσματος σε πρόγραμμα επεξεργασίας. Για ακολουθία χωριστών αρχείων διαλόγου, κρατήστε συνεπείς τις μορφές τους και ελέγξτε τις ενώσεις για απότομες αλλαγές στάθμης, ρυθμού ή ήχου περιβάλλοντος χώρου.\n\nΗ ακριβής σελίδα μοντέλου της Google ορίζει όρια εξυπηρέτησης Gemini API 8,192 token εισόδου και 16,384 token εξόδου. Πρόκειται για όρια token, όχι σταθερή διάρκεια ηχητικού βιβλίου ή ακριβή αριθμό δευτερολέπτων ομιλίας. Χωρίστε μεγάλα σενάρια σε νοηματικά όρια και διατηρήστε την επιλεγμένη φωνητική ταυτότητα μεταξύ ενοτήτων. Σε παραγωγή μήκους κεφαλαίου, ακούστε για συνέχεια στις αλλαγές παραγράφων και σκηνών, καθώς και για ακρίβεια λέξεων εντός κάθε τμήματος. Ένας καλός πρακτικός έλεγχος καταγράφει ποιες ατάκες χρειάζονται αναθεώρηση προφοράς ή ερμηνείας αντί να ξαναγράφει όλη τη φωνητική περιγραφή μετά από κάθε λήψη.\n\nΤο Flash TTS και το Flash-Lite TTS μοιράζονται τη δομή προετοιμασίας 3.8, οπότε η επιλογή έκδοσης μπορεί να ακολουθεί τις απαιτήσεις της εργασίας. Το Flash TTS τονίζει υποκριτική, σύνθετο διάλογο, δύσκολες προφορές και ευρύτερη κάλυψη διαλέκτων· το Flash-Lite δίνει έμφαση στον ρυθμό παραγωγής για συνηθισμένο προφορικό περιεχόμενο. Οι εκφραστικοί έλεγχοι αφορούν ανθρώπινη ομιλία και φωνητικά συμβάντα. Εφέ περιβάλλοντος, μουσική επένδυση και τελική μίξη παραγωγής μπορούν να σχεδιαστούν ως χωριστά στοιχεία. Η συγγραφή σεναρίου, η μετάφραση και η αναγνώριση ηχογραφημένης ομιλίας παραμένουν διαφορετικά στάδια γύρω από αυτό το μοντέλο κειμένου προς ήχο.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "c29ebb722a71263ccb555ad4b728fcb0c25750c311eab34d5574d9c84d9f0915",
    "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.8 Flash TTS</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemini-3.8-flash-tts</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.8-flash-tts\">Σύνθεση ομιλίας</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.8 Flash TTS δημιουργεί εκφραστική ομιλία για ηχητικά βιβλία, αφήγηση στούντιο και διαλόγους χαρακτήρων. Συνδυάζει κατά λέξη σενάριο με χωριστές οδηγίες ομιλητή και ερμηνείας, ετικέτες στιγμιαίων φωνητικών συμβάντων και κάλυψη 130 γλωσσών, με εστίαση στην προφορά, τις τοπικές προφορές και τη συνέπεια φωνής.</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.8 Flash TTS είναι η βαθμίδα δημιουργικής φωνητικής ερμηνείας της οικογένειας μετατροπής κειμένου σε ομιλία 3.8 της Google. Δίνει έμφαση στην ακουστική πιστότητα, το συναισθηματικό εύρος, τις τοπικές προφορές και τη συνέχεια της φωνής χαρακτήρα σε εκτεταμένο διάλογο. Η Google τονίζει ηχητικά βιβλία, αφήγηση στούντιο, δύσκολη προφορά και σκηνές με ουσιαστική φωνητική υποκριτική. Η έξοδος είναι προφορικός ήχος από προετοιμασμένο σενάριο κειμένου, κατάλληλος για αξιολόγηση ερμηνείας αφηγητή ή τοποθέτηση σεναριακής συνομιλίας δίπλα σε άλλα στοιχεία παραγωγής.</p><p>Ξεκινήστε με τις ακριβείς λέξεις που πρέπει να ακουστούν. Το κείμενο 3.8 αντιμετωπίζεται κατά λέξη, ενώ ο ομιλητής και η διαρκής ερμηνεία ανήκουν σε χωριστά μεταδεδομένα ομιλίας. Δώστε σε κάθε γύρο σαφή ταυτότητα ομιλητή και, όπου είναι χρήσιμο, σύντομη οδηγία ύφους όπως συγκρατημένη ανησυχία ή χαρούμενη περιέργεια. Χωρίστε μια ατάκα σε διαφορετικούς γύρους όταν το συναίσθημα ή ο ρυθμός αλλάζει ουσιαστικά. Αυτό διευκολύνει τον έλεγχο της περιγραφής: το κείμενο περιέχει τον διάλογο και η συνημμένη οδηγία εξηγεί πώς πρέπει να ερμηνευτεί αυτό το μέρος. Συνήθεις γραπτές οδηγίες μέσα στο κείμενο μπορεί να διαβαστούν δυνατά.</p><p>Το φωνητικό σύστημα 3.8 της Google περιλαμβάνει προκατασκευασμένες φωνές, εκτεταμένη βιβλιοθήκη φωνών, σχεδιασμένες περσόνες και αναπαραγόμενες φωνητικές ταυτότητες. Επιλέξτε την υποκείμενη περσόνα πριν εφαρμόσετε προσωρινές αλλαγές ερμηνείας. Σταθερή τοπική προφορά ή ταυτότητα χαρακτήρα ανήκει στην επιλεγμένη φωνή· το πεδίο ύφους ελέγχει την τρέχουσα ερμηνεία. Ο κατασκευαστής συμβουλεύει επαναχρησιμοποίηση αυτής της φωνής με σύντομες οδηγίες αντί για επανάληψη μεγάλων ενοτήτων Audio Profile ή Director’s Notes. Η τεκμηριωμένη διαμόρφωση διαλόγου ενός αιτήματος συνδυάζει έως δύο προκατασκευασμένους ομιλητές. Για σχεδιασμένους ή αναπαραγόμενους χαρακτήρες, ο οδηγός κατευθύνει σε παραγωγή μεμονωμένων γύρων κατά τη συναρμολόγηση διαλόγου πολλών χαρακτήρων.</p><p>Τοποθετήστε σύντομη ανθρώπινη φωνητική εκδήλωση ή παύση στο σχετικό σημείο με ετικέτα σε γωνιακές αγκύλες. Ένα πρωτότυπο παράδειγμα σεναρίου είναι «Νόμιζα ότι είχες φύγει. &lt;short pause&gt; &lt;sigh&gt; Άφησα το φως αναμμένο». Συνδέστε συγκρατημένη εκφορά με ολόκληρο τον γύρο αντί να βάλετε αυτή την οδηγία ανάμεσα στις εκφωνούμενες λέξεις. Η στίξη και τα κεφαλαία βοηθούν στη διατύπωση δισταγμού ή έμφασης σε λέξη. Η Google τεκμηριώνει επίσης αντιδράσεις ακροατή οριοθετημένες με κάθετες γραμμές για αποκρίσεις ακρόασης και επικαλυπτόμενο διάλογο και προσδιορίζει το Flash TTS ως προτιμώμενη έκδοση 3.8 για εντονότερη επικάλυψη. Κρατήστε αυτές τις αντιδράσεις αρκετά σύντομες ώστε ο ακροατής να κατανοεί ακόμη την κύρια ατάκα.</p><p>Ο κατασκευαστής αναφέρει 130 υποστηριζόμενες γλώσσες για το Flash TTS και τονίζει κάλυψη τοπικών και μειονοτικών διαλέκτων. Περιγραφή τοπικής ερμηνείας είναι χρήσιμη για τοπικοποιημένο χαρακτήρα ηχητικού βιβλίου ή αφήγηση της οποίας η προφορά έχει σημασία για το κοινό. Προετοιμάστε το σενάριο στην τελική γλώσσα του, με συνεπή γραφή επαναλαμβανόμενων ονομάτων και σκόπιμη ανάγνωση συντομογραφιών και αριθμών. Ως βήμα επιμέλειας, ξεκινήστε τον ακουστικό έλεγχο με αποσπάσματα που περιέχουν δύσκολα ονόματα, αλλαγές διαλέκτου ή συναισθηματικές μεταβάσεις. Η επιθυμητή προφορά και ο ρυθμός πρέπει να αξιολογούνται στην παραγόμενη φωνή αντί να θεωρούνται δεδομένα μόνο από την ετικέτα γλώσσας.</p><p>Ο οδηγός εξόδου 3.8 διακρίνει ολοκληρωμένα αρχεία από ήχο συνεχούς ροής. Η προεπιλογή ολοκληρωμένου αιτήματος είναι αρχείο WAV με κεφαλίδα RIFF: 24 kHz, μονοφωνικό, προσημασμένο PCM 16 bit little-endian. Η προεπιλογή συνεχούς ροής είναι ακατέργαστο γραμμικό PCM χωρίς κεφαλίδα με τα ίδια χαρακτηριστικά δειγματοληψίας. Ακατέργαστο γραμμικό PCM, mu-law και A-law είναι επίσης τεκμηριωμένες επιλογές κωδικοποίησης. Χρησιμοποιήστε τις πραγματικές πληροφορίες κωδικοποίησης κατά την προετοιμασία αναπαραγωγής ή εισαγωγής αποτελέσματος σε πρόγραμμα επεξεργασίας. Για ακολουθία χωριστών αρχείων διαλόγου, κρατήστε συνεπείς τις μορφές τους και ελέγξτε τις ενώσεις για απότομες αλλαγές στάθμης, ρυθμού ή ήχου περιβάλλοντος χώρου.</p><p>Η ακριβής σελίδα μοντέλου της Google ορίζει όρια εξυπηρέτησης Gemini API 8,192 token εισόδου και 16,384 token εξόδου. Πρόκειται για όρια token, όχι σταθερή διάρκεια ηχητικού βιβλίου ή ακριβή αριθμό δευτερολέπτων ομιλίας. Χωρίστε μεγάλα σενάρια σε νοηματικά όρια και διατηρήστε την επιλεγμένη φωνητική ταυτότητα μεταξύ ενοτήτων. Σε παραγωγή μήκους κεφαλαίου, ακούστε για συνέχεια στις αλλαγές παραγράφων και σκηνών, καθώς και για ακρίβεια λέξεων εντός κάθε τμήματος. Ένας καλός πρακτικός έλεγχος καταγράφει ποιες ατάκες χρειάζονται αναθεώρηση προφοράς ή ερμηνείας αντί να ξαναγράφει όλη τη φωνητική περιγραφή μετά από κάθε λήψη.</p><p>Το Flash TTS και το Flash-Lite TTS μοιράζονται τη δομή προετοιμασίας 3.8, οπότε η επιλογή έκδοσης μπορεί να ακολουθεί τις απαιτήσεις της εργασίας. Το Flash TTS τονίζει υποκριτική, σύνθετο διάλογο, δύσκολες προφορές και ευρύτερη κάλυψη διαλέκτων· το Flash-Lite δίνει έμφαση στον ρυθμό παραγωγής για συνηθισμένο προφορικό περιεχόμενο. Οι εκφραστικοί έλεγχοι αφορούν ανθρώπινη ομιλία και φωνητικά συμβάντα. Εφέ περιβάλλοντος, μουσική επένδυση και τελική μίξη παραγωγής μπορούν να σχεδιαστούν ως χωριστά στοιχεία. Η συγγραφή σεναρίου, η μετάφραση και η αναγνώριση ηχογραφημένης ομιλίας παραμένουν διαφορετικά στάδια γύρω από αυτό το μοντέλο κειμένου προς ήχο.</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.8-flash-tts</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.001</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.018</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-1478-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1478-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-1478-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1478-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.8-flash-tts&#39;, &#39;input&#39;: &#39;${ACTUAL_INPUT_TEXT}&#39;, &#39;voice&#39;: &#39;Zephyr&#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-1479-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1479-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-1479-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1479-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.8-flash-tts&amp;route=Ultra&amp;caller=google%2Fgemini-3.8-flash-tts&amp;fmt=speech\"><code>google/gemini-3.8-flash-tts</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\">Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.</p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=google%2Fgemini-3.8-flash-tts&amp;route=Ultra&amp;caller=google%2Fgemini-3.8-flash-tts&amp;fmt=speech\"><code>google/gemini-3.8-flash-tts</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemini-3.8-flash-tts",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "google/gemini-3.8-flash-tts",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|google%2Fgemini-3.8-flash-tts",
      "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.8-flash-tts"
                ],
                "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.8-flash-tts"
                  ],
                  "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.8-flash-tts",
                "voice": "Zephyr"
              },
              "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.001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000001",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.000018",
                "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.8-flash-tts', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'Zephyr'}\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": 1e-06,
            "output_token": 1.8e-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.001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000001",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.000018",
                "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.8-flash-tts",
        "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.001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000001",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.000018",
            "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.8-flash-tts",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "2059ff013912173be8c053fd1daa0ed3aa80acd235cb41c6b620bfe5284b98f5",
    "input_html_sha256": "ce443794f83e5a1bc93f60f42c07981fd202ccafd2aa833554d97650029850e6",
    "private_audit_sha256": "0a8c9927bfde483a8b1c98edd27c78c7da0c7d70aa35a913eb4d7098340df130",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/google-gemini-3-8-flash-tts/",
    "description": "Το Google Gemini 3.8 Flash TTS δημιουργεί εκφραστική ομιλία για ηχητικά βιβλία, αφήγηση στούντιο και διαλόγους χαρακτήρων. Συνδυάζει κατά λέξη σενάριο με χωριστές οδηγίες ομιλητή και ερμηνείας, ετικέτες στιγμιαίων φωνητικών συμβάντων και κάλυψη 130 γλωσσών, με εστίαση στην προφορά, τις τοπικές προφορές και τη συνέπεια φωνής.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/google-gemini-3-8-flash-tts/index.md",
    "title": "Google: Gemini 3.8 Flash TTS — Ailoot",
    "url": "https://ailoot.ai/models/el/google-gemini-3-8-flash-tts/"
  },
  "rawModel": {
    "about": "Το Google Gemini 3.8 Flash TTS είναι η βαθμίδα δημιουργικής φωνητικής ερμηνείας της οικογένειας μετατροπής κειμένου σε ομιλία 3.8 της Google. Δίνει έμφαση στην ακουστική πιστότητα, το συναισθηματικό εύρος, τις τοπικές προφορές και τη συνέχεια της φωνής χαρακτήρα σε εκτεταμένο διάλογο. Η Google τονίζει ηχητικά βιβλία, αφήγηση στούντιο, δύσκολη προφορά και σκηνές με ουσιαστική φωνητική υποκριτική. Η έξοδος είναι προφορικός ήχος από προετοιμασμένο σενάριο κειμένου, κατάλληλος για αξιολόγηση ερμηνείας αφηγητή ή τοποθέτηση σεναριακής συνομιλίας δίπλα σε άλλα στοιχεία παραγωγής.\n\nΞεκινήστε με τις ακριβείς λέξεις που πρέπει να ακουστούν. Το κείμενο 3.8 αντιμετωπίζεται κατά λέξη, ενώ ο ομιλητής και η διαρκής ερμηνεία ανήκουν σε χωριστά μεταδεδομένα ομιλίας. Δώστε σε κάθε γύρο σαφή ταυτότητα ομιλητή και, όπου είναι χρήσιμο, σύντομη οδηγία ύφους όπως συγκρατημένη ανησυχία ή χαρούμενη περιέργεια. Χωρίστε μια ατάκα σε διαφορετικούς γύρους όταν το συναίσθημα ή ο ρυθμός αλλάζει ουσιαστικά. Αυτό διευκολύνει τον έλεγχο της περιγραφής: το κείμενο περιέχει τον διάλογο και η συνημμένη οδηγία εξηγεί πώς πρέπει να ερμηνευτεί αυτό το μέρος. Συνήθεις γραπτές οδηγίες μέσα στο κείμενο μπορεί να διαβαστούν δυνατά.\n\nΤο φωνητικό σύστημα 3.8 της Google περιλαμβάνει προκατασκευασμένες φωνές, εκτεταμένη βιβλιοθήκη φωνών, σχεδιασμένες περσόνες και αναπαραγόμενες φωνητικές ταυτότητες. Επιλέξτε την υποκείμενη περσόνα πριν εφαρμόσετε προσωρινές αλλαγές ερμηνείας. Σταθερή τοπική προφορά ή ταυτότητα χαρακτήρα ανήκει στην επιλεγμένη φωνή· το πεδίο ύφους ελέγχει την τρέχουσα ερμηνεία. Ο κατασκευαστής συμβουλεύει επαναχρησιμοποίηση αυτής της φωνής με σύντομες οδηγίες αντί για επανάληψη μεγάλων ενοτήτων Audio Profile ή Director’s Notes. Η τεκμηριωμένη διαμόρφωση διαλόγου ενός αιτήματος συνδυάζει έως δύο προκατασκευασμένους ομιλητές. Για σχεδιασμένους ή αναπαραγόμενους χαρακτήρες, ο οδηγός κατευθύνει σε παραγωγή μεμονωμένων γύρων κατά τη συναρμολόγηση διαλόγου πολλών χαρακτήρων.\n\nΤοποθετήστε σύντομη ανθρώπινη φωνητική εκδήλωση ή παύση στο σχετικό σημείο με ετικέτα σε γωνιακές αγκύλες. Ένα πρωτότυπο παράδειγμα σεναρίου είναι «Νόμιζα ότι είχες φύγει. <short pause> <sigh> Άφησα το φως αναμμένο». Συνδέστε συγκρατημένη εκφορά με ολόκληρο τον γύρο αντί να βάλετε αυτή την οδηγία ανάμεσα στις εκφωνούμενες λέξεις. Η στίξη και τα κεφαλαία βοηθούν στη διατύπωση δισταγμού ή έμφασης σε λέξη. Η Google τεκμηριώνει επίσης αντιδράσεις ακροατή οριοθετημένες με κάθετες γραμμές για αποκρίσεις ακρόασης και επικαλυπτόμενο διάλογο και προσδιορίζει το Flash TTS ως προτιμώμενη έκδοση 3.8 για εντονότερη επικάλυψη. Κρατήστε αυτές τις αντιδράσεις αρκετά σύντομες ώστε ο ακροατής να κατανοεί ακόμη την κύρια ατάκα.\n\nΟ κατασκευαστής αναφέρει 130 υποστηριζόμενες γλώσσες για το Flash TTS και τονίζει κάλυψη τοπικών και μειονοτικών διαλέκτων. Περιγραφή τοπικής ερμηνείας είναι χρήσιμη για τοπικοποιημένο χαρακτήρα ηχητικού βιβλίου ή αφήγηση της οποίας η προφορά έχει σημασία για το κοινό. Προετοιμάστε το σενάριο στην τελική γλώσσα του, με συνεπή γραφή επαναλαμβανόμενων ονομάτων και σκόπιμη ανάγνωση συντομογραφιών και αριθμών. Ως βήμα επιμέλειας, ξεκινήστε τον ακουστικό έλεγχο με αποσπάσματα που περιέχουν δύσκολα ονόματα, αλλαγές διαλέκτου ή συναισθηματικές μεταβάσεις. Η επιθυμητή προφορά και ο ρυθμός πρέπει να αξιολογούνται στην παραγόμενη φωνή αντί να θεωρούνται δεδομένα μόνο από την ετικέτα γλώσσας.\n\nΟ οδηγός εξόδου 3.8 διακρίνει ολοκληρωμένα αρχεία από ήχο συνεχούς ροής. Η προεπιλογή ολοκληρωμένου αιτήματος είναι αρχείο WAV με κεφαλίδα RIFF: 24 kHz, μονοφωνικό, προσημασμένο PCM 16 bit little-endian. Η προεπιλογή συνεχούς ροής είναι ακατέργαστο γραμμικό PCM χωρίς κεφαλίδα με τα ίδια χαρακτηριστικά δειγματοληψίας. Ακατέργαστο γραμμικό PCM, mu-law και A-law είναι επίσης τεκμηριωμένες επιλογές κωδικοποίησης. Χρησιμοποιήστε τις πραγματικές πληροφορίες κωδικοποίησης κατά την προετοιμασία αναπαραγωγής ή εισαγωγής αποτελέσματος σε πρόγραμμα επεξεργασίας. Για ακολουθία χωριστών αρχείων διαλόγου, κρατήστε συνεπείς τις μορφές τους και ελέγξτε τις ενώσεις για απότομες αλλαγές στάθμης, ρυθμού ή ήχου περιβάλλοντος χώρου.\n\nΗ ακριβής σελίδα μοντέλου της Google ορίζει όρια εξυπηρέτησης Gemini API 8,192 token εισόδου και 16,384 token εξόδου. Πρόκειται για όρια token, όχι σταθερή διάρκεια ηχητικού βιβλίου ή ακριβή αριθμό δευτερολέπτων ομιλίας. Χωρίστε μεγάλα σενάρια σε νοηματικά όρια και διατηρήστε την επιλεγμένη φωνητική ταυτότητα μεταξύ ενοτήτων. Σε παραγωγή μήκους κεφαλαίου, ακούστε για συνέχεια στις αλλαγές παραγράφων και σκηνών, καθώς και για ακρίβεια λέξεων εντός κάθε τμήματος. Ένας καλός πρακτικός έλεγχος καταγράφει ποιες ατάκες χρειάζονται αναθεώρηση προφοράς ή ερμηνείας αντί να ξαναγράφει όλη τη φωνητική περιγραφή μετά από κάθε λήψη.\n\nΤο Flash TTS και το Flash-Lite TTS μοιράζονται τη δομή προετοιμασίας 3.8, οπότε η επιλογή έκδοσης μπορεί να ακολουθεί τις απαιτήσεις της εργασίας. Το Flash TTS τονίζει υποκριτική, σύνθετο διάλογο, δύσκολες προφορές και ευρύτερη κάλυψη διαλέκτων· το Flash-Lite δίνει έμφαση στον ρυθμό παραγωγής για συνηθισμένο προφορικό περιεχόμενο. Οι εκφραστικοί έλεγχοι αφορούν ανθρώπινη ομιλία και φωνητικά συμβάντα. Εφέ περιβάλλοντος, μουσική επένδυση και τελική μίξη παραγωγής μπορούν να σχεδιαστούν ως χωριστά στοιχεία. Η συγγραφή σεναρίου, η μετάφραση και η αναγνώριση ηχογραφημένης ομιλίας παραμένουν διαφορετικά στάδια γύρω από αυτό το μοντέλο κειμένου προς ήχο.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "capabilities": {
      "context_length": 32768,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000001",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.000018",
            "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.8-flash-tts",
    "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.8-flash-tts"
                ],
                "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.8-flash-tts"
                  ],
                  "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.8-flash-tts",
                "voice": "Zephyr"
              },
              "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.001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000001",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.000018",
                "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.8-flash-tts', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'Zephyr'}\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": 1e-06,
            "output_token": 1.8e-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.001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000001",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.000018",
                "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.8-flash-tts",
        "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.001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000001",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.000018",
            "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.8-flash-tts",
        "request_model_id": "google/gemini-3.8-flash-tts",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemini 3.8 Flash TTS",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.018,
      "out_label": "/ 1K tokens",
      "sort_in": null,
      "sort_out": 0.018,
      "varies": true
    },
    "short": "Το Google Gemini 3.8 Flash TTS δημιουργεί εκφραστική ομιλία για ηχητικά βιβλία, αφήγηση στούντιο και διαλόγους χαρακτήρων. Συνδυάζει κατά λέξη σενάριο με χωριστές οδηγίες ομιλητή και ερμηνείας, ετικέτες στιγμιαίων φωνητικών συμβάντων και κάλυψη 130 γλωσσών, με εστίαση στην προφορά, τις τοπικές προφορές και τη συνέπεια φωνής."
  },
  "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.8 Flash TTS δημιουργεί εκφραστική ομιλία για ηχητικά βιβλία, αφήγηση στούντιο και διαλόγους χαρακτήρων. Συνδυάζει κατά λέξη σενάριο με χωριστές οδηγίες ομιλητή και ερμηνείας, ετικέτες στιγμιαίων φωνητικών συμβάντων και κάλυψη 130 γλωσσών, με εστίαση στην προφορά, τις τοπικές προφορές και τη συνέπεια φωνής.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "9494acdeb809bd5330d267ea9934db1b5262071449bc44d02db14a8c708a5c3e",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "d23fb37dd20064ee517b31d6442e8622b6e7a72074df80b6c1afc654659c6ff3"
}
