{
  "aboutHtml": "<p>Το Gemini 3.8 Flash TTS προορίζεται για εκφραστική φωνητική απόδοση και εκτενή αφήγηση. Η Google δίνει έμφαση στα ηχητικά βιβλία, τους διαλόγους με πολλούς ομιλητές και τη σταθερότητα φωνής σε μεγάλα αποσπάσματα. Ο έλεγχος ομιλίας καλύπτει συναισθηματική εκφορά, ρυθμό και προφορά, συμπεριλαμβανομένων τοπικών προφορών και διαλέκτων.</p><h4>Φωνές και γλώσσες</h4><p>Για το μοντέλο δηλώνονται <strong>130 γλώσσες</strong>, συμπεριλαμβανομένων των ρωσικών. Διατίθενται <strong>30 έτοιμες φωνές</strong>, διευρυμένη βιβλιοθήκη, δημιουργία φωνητικής ταυτότητας από περιγραφή και αναπαραγωγή φωνής από δείγμα. Αυτές οι δυνατότητες επιτρέπουν την επιλογή χροιάς και χαρακτήρα εκτέλεσης για το συγκεκριμένο υλικό.</p><p>Οι ατάκες διαλόγου συνδέονται με ομιλητές. Ένα αίτημα με πολλούς ομιλητές μπορεί να χρησιμοποιεί το πολύ δύο έτοιμες φωνές. Με φωνές που δημιουργούνται από περιγραφή ή δείγμα, οι ατάκες συντίθενται ξεχωριστά· η ύπαρξη τέτοιας φωνής δεν τη μετατρέπει σε επιπλέον έτοιμη φωνή μέσα σε αίτημα πολλών φωνών.</p><h4>Κείμενο και έλεγχος εκφοράς</h4><p>Η είσοδος είναι <strong>κείμενο</strong> και η έξοδος <strong>ήχος</strong>. Τα όρια είναι <strong>8 192 token εισόδου</strong> και <strong>16 384 token εξόδου</strong>. Το κείμενο ερμηνεύεται ως εκφωνούμενη ατάκα· η περιγραφή ύφους και ο επιλεγμένος ομιλητής καθορίζονται χωριστά. Αυτό επιτρέπει τον διαχωρισμό των λέξεων που πρέπει να ακουστούν από τις οδηγίες για τον τρόπο ανάγνωσής τους.</p><p>Το ύφος καλύπτει συναίσθημα, ρυθμό, ένταση και προσωδία. Σύντομα συμβάντα — γέλιο, αναστεναγμός, παύση — ορίζονται με ειδικές ετικέτες ήχου μέσα στην ατάκα. Αυτές οι ετικέτες ελέγχουν την εκτέλεση και δεν αποτελούν κανονικές λέξεις προς ανάγνωση.</p><h4>Μορφές ήχου και δυνατότητες</h4><p>Στην κανονική δημιουργία επιστρέφεται από προεπιλογή <strong>WAV</strong>. Για μετάδοση σε ροή χρησιμοποιείται από προεπιλογή <strong>PCM χωρίς κεφαλίδα</strong>. Οι αρχικές παράμετροι είναι <strong>24 kHz, ένα κανάλι και 16 bit</strong>. Προβλέπονται επίσης PCM, mu-law και A-law. Υποστηρίζονται προσωρινή αποθήκευση συμφραζομένων και μαζική επεξεργασία. Η συγκεκριμένη μορφή αρχείου και οι διαθέσιμες ρυθμίσεις εξαρτώνται από την επιλεγμένη μέθοδο ομιλίας.</p><p>Το μοντέλο ειδικεύεται στη δημιουργία ομιλίας. Δεν υποστηρίζονται κλήσεις συναρτήσεων, εκτέλεση κώδικα, αναζήτηση σε αρχεία, τεκμηρίωση μέσω αναζήτησης, Google Maps, δημιουργία εικόνων, δομημένες απαντήσεις κειμένου, Thinking και περιεχόμενο διευθύνσεων ιστού. Η σταθερή φωνή και η ελεγχόμενη εκφραστικότητα είναι δηλωμένες κατευθύνσεις του μοντέλου, όχι υπόσχεση τέλειας προφοράς κάθε ατάκας.</p>",
  "aboutText": "Το Gemini 3.8 Flash TTS προορίζεται για εκφραστική φωνητική απόδοση και εκτενή αφήγηση. Η Google δίνει έμφαση στα ηχητικά βιβλία, τους διαλόγους με πολλούς ομιλητές και τη σταθερότητα φωνής σε μεγάλα αποσπάσματα. Ο έλεγχος ομιλίας καλύπτει συναισθηματική εκφορά, ρυθμό και προφορά, συμπεριλαμβανομένων τοπικών προφορών και διαλέκτων.\n\n### Φωνές και γλώσσες\n\nΓια το μοντέλο δηλώνονται **130 γλώσσες**, συμπεριλαμβανομένων των ρωσικών. Διατίθενται **30 έτοιμες φωνές**, διευρυμένη βιβλιοθήκη, δημιουργία φωνητικής ταυτότητας από περιγραφή και αναπαραγωγή φωνής από δείγμα. Αυτές οι δυνατότητες επιτρέπουν την επιλογή χροιάς και χαρακτήρα εκτέλεσης για το συγκεκριμένο υλικό.\n\nΟι ατάκες διαλόγου συνδέονται με ομιλητές. Ένα αίτημα με πολλούς ομιλητές μπορεί να χρησιμοποιεί το πολύ δύο έτοιμες φωνές. Με φωνές που δημιουργούνται από περιγραφή ή δείγμα, οι ατάκες συντίθενται ξεχωριστά· η ύπαρξη τέτοιας φωνής δεν τη μετατρέπει σε επιπλέον έτοιμη φωνή μέσα σε αίτημα πολλών φωνών.\n\n### Κείμενο και έλεγχος εκφοράς\n\nΗ είσοδος είναι **κείμενο** και η έξοδος **ήχος**. Τα όρια είναι **8 192 token εισόδου** και **16 384 token εξόδου**. Το κείμενο ερμηνεύεται ως εκφωνούμενη ατάκα· η περιγραφή ύφους και ο επιλεγμένος ομιλητής καθορίζονται χωριστά. Αυτό επιτρέπει τον διαχωρισμό των λέξεων που πρέπει να ακουστούν από τις οδηγίες για τον τρόπο ανάγνωσής τους.\n\nΤο ύφος καλύπτει συναίσθημα, ρυθμό, ένταση και προσωδία. Σύντομα συμβάντα — γέλιο, αναστεναγμός, παύση — ορίζονται με ειδικές ετικέτες ήχου μέσα στην ατάκα. Αυτές οι ετικέτες ελέγχουν την εκτέλεση και δεν αποτελούν κανονικές λέξεις προς ανάγνωση.\n\n### Μορφές ήχου και δυνατότητες\n\nΣτην κανονική δημιουργία επιστρέφεται από προεπιλογή **WAV**. Για μετάδοση σε ροή χρησιμοποιείται από προεπιλογή **PCM χωρίς κεφαλίδα**. Οι αρχικές παράμετροι είναι **24 kHz, ένα κανάλι και 16 bit**. Προβλέπονται επίσης PCM, mu-law και A-law. Υποστηρίζονται προσωρινή αποθήκευση συμφραζομένων και μαζική επεξεργασία. Η συγκεκριμένη μορφή αρχείου και οι διαθέσιμες ρυθμίσεις εξαρτώνται από την επιλεγμένη μέθοδο ομιλίας.\n\nΤο μοντέλο ειδικεύεται στη δημιουργία ομιλίας. Δεν υποστηρίζονται κλήσεις συναρτήσεων, εκτέλεση κώδικα, αναζήτηση σε αρχεία, τεκμηρίωση μέσω αναζήτησης, Google Maps, δημιουργία εικόνων, δομημένες απαντήσεις κειμένου, Thinking και περιεχόμενο διευθύνσεων ιστού. Η σταθερή φωνή και η ελεγχόμενη εκφραστικότητα είναι δηλωμένες κατευθύνσεις του μοντέλου, όχι υπόσχεση τέλειας προφοράς κάθε ατάκας.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "34c9123103e83d9757a027979b97d6a1c3c94c15168bdc3a52231da29c4dde35",
    "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\">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>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=\"Core|speech|/v1/audio/speech|gemini-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 για εκφραστική φωνητική απόδοση, ηχητικά βιβλία και διαλόγους με έλεγχο φωνής και υποστήριξη 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>Το Gemini 3.8 Flash TTS προορίζεται για εκφραστική φωνητική απόδοση και εκτενή αφήγηση. Η Google δίνει έμφαση στα ηχητικά βιβλία, τους διαλόγους με πολλούς ομιλητές και τη σταθερότητα φωνής σε μεγάλα αποσπάσματα. Ο έλεγχος ομιλίας καλύπτει συναισθηματική εκφορά, ρυθμό και προφορά, συμπεριλαμβανομένων τοπικών προφορών και διαλέκτων.</p><h4>Φωνές και γλώσσες</h4><p>Για το μοντέλο δηλώνονται <strong>130 γλώσσες</strong>, συμπεριλαμβανομένων των ρωσικών. Διατίθενται <strong>30 έτοιμες φωνές</strong>, διευρυμένη βιβλιοθήκη, δημιουργία φωνητικής ταυτότητας από περιγραφή και αναπαραγωγή φωνής από δείγμα. Αυτές οι δυνατότητες επιτρέπουν την επιλογή χροιάς και χαρακτήρα εκτέλεσης για το συγκεκριμένο υλικό.</p><p>Οι ατάκες διαλόγου συνδέονται με ομιλητές. Ένα αίτημα με πολλούς ομιλητές μπορεί να χρησιμοποιεί το πολύ δύο έτοιμες φωνές. Με φωνές που δημιουργούνται από περιγραφή ή δείγμα, οι ατάκες συντίθενται ξεχωριστά· η ύπαρξη τέτοιας φωνής δεν τη μετατρέπει σε επιπλέον έτοιμη φωνή μέσα σε αίτημα πολλών φωνών.</p><h4>Κείμενο και έλεγχος εκφοράς</h4><p>Η είσοδος είναι <strong>κείμενο</strong> και η έξοδος <strong>ήχος</strong>. Τα όρια είναι <strong>8 192 token εισόδου</strong> και <strong>16 384 token εξόδου</strong>. Το κείμενο ερμηνεύεται ως εκφωνούμενη ατάκα· η περιγραφή ύφους και ο επιλεγμένος ομιλητής καθορίζονται χωριστά. Αυτό επιτρέπει τον διαχωρισμό των λέξεων που πρέπει να ακουστούν από τις οδηγίες για τον τρόπο ανάγνωσής τους.</p><p>Το ύφος καλύπτει συναίσθημα, ρυθμό, ένταση και προσωδία. Σύντομα συμβάντα — γέλιο, αναστεναγμός, παύση — ορίζονται με ειδικές ετικέτες ήχου μέσα στην ατάκα. Αυτές οι ετικέτες ελέγχουν την εκτέλεση και δεν αποτελούν κανονικές λέξεις προς ανάγνωση.</p><h4>Μορφές ήχου και δυνατότητες</h4><p>Στην κανονική δημιουργία επιστρέφεται από προεπιλογή <strong>WAV</strong>. Για μετάδοση σε ροή χρησιμοποιείται από προεπιλογή <strong>PCM χωρίς κεφαλίδα</strong>. Οι αρχικές παράμετροι είναι <strong>24 kHz, ένα κανάλι και 16 bit</strong>. Προβλέπονται επίσης PCM, mu-law και A-law. Υποστηρίζονται προσωρινή αποθήκευση συμφραζομένων και μαζική επεξεργασία. Η συγκεκριμένη μορφή αρχείου και οι διαθέσιμες ρυθμίσεις εξαρτώνται από την επιλεγμένη μέθοδο ομιλίας.</p><p>Το μοντέλο ειδικεύεται στη δημιουργία ομιλίας. Δεν υποστηρίζονται κλήσεις συναρτήσεων, εκτέλεση κώδικα, αναζήτηση σε αρχεία, τεκμηρίωση μέσω αναζήτησης, Google Maps, δημιουργία εικόνων, δομημένες απαντήσεις κειμένου, Thinking και περιεχόμενο διευθύνσεων ιστού. Η σταθερή φωνή και η ελεγχόμενη εκφραστικότητα είναι δηλωμένες κατευθύνσεις του μοντέλου, όχι υπόσχεση τέλειας προφοράς κάθε ατάκας.</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 · Σύνθεση ομιλίας</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><div><dt>Παράθυρο συμφραζομένων</dt><dd>8.192 tokens</dd></div><div><dt>Μέγιστη έξοδος</dt><dd>16.384 tokens</dd></div><div><dt>Μορφή εξόδου</dt><dd>εγγενή byte ήχου ή σύνδεσμοι αρχείων πολυμέσων σε JSON</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Πεδίο</th><th>Τύπος</th><th>Απαίτηση</th><th>Τιμές και όρια</th><th>Προεπιλογή</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">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>gemini-3.8-flash-tts</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">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 data-parameter-availability=\"source_interface\"><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>Achernar, Achird, Algenib, Algieba, Alnilam, Aoede, Arlo, Autonoe, Bodi, Brio, Callirrhoe, Charon, Cleo, Cruz, Daro, Despina, Elio, Enceladus, Enya, Enzo, Erinome, Fenrir, Finn, Fola, Gacrux, Gero, Hali, Iapetus, Jett, Jori, Kira, Knox, Koda, Kore, Laomedeia, Leda, Lora, Ludo, Lumi, Mako, Milo, Neno, Nika, Nyla, Olin, Orus, Puck, Pulcherrima, Rami, Rasalgethi, Riko, Rina, Sadachbia, Sadaltager, Sami, Schedar, Sola, Sulafat, Tari, Tavi, Tova, Umbriel, Varo, Veda, Vindemiatrix, Zali, Zeno, Zephyr, Zubenelgenubi, Zuri</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"known\"><span class=\"card-cell-label\">Προεπιλογή</span>Kore</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">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>, wav, json</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"known\"><span class=\"card-cell-label\">Προεπιλογή</span></td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">stream_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>audio</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Συνδυασμοί υλικών εισόδου</summary><p class=\"note-s\"><b>text_to_speech</b> · Υποχρεωτικό: input</p></details><details class=\"note-s\" data-method-contract><summary>Παράμετροι και κύκλος ζωής μεθόδου</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Παράμετρος</th><th>Σύμβαση</th></tr></thead><tbody><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>material_types</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>text</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>required</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>null</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>optional_controls</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>null</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><p class=\"note-s\">Οι δομές και τα ID των μεθόδων είναι ακριβή· η δυνατότητα του προμηθευτή είναι ξεχωριστή από την αποδοχή αιτημάτων.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Τιμολόγηση</h3><h4>Χρεώσεις μεθόδων Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Σύνθεση ομιλίας</b><code>POST /v1/audio/speech</code></header><dl><div><dt>Είσοδος</dt><dd>0,0005 $ <em>/ 1K</em></dd></div><div><dt>Έξοδος</dt><dd>0,009 $ <em>/ 1K</em></dd></div><div><dt>Ανάγνωση από την κρυφή μνήμη</dt><dd>0,000125 $ <em>/ 1K</em></dd></div></dl></section><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 · Σύνθεση ομιλίας</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-351-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-351-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-351-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-351-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;gemini-3.8-flash-tts&quot;, &quot;input&quot;: &quot;&quot;}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;input&quot;]=text\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/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 speech.wav\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Λήψη και αποθήκευση αποτελεσμάτων</h3><h4>Ailoot · Σύνθεση ομιλίας</h4><p class=\"note-s\">εγγενή byte ήχου ή σύνδεσμοι αρχείων πολυμέσων σε JSON</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><div class=\"card-result-process\" data-all-results><h5>Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα</h5><p class=\"note-s\">Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.</p><p class=\"note-s\">Η μία έξοδος επιστρέφει από προεπιλογή εγγενή byte ήχου με τον πραγματικό Content-Type· το response_format=json ή οι πολλαπλές έξοδοι επιστρέφουν όλους τους συνδέσμους που σας ανήκουν. Δεν εκτελείται ζητούμενη μετατροπή σε MP3/Opus/AAC/FLAC/PCM ή SSE.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Αν χρειάζεται έλεγχος της αρχικής απάντησης</h5><p class=\"note-s\">Διατηρήστε το αρχικό operation_id/X-Client-Request-ID για τη συμφωνία των εγγραφών χωρίς νέα υποβολή· δεν υπάρχει ειδική διαδρομή περιοδικού ελέγχου για τον ήχο.</p></div><details class=\"card-about\" data-output-fields><summary>Πεδία απάντησης</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Πεδίο</th><th>Τύπος</th></tr></thead><tbody><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">binary native audio</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>bytes</td></tr><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>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">response_id</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">actual_count</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>integer</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>owned audio asset link</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Σφάλματα και επόμενα βήματα</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Απάντηση</th><th>Συνθήκη</th><th>Επόμενο βήμα</th></tr></thead><tbody><tr><th data-cell-label=\"Απάντηση\" scope=\"row\"><span class=\"card-cell-label\">Απάντηση</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Συνθήκη\"><span class=\"card-cell-label\">Συνθήκη</span>Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου</td><td data-cell-label=\"Επόμενο βήμα\"><span class=\"card-cell-label\">Επόμενο βήμα</span>Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.</td></tr><tr><th data-cell-label=\"Απάντηση\" scope=\"row\"><span class=\"card-cell-label\">Απάντηση</span><code>server_error</code></th><td data-cell-label=\"Συνθήκη\"><span class=\"card-cell-label\">Συνθήκη</span>Η απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο</td><td data-cell-label=\"Επόμενο βήμα\"><span class=\"card-cell-label\">Επόμενο βήμα</span>Διατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Εναλλακτικά ονόματα</h3><h4>Εναλλακτικά ονόματα μοντέλου</h4><p class=\"note-s\"><span data-model-alias-route=\"Core\"><b>Ailoot</b> <a href=\"#m=gemini-3.8-flash-tts&amp;route=Core&amp;caller=gemini-3.8-flash-tts&amp;fmt=speech\"><code>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=gemini-3.8-flash-tts&amp;route=Core&amp;caller=gemini-3.8-flash-tts&amp;fmt=speech\"><code>gemini-3.8-flash-tts</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "gemini-3.8-flash-tts",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "gemini-3.8-flash-tts",
        "route_label": "Core"
      },
      "method_key": "Core|speech|/v1/audio/speech|gemini-3.8-flash-tts",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": 0.125,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "A single output defaults to native audio bytes with actualContent-Type; response_format=json or multiple outputs returns all owned links. No requested MP3/Opus/AAC/FLAC/PCM conversion or SSE.",
            "errors": [
              {
                "code": null,
                "condition": "Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου",
                "http_status": 400,
                "recovery": "Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Η απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο",
                "http_status": null,
                "recovery": "Διατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "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": "Διατηρήστε το αρχικό operation_id/X-Client-Request-ID για τη συμφωνία των εγγραφών χωρίς νέα υποβολή· δεν υπάρχει ειδική διαδρομή περιοδικού ελέγχου για τον ήχο."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "input"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_speech"
            ],
            "outputs": {
              "all_results": "Η μία έξοδος επιστρέφει από προεπιλογή εγγενή byte ήχου με τον πραγματικό Content-Type· το response_format=json ή οι πολλαπλές έξοδοι επιστρέφουν όλους τους συνδέσμους που σας ανήκουν. Δεν εκτελείται ζητούμενη μετατροπή σε MP3/Opus/AAC/FLAC/PCM ή SSE.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary native audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "response_id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "actual_count",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "owned audio asset link"
                }
              ],
              "format": "εγγενή byte ήχου ή σύνδεσμοι αρχείων πολυμέσων σε JSON"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "gemini-3.8-flash-tts"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "Kore",
                "default_known": true,
                "enum": [
                  "Achernar",
                  "Achird",
                  "Algenib",
                  "Algieba",
                  "Alnilam",
                  "Aoede",
                  "Arlo",
                  "Autonoe",
                  "Bodi",
                  "Brio",
                  "Callirrhoe",
                  "Charon",
                  "Cleo",
                  "Cruz",
                  "Daro",
                  "Despina",
                  "Elio",
                  "Enceladus",
                  "Enya",
                  "Enzo",
                  "Erinome",
                  "Fenrir",
                  "Finn",
                  "Fola",
                  "Gacrux",
                  "Gero",
                  "Hali",
                  "Iapetus",
                  "Jett",
                  "Jori",
                  "Kira",
                  "Knox",
                  "Koda",
                  "Kore",
                  "Laomedeia",
                  "Leda",
                  "Lora",
                  "Ludo",
                  "Lumi",
                  "Mako",
                  "Milo",
                  "Neno",
                  "Nika",
                  "Nyla",
                  "Olin",
                  "Orus",
                  "Puck",
                  "Pulcherrima",
                  "Rami",
                  "Rasalgethi",
                  "Riko",
                  "Rina",
                  "Sadachbia",
                  "Sadaltager",
                  "Sami",
                  "Schedar",
                  "Sola",
                  "Sulafat",
                  "Tari",
                  "Tavi",
                  "Tova",
                  "Umbriel",
                  "Varo",
                  "Veda",
                  "Vindemiatrix",
                  "Zali",
                  "Zeno",
                  "Zephyr",
                  "Zubenelgenubi",
                  "Zuri"
                ],
                "enum_known": true,
                "name": "voice",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "",
                "default_known": true,
                "enum": [
                  "",
                  "wav",
                  "json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "audio"
                ],
                "enum_known": true,
                "name": "stream_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "SSE",
              "mp3/opus/aac/flac/pcm requestedtranscoding"
            ]
          },
          "hints": [
            "Οι δομές και τα ID των μεθόδων είναι ακριβή· η δυνατότητα του προμηθευτή είναι ξεχωριστή από την αποδοχή αιτημάτων."
          ],
          "input": {
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": null
          },
          "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": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "operation_modes": [
            "audio_speech"
          ],
          "output": {
            "family": [
              "audio"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 8192,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"gemini-3.8-flash-tts\", \"input\": \"\"}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=text\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o speech.wav\n",
            "label": "Synthesize your actual script",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.5,
        "input": [
          "text"
        ],
        "label": "Σύνθεση ομιλίας",
        "max_out": 16384,
        "max_tool_calls": null,
        "out": 9,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.5,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 9,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              },
              {
                "amount": 0.125,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_read",
                "label": "Cache read",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "gemini-3.8-flash-tts",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    }
  ],
  "model_id": "gemini-3.8-flash-tts",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "816b7d935447b50d86e6e80fc21ad3d340b76d125f93afbf7cca8170a41fd6c4",
    "input_html_sha256": "eec9833cd6d55fdc84bb68e7462ad32393a414d15d4858bd8e430ad4fbc05091",
    "private_audit_sha256": "40c596199be1cd433457e252b7afc7db27ada6079cf5cd4c4d32d2ec2b25f079",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/gemini-3-8-flash-tts/",
    "description": "Μοντέλο ομιλίας της Google για εκφραστική φωνητική απόδοση, ηχητικά βιβλία και διαλόγους με έλεγχο φωνής και υποστήριξη 130 γλωσσών.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/gemini-3-8-flash-tts/index.md",
    "title": "Gemini 3.8 Flash Tts — Ailoot",
    "url": "https://ailoot.ai/models/el/gemini-3-8-flash-tts/"
  },
  "rawModel": {
    "about": "Το Gemini 3.8 Flash TTS προορίζεται για εκφραστική φωνητική απόδοση και εκτενή αφήγηση. Η Google δίνει έμφαση στα ηχητικά βιβλία, τους διαλόγους με πολλούς ομιλητές και τη σταθερότητα φωνής σε μεγάλα αποσπάσματα. Ο έλεγχος ομιλίας καλύπτει συναισθηματική εκφορά, ρυθμό και προφορά, συμπεριλαμβανομένων τοπικών προφορών και διαλέκτων.\n\n### Φωνές και γλώσσες\n\nΓια το μοντέλο δηλώνονται **130 γλώσσες**, συμπεριλαμβανομένων των ρωσικών. Διατίθενται **30 έτοιμες φωνές**, διευρυμένη βιβλιοθήκη, δημιουργία φωνητικής ταυτότητας από περιγραφή και αναπαραγωγή φωνής από δείγμα. Αυτές οι δυνατότητες επιτρέπουν την επιλογή χροιάς και χαρακτήρα εκτέλεσης για το συγκεκριμένο υλικό.\n\nΟι ατάκες διαλόγου συνδέονται με ομιλητές. Ένα αίτημα με πολλούς ομιλητές μπορεί να χρησιμοποιεί το πολύ δύο έτοιμες φωνές. Με φωνές που δημιουργούνται από περιγραφή ή δείγμα, οι ατάκες συντίθενται ξεχωριστά· η ύπαρξη τέτοιας φωνής δεν τη μετατρέπει σε επιπλέον έτοιμη φωνή μέσα σε αίτημα πολλών φωνών.\n\n### Κείμενο και έλεγχος εκφοράς\n\nΗ είσοδος είναι **κείμενο** και η έξοδος **ήχος**. Τα όρια είναι **8 192 token εισόδου** και **16 384 token εξόδου**. Το κείμενο ερμηνεύεται ως εκφωνούμενη ατάκα· η περιγραφή ύφους και ο επιλεγμένος ομιλητής καθορίζονται χωριστά. Αυτό επιτρέπει τον διαχωρισμό των λέξεων που πρέπει να ακουστούν από τις οδηγίες για τον τρόπο ανάγνωσής τους.\n\nΤο ύφος καλύπτει συναίσθημα, ρυθμό, ένταση και προσωδία. Σύντομα συμβάντα — γέλιο, αναστεναγμός, παύση — ορίζονται με ειδικές ετικέτες ήχου μέσα στην ατάκα. Αυτές οι ετικέτες ελέγχουν την εκτέλεση και δεν αποτελούν κανονικές λέξεις προς ανάγνωση.\n\n### Μορφές ήχου και δυνατότητες\n\nΣτην κανονική δημιουργία επιστρέφεται από προεπιλογή **WAV**. Για μετάδοση σε ροή χρησιμοποιείται από προεπιλογή **PCM χωρίς κεφαλίδα**. Οι αρχικές παράμετροι είναι **24 kHz, ένα κανάλι και 16 bit**. Προβλέπονται επίσης PCM, mu-law και A-law. Υποστηρίζονται προσωρινή αποθήκευση συμφραζομένων και μαζική επεξεργασία. Η συγκεκριμένη μορφή αρχείου και οι διαθέσιμες ρυθμίσεις εξαρτώνται από την επιλεγμένη μέθοδο ομιλίας.\n\nΤο μοντέλο ειδικεύεται στη δημιουργία ομιλίας. Δεν υποστηρίζονται κλήσεις συναρτήσεων, εκτέλεση κώδικα, αναζήτηση σε αρχεία, τεκμηρίωση μέσω αναζήτησης, Google Maps, δημιουργία εικόνων, δομημένες απαντήσεις κειμένου, Thinking και περιεχόμενο διευθύνσεων ιστού. Η σταθερή φωνή και η ελεγχόμενη εκφραστικότητα είναι δηλωμένες κατευθύνσεις του μοντέλου, όχι υπόσχεση τέλειας προφοράς κάθε ατάκας.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "ctx": 8192,
    "formats": [
      "speech"
    ],
    "id": "gemini-3.8-flash-tts",
    "input": [
      "text"
    ],
    "kind": "speech",
    "max_out": 16384,
    "methods": [
      {
        "cache_read": 0.125,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "A single output defaults to native audio bytes with actualContent-Type; response_format=json or multiple outputs returns all owned links. No requested MP3/Opus/AAC/FLAC/PCM conversion or SSE.",
            "errors": [
              {
                "code": null,
                "condition": "Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου",
                "http_status": 400,
                "recovery": "Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Η απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο",
                "http_status": null,
                "recovery": "Διατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "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": "Διατηρήστε το αρχικό operation_id/X-Client-Request-ID για τη συμφωνία των εγγραφών χωρίς νέα υποβολή· δεν υπάρχει ειδική διαδρομή περιοδικού ελέγχου για τον ήχο."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "input"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_speech"
            ],
            "outputs": {
              "all_results": "Η μία έξοδος επιστρέφει από προεπιλογή εγγενή byte ήχου με τον πραγματικό Content-Type· το response_format=json ή οι πολλαπλές έξοδοι επιστρέφουν όλους τους συνδέσμους που σας ανήκουν. Δεν εκτελείται ζητούμενη μετατροπή σε MP3/Opus/AAC/FLAC/PCM ή SSE.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary native audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "response_id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "actual_count",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "owned audio asset link"
                }
              ],
              "format": "εγγενή byte ήχου ή σύνδεσμοι αρχείων πολυμέσων σε JSON"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "gemini-3.8-flash-tts"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "Kore",
                "default_known": true,
                "enum": [
                  "Achernar",
                  "Achird",
                  "Algenib",
                  "Algieba",
                  "Alnilam",
                  "Aoede",
                  "Arlo",
                  "Autonoe",
                  "Bodi",
                  "Brio",
                  "Callirrhoe",
                  "Charon",
                  "Cleo",
                  "Cruz",
                  "Daro",
                  "Despina",
                  "Elio",
                  "Enceladus",
                  "Enya",
                  "Enzo",
                  "Erinome",
                  "Fenrir",
                  "Finn",
                  "Fola",
                  "Gacrux",
                  "Gero",
                  "Hali",
                  "Iapetus",
                  "Jett",
                  "Jori",
                  "Kira",
                  "Knox",
                  "Koda",
                  "Kore",
                  "Laomedeia",
                  "Leda",
                  "Lora",
                  "Ludo",
                  "Lumi",
                  "Mako",
                  "Milo",
                  "Neno",
                  "Nika",
                  "Nyla",
                  "Olin",
                  "Orus",
                  "Puck",
                  "Pulcherrima",
                  "Rami",
                  "Rasalgethi",
                  "Riko",
                  "Rina",
                  "Sadachbia",
                  "Sadaltager",
                  "Sami",
                  "Schedar",
                  "Sola",
                  "Sulafat",
                  "Tari",
                  "Tavi",
                  "Tova",
                  "Umbriel",
                  "Varo",
                  "Veda",
                  "Vindemiatrix",
                  "Zali",
                  "Zeno",
                  "Zephyr",
                  "Zubenelgenubi",
                  "Zuri"
                ],
                "enum_known": true,
                "name": "voice",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "",
                "default_known": true,
                "enum": [
                  "",
                  "wav",
                  "json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "audio"
                ],
                "enum_known": true,
                "name": "stream_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "SSE",
              "mp3/opus/aac/flac/pcm requestedtranscoding"
            ]
          },
          "hints": [
            "Οι δομές και τα ID των μεθόδων είναι ακριβή· η δυνατότητα του προμηθευτή είναι ξεχωριστή από την αποδοχή αιτημάτων."
          ],
          "input": {
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": null
          },
          "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": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "operation_modes": [
            "audio_speech"
          ],
          "output": {
            "family": [
              "audio"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 8192,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"gemini-3.8-flash-tts\", \"input\": \"\"}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=text\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o speech.wav\n",
            "label": "Synthesize your actual script",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.5,
        "input": [
          "text"
        ],
        "label": "Σύνθεση ομιλίας",
        "max_out": 16384,
        "max_tool_calls": null,
        "out": 9,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.5,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 9,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              },
              {
                "amount": 0.125,
                "amount_unit": "usd_per_million_tokens",
                "key": "cache_read",
                "label": "Cache read",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "gemini-3.8-flash-tts",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "gemini-3.8-flash-tts",
        "request_model_id": "gemini-3.8-flash-tts",
        "route_label": "Core"
      }
    ],
    "name": "Gemini 3.8 Flash Tts",
    "price": {
      "in": 0.5,
      "in_label": null,
      "out": 9,
      "out_label": null,
      "sort_in": 0.5,
      "sort_out": 9,
      "varies": false
    },
    "short": "Μοντέλο ομιλίας της Google για εκφραστική φωνητική απόδοση, ηχητικά βιβλία και διαλόγους με έλεγχο φωνής και υποστήριξη 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 για εκφραστική φωνητική απόδοση, ηχητικά βιβλία και διαλόγους με έλεγχο φωνής και υποστήριξη 130 γλωσσών.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "c07977b847d1ca198cfacb02dc9644d60a7b1a961448dfb9f11b79ed5f837b2a",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "807db8cd1d8c721b123986e6a85d47968b13ac119499cde4b2ffab61b6325a64"
}
