{
  "aboutHtml": "<h4>Φράσεις για φωνητικές διαδικασίες</h4><p>Το Speech 2.6 Turbo είναι παραλλαγή σύνθεσης ομιλίας με έμφαση στην ταχύτητα. Ο κατασκευαστής το περιγράφει για φωνητικούς βοηθούς και διαδραστικά σενάρια όπου το κείμενο μετατρέπεται σταδιακά σε απάντηση. Το μοντέλο διατηρεί τους φυσικούς επιτονισμούς της γενιάς Speech 2.6 και μπορεί να επεξεργάζεται ειδικές μορφές γραφής.</p><h4>Κείμενο που πρέπει να εκφωνηθεί σωστά</h4><p>Το μοντέλο έχει σχεδιαστεί για ανάγνωση ημερομηνιών, τηλεφώνων, χρηματικών ποσών, διευθύνσεων σελίδων και ηλεκτρονικού ταχυδρομείου χωρίς να χρειάζεται προηγουμένως χειροκίνητη μεταγραφή κάθε στοιχείου. Αυτό είναι χρήσιμο σε δυναμικά μηνύματα όπου αριθμοί και σύμβολα συνυπάρχουν με συνηθισμένες λέξεις. Ο κατασκευαστής περιγράφει την επεξεργασία αυτών των μορφών σε πολλές γλώσσες.</p><h4>Ροή και έλεγχος συναισθήματος</h4><p>Το Speech 2.6 υποστηρίζει Fluent LoRA: διατήρηση αναγνωρίσιμης χροιάς με πιο ομαλή εκφώνηση του κειμένου. Η δυνατότητα αφορά τη χρήση ήδη προετοιμασμένης φωνής· η χωριστή προετοιμασία κλώνου δεν αποτελεί μέρος ενός συνηθισμένου αιτήματος κειμένου. Η οικογένεια περιλαμβάνει <strong>40 γλώσσες</strong>, συμπεριλαμβανομένων των ρωσικών.</p><p>Για το Turbo προβλέπονται επτά βασικά συναισθήματα και οι πρόσθετες λειτουργίες <code>fluent</code> και <code>whisper</code>. Το μοντέλο μπορεί να επιλέγει τη συναισθηματική απόδοση από το περιεχόμενο ή να χρησιμοποιεί ορισμένη κατάσταση. Το βάθος και ο ρυθμός της φωνής μπορούν να μεταβάλλονται ανεξάρτητα από το κείμενο.</p><h4>Φωνή, παύσεις και προφορά</h4><p>Η MiniMax προβλέπει επιλογή φωνής και έλεγχο ταχύτητας, έντασης και τονικού ύψους. Η ταχύτητα ορίζεται στο εύρος <strong>0,5–2</strong>, η ένταση πάνω από 0 και έως <strong>10</strong>, και η μεταβολή του τονικού ύψους από <strong>−12 έως 12</strong>. Το συναίσθημα μπορεί να επιλέγεται από το μοντέλο βάσει του νοήματος του κειμένου ή να ορίζεται χειροκίνητα: χαρά, λύπη, θυμός, φόβος, αποστροφή, έκπληξη ή ηρεμία.</p><p>Η προφορά μπορεί να διευκρινίζεται με λεξικό αντικαταστάσεων και φωνητική γραφή· προβλέπονται το Διεθνές Φωνητικό Αλφάβητο, το κινεζικό πινγίν και ιαπωνικές παραλλαγές ανάγνωσης. Οι παύσεις τοποθετούνται μεταξύ εκφωνούμενων τμημάτων στο εύρος <strong>0,01–99,99 δευτερολέπτων</strong>. Η διάρκειά τους ορίζεται με ακρίβεια δύο δεκαδικών ψηφίων· οι δείκτες τοποθετούνται μεταξύ εκφωνούμενων τμημάτων και όχι διαδοχικά. Αυτές οι ρυθμίσεις βοηθούν να προσαρμόζεται η εκφώνηση ονομάτων, συντομογραφιών και αμφίσημων λέξεων στον σκοπό της αφήγησης.</p><h4>Λήψη ήχου</h4><p>Η σύνθεση δέχεται κείμενο με λιγότερους από <strong>10 000 χαρακτήρες</strong>. Για μεγάλα κείμενα πάνω από 3000 χαρακτήρες, ο κατασκευαστής συνιστά έξοδο σε ροή· προβλέπεται επίσης λήψη του ολοκληρωμένου ήχου ως συνόλου. Οι γενικές ρυθμίσεις σύνθεσης περιλαμβάνουν MP3, PCM, FLAC, WAV, Opus και παραλλαγές G.711 μ-law, μονοφωνικό ή στερεοφωνικό ήχο· οι διαθέσιμες μορφές ενός συγκεκριμένου αιτήματος καθορίζονται από τις δυνατότητες της Ailoot.</p><p>Σε αυτή την κάρτα Ailoot, το κείμενο μετατρέπεται σε ήχο ομιλίας. Ο προσανατολισμός του Turbo συνδέεται με την ταχύτητα σύνθεσης, αλλά δεν υπόσχεται συγκεκριμένο χρόνο απόκρισης· οι αναφερόμενες ρυθμίσεις αποτυπώνουν δυνατότητες του κατασκευαστή και εφαρμόζονται εντός του διαθέσιμου τρόπου πρόσβασης.</p><p>Οι πρόσθετες ρυθμίσεις ήχου περιλαμβάνουν συχνότητες δειγματοληψίας <strong>8, 16, 22,05, 24, 32 και 44,1 kHz</strong>. Για MP3 προβλέπεται ρυθμός μετάδοσης <strong>32, 64, 128 ή 256 kbit/s</strong>. Μπορεί επίσης να αλλάζει η χροιά της φωνής και να εφαρμόζεται ένα εφέ: ηχώ μεγάλου χώρου, ηχώ αίθουσας, τηλεφωνικός ήχος ή ρομποτική φωνή. Τα εφέ μεταβολής φωνής υποστηρίζονται για MP3, WAV και FLAC όταν ο ήχος λαμβάνεται ολόκληρος, ενώ σε έξοδο σε ροή μόνο για MP3. Οι μορφές G.711 μ-law χρησιμοποιούν συχνότητα 8 kHz. Αυτές οι δυνατότητες ανήκουν στις ρυθμίσεις σύνθεσης της MiniMax.</p><p>Ο κατασκευαστής προβλέπει συγχρονισμό ομιλίας και κειμένου: χρονικές σημάνσεις ανά πρόταση, ανά λέξη ή ανά λέξη κατά τη σταδιακή έξοδο. Αυτό βοηθά να συνδυάζεται η εκφώνηση με την εμφάνιση του κειμένου. Η πρόσθετη δυνατότητα απαιτεί υποστήριξη της αντίστοιχης μορφής απάντησης.</p>",
  "aboutText": "### Φράσεις για φωνητικές διαδικασίες\n\nΤο Speech 2.6 Turbo είναι παραλλαγή σύνθεσης ομιλίας με έμφαση στην ταχύτητα. Ο κατασκευαστής το περιγράφει για φωνητικούς βοηθούς και διαδραστικά σενάρια όπου το κείμενο μετατρέπεται σταδιακά σε απάντηση. Το μοντέλο διατηρεί τους φυσικούς επιτονισμούς της γενιάς Speech 2.6 και μπορεί να επεξεργάζεται ειδικές μορφές γραφής.\n\n### Κείμενο που πρέπει να εκφωνηθεί σωστά\n\nΤο μοντέλο έχει σχεδιαστεί για ανάγνωση ημερομηνιών, τηλεφώνων, χρηματικών ποσών, διευθύνσεων σελίδων και ηλεκτρονικού ταχυδρομείου χωρίς να χρειάζεται προηγουμένως χειροκίνητη μεταγραφή κάθε στοιχείου. Αυτό είναι χρήσιμο σε δυναμικά μηνύματα όπου αριθμοί και σύμβολα συνυπάρχουν με συνηθισμένες λέξεις. Ο κατασκευαστής περιγράφει την επεξεργασία αυτών των μορφών σε πολλές γλώσσες.\n\n### Ροή και έλεγχος συναισθήματος\n\nΤο Speech 2.6 υποστηρίζει Fluent LoRA: διατήρηση αναγνωρίσιμης χροιάς με πιο ομαλή εκφώνηση του κειμένου. Η δυνατότητα αφορά τη χρήση ήδη προετοιμασμένης φωνής· η χωριστή προετοιμασία κλώνου δεν αποτελεί μέρος ενός συνηθισμένου αιτήματος κειμένου. Η οικογένεια περιλαμβάνει **40 γλώσσες**, συμπεριλαμβανομένων των ρωσικών.\n\nΓια το Turbo προβλέπονται επτά βασικά συναισθήματα και οι πρόσθετες λειτουργίες `fluent` και `whisper`. Το μοντέλο μπορεί να επιλέγει τη συναισθηματική απόδοση από το περιεχόμενο ή να χρησιμοποιεί ορισμένη κατάσταση. Το βάθος και ο ρυθμός της φωνής μπορούν να μεταβάλλονται ανεξάρτητα από το κείμενο.\n\n### Φωνή, παύσεις και προφορά\n\nΗ MiniMax προβλέπει επιλογή φωνής και έλεγχο ταχύτητας, έντασης και τονικού ύψους. Η ταχύτητα ορίζεται στο εύρος **0,5–2**, η ένταση πάνω από 0 και έως **10**, και η μεταβολή του τονικού ύψους από **−12 έως 12**. Το συναίσθημα μπορεί να επιλέγεται από το μοντέλο βάσει του νοήματος του κειμένου ή να ορίζεται χειροκίνητα: χαρά, λύπη, θυμός, φόβος, αποστροφή, έκπληξη ή ηρεμία.\n\nΗ προφορά μπορεί να διευκρινίζεται με λεξικό αντικαταστάσεων και φωνητική γραφή· προβλέπονται το Διεθνές Φωνητικό Αλφάβητο, το κινεζικό πινγίν και ιαπωνικές παραλλαγές ανάγνωσης. Οι παύσεις τοποθετούνται μεταξύ εκφωνούμενων τμημάτων στο εύρος **0,01–99,99 δευτερολέπτων**. Η διάρκειά τους ορίζεται με ακρίβεια δύο δεκαδικών ψηφίων· οι δείκτες τοποθετούνται μεταξύ εκφωνούμενων τμημάτων και όχι διαδοχικά. Αυτές οι ρυθμίσεις βοηθούν να προσαρμόζεται η εκφώνηση ονομάτων, συντομογραφιών και αμφίσημων λέξεων στον σκοπό της αφήγησης.\n\n### Λήψη ήχου\n\nΗ σύνθεση δέχεται κείμενο με λιγότερους από **10 000 χαρακτήρες**. Για μεγάλα κείμενα πάνω από 3000 χαρακτήρες, ο κατασκευαστής συνιστά έξοδο σε ροή· προβλέπεται επίσης λήψη του ολοκληρωμένου ήχου ως συνόλου. Οι γενικές ρυθμίσεις σύνθεσης περιλαμβάνουν MP3, PCM, FLAC, WAV, Opus και παραλλαγές G.711 μ-law, μονοφωνικό ή στερεοφωνικό ήχο· οι διαθέσιμες μορφές ενός συγκεκριμένου αιτήματος καθορίζονται από τις δυνατότητες της Ailoot.\n\nΣε αυτή την κάρτα Ailoot, το κείμενο μετατρέπεται σε ήχο ομιλίας. Ο προσανατολισμός του Turbo συνδέεται με την ταχύτητα σύνθεσης, αλλά δεν υπόσχεται συγκεκριμένο χρόνο απόκρισης· οι αναφερόμενες ρυθμίσεις αποτυπώνουν δυνατότητες του κατασκευαστή και εφαρμόζονται εντός του διαθέσιμου τρόπου πρόσβασης.\n\nΟι πρόσθετες ρυθμίσεις ήχου περιλαμβάνουν συχνότητες δειγματοληψίας **8, 16, 22,05, 24, 32 και 44,1 kHz**. Για MP3 προβλέπεται ρυθμός μετάδοσης **32, 64, 128 ή 256 kbit/s**. Μπορεί επίσης να αλλάζει η χροιά της φωνής και να εφαρμόζεται ένα εφέ: ηχώ μεγάλου χώρου, ηχώ αίθουσας, τηλεφωνικός ήχος ή ρομποτική φωνή. Τα εφέ μεταβολής φωνής υποστηρίζονται για MP3, WAV και FLAC όταν ο ήχος λαμβάνεται ολόκληρος, ενώ σε έξοδο σε ροή μόνο για MP3. Οι μορφές G.711 μ-law χρησιμοποιούν συχνότητα 8 kHz. Αυτές οι δυνατότητες ανήκουν στις ρυθμίσεις σύνθεσης της MiniMax.\n\nΟ κατασκευαστής προβλέπει συγχρονισμό ομιλίας και κειμένου: χρονικές σημάνσεις ανά πρόταση, ανά λέξη ή ανά λέξη κατά τη σταδιακή έξοδο. Αυτό βοηθά να συνδυάζεται η εκφώνηση με την εμφάνιση του κειμένου. Η πρόσθετη δυνατότητα απαιτεί υποστήριξη της αντίστοιχης μορφής απάντησης.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "d52ac0d137ad49f0ec693a77e92321bc33b87ff97ac07a35f080ce842ce43152",
    "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\">MM</span><h2 id=\"sheet-title\">speech-2.6-turbo</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>speech-2.6-turbo</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|speech-2.6-turbo\">Σύνθεση ομιλίας</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\">Το Speech 2.6 Turbo συνθέτει πολύγλωσση ομιλία και εστιάζει στη χαμηλή καθυστέρηση απόκρισης.</p><dl class=\"card-io\" data-card-io><div><dt>Αποδεκτές είσοδοι</dt><dd>Κείμενο</dd></div><div><dt>Αποτελέσματα</dt><dd>speech</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\"><h4>Φράσεις για φωνητικές διαδικασίες</h4><p>Το Speech 2.6 Turbo είναι παραλλαγή σύνθεσης ομιλίας με έμφαση στην ταχύτητα. Ο κατασκευαστής το περιγράφει για φωνητικούς βοηθούς και διαδραστικά σενάρια όπου το κείμενο μετατρέπεται σταδιακά σε απάντηση. Το μοντέλο διατηρεί τους φυσικούς επιτονισμούς της γενιάς Speech 2.6 και μπορεί να επεξεργάζεται ειδικές μορφές γραφής.</p><h4>Κείμενο που πρέπει να εκφωνηθεί σωστά</h4><p>Το μοντέλο έχει σχεδιαστεί για ανάγνωση ημερομηνιών, τηλεφώνων, χρηματικών ποσών, διευθύνσεων σελίδων και ηλεκτρονικού ταχυδρομείου χωρίς να χρειάζεται προηγουμένως χειροκίνητη μεταγραφή κάθε στοιχείου. Αυτό είναι χρήσιμο σε δυναμικά μηνύματα όπου αριθμοί και σύμβολα συνυπάρχουν με συνηθισμένες λέξεις. Ο κατασκευαστής περιγράφει την επεξεργασία αυτών των μορφών σε πολλές γλώσσες.</p><h4>Ροή και έλεγχος συναισθήματος</h4><p>Το Speech 2.6 υποστηρίζει Fluent LoRA: διατήρηση αναγνωρίσιμης χροιάς με πιο ομαλή εκφώνηση του κειμένου. Η δυνατότητα αφορά τη χρήση ήδη προετοιμασμένης φωνής· η χωριστή προετοιμασία κλώνου δεν αποτελεί μέρος ενός συνηθισμένου αιτήματος κειμένου. Η οικογένεια περιλαμβάνει <strong>40 γλώσσες</strong>, συμπεριλαμβανομένων των ρωσικών.</p><p>Για το Turbo προβλέπονται επτά βασικά συναισθήματα και οι πρόσθετες λειτουργίες <code>fluent</code> και <code>whisper</code>. Το μοντέλο μπορεί να επιλέγει τη συναισθηματική απόδοση από το περιεχόμενο ή να χρησιμοποιεί ορισμένη κατάσταση. Το βάθος και ο ρυθμός της φωνής μπορούν να μεταβάλλονται ανεξάρτητα από το κείμενο.</p><h4>Φωνή, παύσεις και προφορά</h4><p>Η MiniMax προβλέπει επιλογή φωνής και έλεγχο ταχύτητας, έντασης και τονικού ύψους. Η ταχύτητα ορίζεται στο εύρος <strong>0,5–2</strong>, η ένταση πάνω από 0 και έως <strong>10</strong>, και η μεταβολή του τονικού ύψους από <strong>−12 έως 12</strong>. Το συναίσθημα μπορεί να επιλέγεται από το μοντέλο βάσει του νοήματος του κειμένου ή να ορίζεται χειροκίνητα: χαρά, λύπη, θυμός, φόβος, αποστροφή, έκπληξη ή ηρεμία.</p><p>Η προφορά μπορεί να διευκρινίζεται με λεξικό αντικαταστάσεων και φωνητική γραφή· προβλέπονται το Διεθνές Φωνητικό Αλφάβητο, το κινεζικό πινγίν και ιαπωνικές παραλλαγές ανάγνωσης. Οι παύσεις τοποθετούνται μεταξύ εκφωνούμενων τμημάτων στο εύρος <strong>0,01–99,99 δευτερολέπτων</strong>. Η διάρκειά τους ορίζεται με ακρίβεια δύο δεκαδικών ψηφίων· οι δείκτες τοποθετούνται μεταξύ εκφωνούμενων τμημάτων και όχι διαδοχικά. Αυτές οι ρυθμίσεις βοηθούν να προσαρμόζεται η εκφώνηση ονομάτων, συντομογραφιών και αμφίσημων λέξεων στον σκοπό της αφήγησης.</p><h4>Λήψη ήχου</h4><p>Η σύνθεση δέχεται κείμενο με λιγότερους από <strong>10 000 χαρακτήρες</strong>. Για μεγάλα κείμενα πάνω από 3000 χαρακτήρες, ο κατασκευαστής συνιστά έξοδο σε ροή· προβλέπεται επίσης λήψη του ολοκληρωμένου ήχου ως συνόλου. Οι γενικές ρυθμίσεις σύνθεσης περιλαμβάνουν MP3, PCM, FLAC, WAV, Opus και παραλλαγές G.711 μ-law, μονοφωνικό ή στερεοφωνικό ήχο· οι διαθέσιμες μορφές ενός συγκεκριμένου αιτήματος καθορίζονται από τις δυνατότητες της Ailoot.</p><p>Σε αυτή την κάρτα Ailoot, το κείμενο μετατρέπεται σε ήχο ομιλίας. Ο προσανατολισμός του Turbo συνδέεται με την ταχύτητα σύνθεσης, αλλά δεν υπόσχεται συγκεκριμένο χρόνο απόκρισης· οι αναφερόμενες ρυθμίσεις αποτυπώνουν δυνατότητες του κατασκευαστή και εφαρμόζονται εντός του διαθέσιμου τρόπου πρόσβασης.</p><p>Οι πρόσθετες ρυθμίσεις ήχου περιλαμβάνουν συχνότητες δειγματοληψίας <strong>8, 16, 22,05, 24, 32 και 44,1 kHz</strong>. Για MP3 προβλέπεται ρυθμός μετάδοσης <strong>32, 64, 128 ή 256 kbit/s</strong>. Μπορεί επίσης να αλλάζει η χροιά της φωνής και να εφαρμόζεται ένα εφέ: ηχώ μεγάλου χώρου, ηχώ αίθουσας, τηλεφωνικός ήχος ή ρομποτική φωνή. Τα εφέ μεταβολής φωνής υποστηρίζονται για MP3, WAV και FLAC όταν ο ήχος λαμβάνεται ολόκληρος, ενώ σε έξοδο σε ροή μόνο για MP3. Οι μορφές G.711 μ-law χρησιμοποιούν συχνότητα 8 kHz. Αυτές οι δυνατότητες ανήκουν στις ρυθμίσεις σύνθεσης της MiniMax.</p><p>Ο κατασκευαστής προβλέπει συγχρονισμό ομιλίας και κειμένου: χρονικές σημάνσεις ανά πρόταση, ανά λέξη ή ανά λέξη κατά τη σταδιακή έξοδο. Αυτό βοηθά να συνδυάζεται η εκφώνηση με την εμφάνιση του κειμένου. Η πρόσθετη δυνατότητα απαιτεί υποστήριξη της αντίστοιχης μορφής απάντησης.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι</h3><details class=\"card-method\" open><summary><b>Ailoot · Σύνθεση ομιλίας</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>speech</code></dd></div><div><dt>Μορφή εξόδου</dt><dd>mp3</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>speech-2.6-turbo</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><div>Μέγιστο μήκος (αποκλειστικό): 10.000</div><div>Μονάδα: χαρακτήρες Unicode</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>Μοτίβο: ^[A-Za-z0-9_-]{1,128}$</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\">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</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>60,00 $ <em>ανά 1 εκατομμύριο χαρακτήρες</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-470-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-470-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-470-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-470-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\n: &quot;${AILOOT_VOICE_ID:?Set the actual accepted voice ID for this model}&quot;\nexport AILOOT_VOICE_ID\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;speech-2.6-turbo&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\nimport re\nvoice=os.environ[&quot;AILOOT_VOICE_ID&quot;]\nif not re.fullmatch(r&quot;[A-Za-z0-9_-]{1,128}&quot;,voice):raise SystemExit(&quot;Set an actual accepted voice ID&quot;)\np[&quot;voice&quot;]=voice\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.mp3\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\">mp3</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\">Διατηρήστε ολόκληρο το δυαδικό αποτέλεσμα και τις κεφαλίδες. Αν επιστραφεί JSON ή επιστραφούν πολλαπλές έξοδοι, διατηρήστε κάθε στοιχείο δεδομένων και ανακτήστε κάθε πραγματικό υπογεγραμμένο URL πόρου.</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 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\">response headers</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>headers</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=speech-2.6-turbo&amp;route=Core&amp;caller=speech-2.6-turbo&amp;fmt=speech\"><code>speech-2.6-turbo</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\">Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.</p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=speech-2.6-turbo&amp;route=Core&amp;caller=speech-2.6-turbo&amp;fmt=speech\"><code>speech-2.6-turbo</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "speech-2.6-turbo",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "speech-2.6-turbo",
        "route_label": "Core"
      },
      "method_key": "Core|speech|/v1/audio/speech|speech-2.6-turbo",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.",
            "errors": [
              {
                "code": null,
                "condition": "Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου",
                "http_status": 400,
                "recovery": "Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Η απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο",
                "http_status": null,
                "recovery": "Διατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.",
                "type": "server_error"
              }
            ],
            "hints": [
              "MiniMax accepts optionalresponse_formatmp3. Actual voice IDs come from the selected model voice profile.",
              "The facade uses bufferedMP3; provider speed/volume/pitch/sample-rate fields are fixed by the adapter, not callercontrols."
            ],
            "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": "Διατηρήστε ολόκληρο το δυαδικό αποτέλεσμα και τις κεφαλίδες. Αν επιστραφεί JSON ή επιστραφούν πολλαπλές έξοδοι, διατηρήστε κάθε στοιχείο δεδομένων και ανακτήστε κάθε πραγματικό υπογεγραμμένο URL πόρου.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "mp3"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "speech-2.6-turbo"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length_exclusive": 10000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "χαρακτήρες Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "voice",
                "pattern": "^[A-Za-z0-9_-]{1,128}$",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "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": [
              "speech"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "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\n: \"${AILOOT_VOICE_ID:?Set the actual accepted voice ID for this model}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"speech-2.6-turbo\", \"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\nimport re\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nif not re.fullmatch(r\"[A-Za-z0-9_-]{1,128}\",voice):raise SystemExit(\"Set an actual accepted voice ID\")\np[\"voice\"]=voice\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.mp3\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": null,
        "input": [
          "text"
        ],
        "label": "Σύνθεση ομιλίας",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "speech"
        ],
        "path": "/v1/audio/speech",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 60,
                "amount_unit": "usd_per_display_unit",
                "key": "tts_million_chars",
                "label": "per 1 million characters",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "speech-2.6-turbo",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "tts_million_chars",
        "units": [
          {
            "key": "tts_million_chars",
            "label": "per 1 million characters",
            "side": "in",
            "usd": 60
          }
        ]
      }
    }
  ],
  "model_id": "speech-2.6-turbo",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "438eca1863a06ddd087aa033adbe1542ac0154cb8447fc58e26f7cb23e0d793e",
    "input_html_sha256": "56a127ba4653941167a25d6fff1c626af0c4bb072064d7a094bfeb8d85ebb3d5",
    "private_audit_sha256": "f71d4aa5fd94214abde60d364588f93c42c1ea5a5e2a158f50fb460f95b24e80",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/speech-2-6-turbo/",
    "description": "Το Speech 2.6 Turbo συνθέτει πολύγλωσση ομιλία και εστιάζει στη χαμηλή καθυστέρηση απόκρισης.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/speech-2-6-turbo/index.md",
    "title": "speech-2.6-turbo — Ailoot",
    "url": "https://ailoot.ai/models/el/speech-2-6-turbo/"
  },
  "rawModel": {
    "about": "### Φράσεις για φωνητικές διαδικασίες\n\nΤο Speech 2.6 Turbo είναι παραλλαγή σύνθεσης ομιλίας με έμφαση στην ταχύτητα. Ο κατασκευαστής το περιγράφει για φωνητικούς βοηθούς και διαδραστικά σενάρια όπου το κείμενο μετατρέπεται σταδιακά σε απάντηση. Το μοντέλο διατηρεί τους φυσικούς επιτονισμούς της γενιάς Speech 2.6 και μπορεί να επεξεργάζεται ειδικές μορφές γραφής.\n\n### Κείμενο που πρέπει να εκφωνηθεί σωστά\n\nΤο μοντέλο έχει σχεδιαστεί για ανάγνωση ημερομηνιών, τηλεφώνων, χρηματικών ποσών, διευθύνσεων σελίδων και ηλεκτρονικού ταχυδρομείου χωρίς να χρειάζεται προηγουμένως χειροκίνητη μεταγραφή κάθε στοιχείου. Αυτό είναι χρήσιμο σε δυναμικά μηνύματα όπου αριθμοί και σύμβολα συνυπάρχουν με συνηθισμένες λέξεις. Ο κατασκευαστής περιγράφει την επεξεργασία αυτών των μορφών σε πολλές γλώσσες.\n\n### Ροή και έλεγχος συναισθήματος\n\nΤο Speech 2.6 υποστηρίζει Fluent LoRA: διατήρηση αναγνωρίσιμης χροιάς με πιο ομαλή εκφώνηση του κειμένου. Η δυνατότητα αφορά τη χρήση ήδη προετοιμασμένης φωνής· η χωριστή προετοιμασία κλώνου δεν αποτελεί μέρος ενός συνηθισμένου αιτήματος κειμένου. Η οικογένεια περιλαμβάνει **40 γλώσσες**, συμπεριλαμβανομένων των ρωσικών.\n\nΓια το Turbo προβλέπονται επτά βασικά συναισθήματα και οι πρόσθετες λειτουργίες `fluent` και `whisper`. Το μοντέλο μπορεί να επιλέγει τη συναισθηματική απόδοση από το περιεχόμενο ή να χρησιμοποιεί ορισμένη κατάσταση. Το βάθος και ο ρυθμός της φωνής μπορούν να μεταβάλλονται ανεξάρτητα από το κείμενο.\n\n### Φωνή, παύσεις και προφορά\n\nΗ MiniMax προβλέπει επιλογή φωνής και έλεγχο ταχύτητας, έντασης και τονικού ύψους. Η ταχύτητα ορίζεται στο εύρος **0,5–2**, η ένταση πάνω από 0 και έως **10**, και η μεταβολή του τονικού ύψους από **−12 έως 12**. Το συναίσθημα μπορεί να επιλέγεται από το μοντέλο βάσει του νοήματος του κειμένου ή να ορίζεται χειροκίνητα: χαρά, λύπη, θυμός, φόβος, αποστροφή, έκπληξη ή ηρεμία.\n\nΗ προφορά μπορεί να διευκρινίζεται με λεξικό αντικαταστάσεων και φωνητική γραφή· προβλέπονται το Διεθνές Φωνητικό Αλφάβητο, το κινεζικό πινγίν και ιαπωνικές παραλλαγές ανάγνωσης. Οι παύσεις τοποθετούνται μεταξύ εκφωνούμενων τμημάτων στο εύρος **0,01–99,99 δευτερολέπτων**. Η διάρκειά τους ορίζεται με ακρίβεια δύο δεκαδικών ψηφίων· οι δείκτες τοποθετούνται μεταξύ εκφωνούμενων τμημάτων και όχι διαδοχικά. Αυτές οι ρυθμίσεις βοηθούν να προσαρμόζεται η εκφώνηση ονομάτων, συντομογραφιών και αμφίσημων λέξεων στον σκοπό της αφήγησης.\n\n### Λήψη ήχου\n\nΗ σύνθεση δέχεται κείμενο με λιγότερους από **10 000 χαρακτήρες**. Για μεγάλα κείμενα πάνω από 3000 χαρακτήρες, ο κατασκευαστής συνιστά έξοδο σε ροή· προβλέπεται επίσης λήψη του ολοκληρωμένου ήχου ως συνόλου. Οι γενικές ρυθμίσεις σύνθεσης περιλαμβάνουν MP3, PCM, FLAC, WAV, Opus και παραλλαγές G.711 μ-law, μονοφωνικό ή στερεοφωνικό ήχο· οι διαθέσιμες μορφές ενός συγκεκριμένου αιτήματος καθορίζονται από τις δυνατότητες της Ailoot.\n\nΣε αυτή την κάρτα Ailoot, το κείμενο μετατρέπεται σε ήχο ομιλίας. Ο προσανατολισμός του Turbo συνδέεται με την ταχύτητα σύνθεσης, αλλά δεν υπόσχεται συγκεκριμένο χρόνο απόκρισης· οι αναφερόμενες ρυθμίσεις αποτυπώνουν δυνατότητες του κατασκευαστή και εφαρμόζονται εντός του διαθέσιμου τρόπου πρόσβασης.\n\nΟι πρόσθετες ρυθμίσεις ήχου περιλαμβάνουν συχνότητες δειγματοληψίας **8, 16, 22,05, 24, 32 και 44,1 kHz**. Για MP3 προβλέπεται ρυθμός μετάδοσης **32, 64, 128 ή 256 kbit/s**. Μπορεί επίσης να αλλάζει η χροιά της φωνής και να εφαρμόζεται ένα εφέ: ηχώ μεγάλου χώρου, ηχώ αίθουσας, τηλεφωνικός ήχος ή ρομποτική φωνή. Τα εφέ μεταβολής φωνής υποστηρίζονται για MP3, WAV και FLAC όταν ο ήχος λαμβάνεται ολόκληρος, ενώ σε έξοδο σε ροή μόνο για MP3. Οι μορφές G.711 μ-law χρησιμοποιούν συχνότητα 8 kHz. Αυτές οι δυνατότητες ανήκουν στις ρυθμίσεις σύνθεσης της MiniMax.\n\nΟ κατασκευαστής προβλέπει συγχρονισμό ομιλίας και κειμένου: χρονικές σημάνσεις ανά πρόταση, ανά λέξη ή ανά λέξη κατά τη σταδιακή έξοδο. Αυτό βοηθά να συνδυάζεται η εκφώνηση με την εμφάνιση του κειμένου. Η πρόσθετη δυνατότητα απαιτεί υποστήριξη της αντίστοιχης μορφής απάντησης.",
    "alias_of": null,
    "aliases": [],
    "author": "MiniMax",
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "speech-2.6-turbo",
    "input": [
      "text"
    ],
    "kind": "speech",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.",
            "errors": [
              {
                "code": null,
                "condition": "Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου",
                "http_status": 400,
                "recovery": "Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Η απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο",
                "http_status": null,
                "recovery": "Διατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.",
                "type": "server_error"
              }
            ],
            "hints": [
              "MiniMax accepts optionalresponse_formatmp3. Actual voice IDs come from the selected model voice profile.",
              "The facade uses bufferedMP3; provider speed/volume/pitch/sample-rate fields are fixed by the adapter, not callercontrols."
            ],
            "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": "Διατηρήστε ολόκληρο το δυαδικό αποτέλεσμα και τις κεφαλίδες. Αν επιστραφεί JSON ή επιστραφούν πολλαπλές έξοδοι, διατηρήστε κάθε στοιχείο δεδομένων και ανακτήστε κάθε πραγματικό υπογεγραμμένο URL πόρου.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "mp3"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "speech-2.6-turbo"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length_exclusive": 10000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "χαρακτήρες Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "voice",
                "pattern": "^[A-Za-z0-9_-]{1,128}$",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "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": [
              "speech"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "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\n: \"${AILOOT_VOICE_ID:?Set the actual accepted voice ID for this model}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"speech-2.6-turbo\", \"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\nimport re\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nif not re.fullmatch(r\"[A-Za-z0-9_-]{1,128}\",voice):raise SystemExit(\"Set an actual accepted voice ID\")\np[\"voice\"]=voice\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.mp3\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": null,
        "input": [
          "text"
        ],
        "label": "Σύνθεση ομιλίας",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "speech"
        ],
        "path": "/v1/audio/speech",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 60,
                "amount_unit": "usd_per_display_unit",
                "key": "tts_million_chars",
                "label": "per 1 million characters",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "speech-2.6-turbo",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "tts_million_chars",
        "units": [
          {
            "key": "tts_million_chars",
            "label": "per 1 million characters",
            "side": "in",
            "usd": 60
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "speech-2.6-turbo",
        "request_model_id": "speech-2.6-turbo",
        "route_label": "Core"
      }
    ],
    "name": "speech-2.6-turbo",
    "price": {
      "in": 60,
      "in_label": "per 1 million characters",
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": false
    },
    "short": "Το Speech 2.6 Turbo συνθέτει πολύγλωσση ομιλία και εστιάζει στη χαμηλή καθυστέρηση απόκρισης."
  },
  "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": "Το Speech 2.6 Turbo συνθέτει πολύγλωσση ομιλία και εστιάζει στη χαμηλή καθυστέρηση απόκρισης.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "6cdbf022f56b0185e6a50060d86559e324bc767bb2009ee8cedca7e0cb09dad9",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "5acdaffc699f13464744e289567e532d2c22ff7c2f00dc26554706b9c021aa22"
}
