{
  "aboutHtml": "<h4>Γρήγορη ομιλία για διαδραστικές απαντήσεις</h4><p>Το Speech 02 Turbo προορίζεται για διαδραστική σύνθεση ομιλίας. Ο κατασκευαστής περιγράφει τον συνδυασμό ταχύτητας, σταθερού ρυθμού και φυσικού ήχου· τα σενάρια περιλαμβάνουν φωνητικές απαντήσεις, ατάκες παιχνιδιών και διαδραστικό περιεχόμενο. Το μοντέλο λαμβάνει κείμενο και παράγει ήχο ομιλίας.</p><h4>Επιλογή χαρακτήρα της φωνής</h4><p>Η οικογένεια Speech 02 επιτρέπει τον συνδυασμό φωνής, γλώσσας, προφοράς και συναισθηματικής απόδοσης. Ο αυτοπαλινδρομικός Transformer και ο κωδικοποιητής ομιλητή, που εκπαιδεύονται από κοινού, συνδέουν τη χροιά με το περιεχόμενο. Μπορεί να συντεθεί κείμενο με έτοιμη φωνή· η δημιουργία νέας κλωνοποιημένης φωνής ανήκει σε χωριστή διαδικασία προετοιμασίας.</p><p>Το μοντέλο επιλέγει συναισθηματικό τόνο από το κείμενο ή δέχεται ορισμένη κατάσταση: χαρά, λύπη, θυμός, φόβος, αποστροφή, έκπληξη ή ηρεμία. Ελέγχονται επίσης η ταχύτητα, το τονικό ύψος και η ένταση, ώστε η φράση να ταιριάζει στον επιθυμητό ρυθμό αλληλεπίδρασης.</p><h4>Γλώσσες και προφορά λέξεων</h4><p>Υποστηρίζονται τα ρωσικά και άλλες γλώσσες, όπως αγγλικά, κινεζικά, καντονέζικα, ιαπωνικά, κορεατικά, γαλλικά, γερμανικά, ισπανικά, πορτογαλικά, τουρκικά, αραβικά και ουκρανικά. Για το Speech 02, οι τρέχουσες προδιαγραφές εξαιρούν ρητά τα περσικά, τα φιλιππινέζικα και τα ταμίλ.</p><p>Η προφορά μπορεί να διευκρινίζεται με λεξικό αντικαταστάσεων, διεθνή φωνητική γραφή, κινεζικό πινγίν και ιαπωνικές παραλλαγές ανάγνωσης. Οι παύσεις μεταξύ εκφωνούμενων τμημάτων ορίζονται στο εύρος <strong>0,01–99,99 δευτερολέπτων</strong>. Η διάρκεια ορίζεται με ακρίβεια δύο δεκαδικών ψηφίων· οι δείκτες τοποθετούνται μεταξύ εκφωνούμενων τμημάτων και όχι διαδοχικά. Το μοντέλο προβλέπει ταχύτητα <strong>0,5–2</strong>, ένταση πάνω από 0 και έως <strong>10</strong> και μεταβολή τονικού ύψους από <strong>−12 έως 12</strong>.</p><h4>Ήχος για αναπαραγωγή</h4><p>Η σύγχρονη είσοδος περιορίζεται σε κείμενο με λιγότερους από <strong>10 000 χαρακτήρες</strong>· για όγκο πάνω από 3000 χαρακτήρες, ο κατασκευαστής συνιστά σταδιακή έξοδο. Οι δυνατότητες του μοντέλου περιλαμβάνουν MP3, WAV, FLAC και PCM· στις γενικές ρυθμίσεις περιγράφονται επίσης Opus και G.711 μ-law, ένα ή δύο κανάλια ήχου.</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 02 Turbo προορίζεται για διαδραστική σύνθεση ομιλίας. Ο κατασκευαστής περιγράφει τον συνδυασμό ταχύτητας, σταθερού ρυθμού και φυσικού ήχου· τα σενάρια περιλαμβάνουν φωνητικές απαντήσεις, ατάκες παιχνιδιών και διαδραστικό περιεχόμενο. Το μοντέλο λαμβάνει κείμενο και παράγει ήχο ομιλίας.\n\n### Επιλογή χαρακτήρα της φωνής\n\nΗ οικογένεια Speech 02 επιτρέπει τον συνδυασμό φωνής, γλώσσας, προφοράς και συναισθηματικής απόδοσης. Ο αυτοπαλινδρομικός Transformer και ο κωδικοποιητής ομιλητή, που εκπαιδεύονται από κοινού, συνδέουν τη χροιά με το περιεχόμενο. Μπορεί να συντεθεί κείμενο με έτοιμη φωνή· η δημιουργία νέας κλωνοποιημένης φωνής ανήκει σε χωριστή διαδικασία προετοιμασίας.\n\nΤο μοντέλο επιλέγει συναισθηματικό τόνο από το κείμενο ή δέχεται ορισμένη κατάσταση: χαρά, λύπη, θυμός, φόβος, αποστροφή, έκπληξη ή ηρεμία. Ελέγχονται επίσης η ταχύτητα, το τονικό ύψος και η ένταση, ώστε η φράση να ταιριάζει στον επιθυμητό ρυθμό αλληλεπίδρασης.\n\n### Γλώσσες και προφορά λέξεων\n\nΥποστηρίζονται τα ρωσικά και άλλες γλώσσες, όπως αγγλικά, κινεζικά, καντονέζικα, ιαπωνικά, κορεατικά, γαλλικά, γερμανικά, ισπανικά, πορτογαλικά, τουρκικά, αραβικά και ουκρανικά. Για το Speech 02, οι τρέχουσες προδιαγραφές εξαιρούν ρητά τα περσικά, τα φιλιππινέζικα και τα ταμίλ.\n\nΗ προφορά μπορεί να διευκρινίζεται με λεξικό αντικαταστάσεων, διεθνή φωνητική γραφή, κινεζικό πινγίν και ιαπωνικές παραλλαγές ανάγνωσης. Οι παύσεις μεταξύ εκφωνούμενων τμημάτων ορίζονται στο εύρος **0,01–99,99 δευτερολέπτων**. Η διάρκεια ορίζεται με ακρίβεια δύο δεκαδικών ψηφίων· οι δείκτες τοποθετούνται μεταξύ εκφωνούμενων τμημάτων και όχι διαδοχικά. Το μοντέλο προβλέπει ταχύτητα **0,5–2**, ένταση πάνω από 0 και έως **10** και μεταβολή τονικού ύψους από **−12 έως 12**.\n\n### Ήχος για αναπαραγωγή\n\nΗ σύγχρονη είσοδος περιορίζεται σε κείμενο με λιγότερους από **10 000 χαρακτήρες**· για όγκο πάνω από 3000 χαρακτήρες, ο κατασκευαστής συνιστά σταδιακή έξοδο. Οι δυνατότητες του μοντέλου περιλαμβάνουν MP3, WAV, FLAC και PCM· στις γενικές ρυθμίσεις περιγράφονται επίσης Opus και G.711 μ-law, ένα ή δύο κανάλια ήχου.\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": "a8a7a8bf177470217f8e494c1c13d6c7149b7c21ac2a6fc7515523a4b2b384c9",
    "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-02-turbo</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>speech-02-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-02-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-02 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 02 Turbo προορίζεται για διαδραστική σύνθεση ομιλίας. Ο κατασκευαστής περιγράφει τον συνδυασμό ταχύτητας, σταθερού ρυθμού και φυσικού ήχου· τα σενάρια περιλαμβάνουν φωνητικές απαντήσεις, ατάκες παιχνιδιών και διαδραστικό περιεχόμενο. Το μοντέλο λαμβάνει κείμενο και παράγει ήχο ομιλίας.</p><h4>Επιλογή χαρακτήρα της φωνής</h4><p>Η οικογένεια Speech 02 επιτρέπει τον συνδυασμό φωνής, γλώσσας, προφοράς και συναισθηματικής απόδοσης. Ο αυτοπαλινδρομικός Transformer και ο κωδικοποιητής ομιλητή, που εκπαιδεύονται από κοινού, συνδέουν τη χροιά με το περιεχόμενο. Μπορεί να συντεθεί κείμενο με έτοιμη φωνή· η δημιουργία νέας κλωνοποιημένης φωνής ανήκει σε χωριστή διαδικασία προετοιμασίας.</p><p>Το μοντέλο επιλέγει συναισθηματικό τόνο από το κείμενο ή δέχεται ορισμένη κατάσταση: χαρά, λύπη, θυμός, φόβος, αποστροφή, έκπληξη ή ηρεμία. Ελέγχονται επίσης η ταχύτητα, το τονικό ύψος και η ένταση, ώστε η φράση να ταιριάζει στον επιθυμητό ρυθμό αλληλεπίδρασης.</p><h4>Γλώσσες και προφορά λέξεων</h4><p>Υποστηρίζονται τα ρωσικά και άλλες γλώσσες, όπως αγγλικά, κινεζικά, καντονέζικα, ιαπωνικά, κορεατικά, γαλλικά, γερμανικά, ισπανικά, πορτογαλικά, τουρκικά, αραβικά και ουκρανικά. Για το Speech 02, οι τρέχουσες προδιαγραφές εξαιρούν ρητά τα περσικά, τα φιλιππινέζικα και τα ταμίλ.</p><p>Η προφορά μπορεί να διευκρινίζεται με λεξικό αντικαταστάσεων, διεθνή φωνητική γραφή, κινεζικό πινγίν και ιαπωνικές παραλλαγές ανάγνωσης. Οι παύσεις μεταξύ εκφωνούμενων τμημάτων ορίζονται στο εύρος <strong>0,01–99,99 δευτερολέπτων</strong>. Η διάρκεια ορίζεται με ακρίβεια δύο δεκαδικών ψηφίων· οι δείκτες τοποθετούνται μεταξύ εκφωνούμενων τμημάτων και όχι διαδοχικά. Το μοντέλο προβλέπει ταχύτητα <strong>0,5–2</strong>, ένταση πάνω από 0 και έως <strong>10</strong> και μεταβολή τονικού ύψους από <strong>−12 έως 12</strong>.</p><h4>Ήχος για αναπαραγωγή</h4><p>Η σύγχρονη είσοδος περιορίζεται σε κείμενο με λιγότερους από <strong>10 000 χαρακτήρες</strong>· για όγκο πάνω από 3000 χαρακτήρες, ο κατασκευαστής συνιστά σταδιακή έξοδο. Οι δυνατότητες του μοντέλου περιλαμβάνουν MP3, WAV, FLAC και PCM· στις γενικές ρυθμίσεις περιγράφονται επίσης Opus και G.711 μ-law, ένα ή δύο κανάλια ήχου.</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-02-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-468-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-468-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-468-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-468-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-02-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-02-turbo&amp;route=Core&amp;caller=speech-02-turbo&amp;fmt=speech\"><code>speech-02-turbo</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\">Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.</p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=speech-02-turbo&amp;route=Core&amp;caller=speech-02-turbo&amp;fmt=speech\"><code>speech-02-turbo</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "speech-02-turbo",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "speech-02-turbo",
        "route_label": "Core"
      },
      "method_key": "Core|speech|/v1/audio/speech|speech-02-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-02-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-02-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-02-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-02-turbo",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "51207068093c6679b8dc26b1cc0cf6cec4f6fc0bbd10d8bc4cada53f950ccd28",
    "input_html_sha256": "52ffec6321bb2d60957f546a63b34888306c5ca7f752f8e8a4c4c5234c03b7e9",
    "private_audit_sha256": "f7ecf0d630b06e2f3f66e000748604449218c267b6cf0200f7978909d1c5238f",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/speech-02-turbo/",
    "description": "Το Speech-02 Turbo προορίζεται για γρήγορη σύνθεση ομιλίας με σταθερό ρυθμό και πολύγλωσση απόδοση.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/speech-02-turbo/index.md",
    "title": "speech-02-turbo — Ailoot",
    "url": "https://ailoot.ai/models/el/speech-02-turbo/"
  },
  "rawModel": {
    "about": "### Γρήγορη ομιλία για διαδραστικές απαντήσεις\n\nΤο Speech 02 Turbo προορίζεται για διαδραστική σύνθεση ομιλίας. Ο κατασκευαστής περιγράφει τον συνδυασμό ταχύτητας, σταθερού ρυθμού και φυσικού ήχου· τα σενάρια περιλαμβάνουν φωνητικές απαντήσεις, ατάκες παιχνιδιών και διαδραστικό περιεχόμενο. Το μοντέλο λαμβάνει κείμενο και παράγει ήχο ομιλίας.\n\n### Επιλογή χαρακτήρα της φωνής\n\nΗ οικογένεια Speech 02 επιτρέπει τον συνδυασμό φωνής, γλώσσας, προφοράς και συναισθηματικής απόδοσης. Ο αυτοπαλινδρομικός Transformer και ο κωδικοποιητής ομιλητή, που εκπαιδεύονται από κοινού, συνδέουν τη χροιά με το περιεχόμενο. Μπορεί να συντεθεί κείμενο με έτοιμη φωνή· η δημιουργία νέας κλωνοποιημένης φωνής ανήκει σε χωριστή διαδικασία προετοιμασίας.\n\nΤο μοντέλο επιλέγει συναισθηματικό τόνο από το κείμενο ή δέχεται ορισμένη κατάσταση: χαρά, λύπη, θυμός, φόβος, αποστροφή, έκπληξη ή ηρεμία. Ελέγχονται επίσης η ταχύτητα, το τονικό ύψος και η ένταση, ώστε η φράση να ταιριάζει στον επιθυμητό ρυθμό αλληλεπίδρασης.\n\n### Γλώσσες και προφορά λέξεων\n\nΥποστηρίζονται τα ρωσικά και άλλες γλώσσες, όπως αγγλικά, κινεζικά, καντονέζικα, ιαπωνικά, κορεατικά, γαλλικά, γερμανικά, ισπανικά, πορτογαλικά, τουρκικά, αραβικά και ουκρανικά. Για το Speech 02, οι τρέχουσες προδιαγραφές εξαιρούν ρητά τα περσικά, τα φιλιππινέζικα και τα ταμίλ.\n\nΗ προφορά μπορεί να διευκρινίζεται με λεξικό αντικαταστάσεων, διεθνή φωνητική γραφή, κινεζικό πινγίν και ιαπωνικές παραλλαγές ανάγνωσης. Οι παύσεις μεταξύ εκφωνούμενων τμημάτων ορίζονται στο εύρος **0,01–99,99 δευτερολέπτων**. Η διάρκεια ορίζεται με ακρίβεια δύο δεκαδικών ψηφίων· οι δείκτες τοποθετούνται μεταξύ εκφωνούμενων τμημάτων και όχι διαδοχικά. Το μοντέλο προβλέπει ταχύτητα **0,5–2**, ένταση πάνω από 0 και έως **10** και μεταβολή τονικού ύψους από **−12 έως 12**.\n\n### Ήχος για αναπαραγωγή\n\nΗ σύγχρονη είσοδος περιορίζεται σε κείμενο με λιγότερους από **10 000 χαρακτήρες**· για όγκο πάνω από 3000 χαρακτήρες, ο κατασκευαστής συνιστά σταδιακή έξοδο. Οι δυνατότητες του μοντέλου περιλαμβάνουν MP3, WAV, FLAC και PCM· στις γενικές ρυθμίσεις περιγράφονται επίσης Opus και G.711 μ-law, ένα ή δύο κανάλια ήχου.\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-02-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-02-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-02-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-02-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-02-turbo",
        "request_model_id": "speech-02-turbo",
        "route_label": "Core"
      }
    ],
    "name": "speech-02-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-02 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-02 Turbo προορίζεται για γρήγορη σύνθεση ομιλίας με σταθερό ρυθμό και πολύγλωσση απόδοση.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "cb9082c83bedb581805a175eed0ec22dccfd917c863b6f67977bcf31214a253d",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "ee94b8befbb3e431ccc187e3fa1e215b749ae6b48629877e1076344ded883449"
}
