{
  "aboutHtml": "<p>Το Qwen-Audio-3.0-TTS-Flash μετατρέπει ένα κείμενο που του παρέχετε σε ομιλία, με την έκδοση Flash να εστιάζει στην αλληλεπίδραση σε πραγματικό χρόνο. Η Qwen αναφέρει ως κύριες εφαρμογές του τους φωνητικούς βοηθούς, τον διαδραστικό διάλογο και την έξυπνη εξυπηρέτηση πελατών. Σε σύγκριση με την προηγούμενη έκδοση, ο κατασκευαστής περιγράφει ευρύτερη υποστήριξη γλωσσών με περιορισμένους διαθέσιμους πόρους και κινεζικών διαλέκτων, πιο αυθεντική απόδοση των διαλέκτων και ισχυρότερο έλεγχο του συναισθήματος, του τόνου, του χαρακτήρα, της ταχύτητας, της έντασης και του ύφους ομιλίας. Αναφέρει επίσης βελτιωμένη καθαρότητα και ανθεκτικότητα σε ακουστικές συνθήκες με θόρυβο ή αντήχηση. Πρόκειται για σύνθεση ήχου από κείμενο, όχι για αναγνώριση εισερχόμενης ομιλίας ή για μοντέλο φωνητικού διαλόγου.</p><p>Το Flash δίνει προτεραιότητα στην έναρξη της ομιλίας σε μια διαδραστική συνομιλία. Η Qwen αναφέρει καθυστέρηση του πρώτου πακέτου έως 200 χιλιοστά του δευτερολέπτου για τη σύνθεση αυτού του μοντέλου σε πραγματικό χρόνο· ο οδηγός χρήσης της επισημαίνει επίσης ότι η αρχική εγκατάσταση της σύνδεσης συμβάλλει στη μετρούμενη καθυστέρηση της πρώτης υποβολής. Προετοιμάστε χωριστά τις λέξεις που θα εκφωνηθούν και τον επιθυμητό τρόπο εκφοράς. Για μια απάντηση φωνητικού βοηθού, ένα ενδεικτικό αίτημα θα μπορούσε να συνδυάζει μια συνοπτική απάντηση με οδηγία για ήρεμη, καθαρή εκφορά. Το σχετικό αποτέλεσμα είναι η παραγόμενη ομιλία για αυτό το κείμενο, ενώ η εφαρμογή αναλαμβάνει την αναπαραγωγή και την υπόλοιπη συνομιλία.</p><p>Ο κατάλογος φωνών συστήματος του κατασκευαστή περιλαμβάνει επιλογές ειδικές για το μοντέλο, όπως τη Long An Feng Yue για φυσική, φιλική εκφορά και τη Long An Xiao Xin για φιλική, ζωηρή εκφορά, και τις δύο για μανδαρινικά και αγγλικά. Περιλαμβάνει επίσης αγγλόφωνες φωνές, όπως τη loongmary με βρετανική προφορά και τη loongjohn με αμερικανική προφορά και ήρεμο, φιλικό ύφος. Κάθε μοντέλο διαθέτει επιπλέον περισσότερες από 500 βασικές φωνές. Η Qwen συνιστά να ξεκινάτε από τις φωνές συστήματος για συνέπεια και να αξιολογείτε τα δείγματα προεπισκόπησης όταν επιλέγετε βασική φωνή. Η φωνή πρέπει να ανήκει στο επιλεγμένο μοντέλο και το κείμενο να χρησιμοποιεί γλώσσα που υποστηρίζει αυτή η φωνή.</p><p>Οι κλωνοποιημένες φωνές διευρύνουν το τεκμηριωμένο σύνολο γλωσσών σε κινεζικά, αγγλικά, ιαπωνικά, κορεατικά, ρωσικά, γαλλικά, γερμανικά, πορτογαλικά, ταϊλανδικά, ινδονησιακά, βιετναμικά, ισπανικά, ιταλικά, μαλαϊκά, φιλιππινικά και αραβικά. Η κινεζική κάλυψη περιλαμβάνει μανδαρινικά, καντονέζικα και τις ποικιλίες Chongqing, της βορειοανατολικής Κίνας, Gansu, Guizhou, Zhejiang, Hebei, Henan, Hubei, Hunan, Jiangxi, Ningbo, Ningxia, Qingdao, Shaanxi, Shanxi, Shandong, της Σαγκάης, Sichuan και Yunnan, με επιλογή διαλέκτου μέσω οδηγιών. Ο πίνακας μοντέλων αναφέρει την υποστήριξη κλωνοποίησης φωνής από δείγμα και τη διακρίνει από τη δημιουργία νέας φωνής αποκλειστικά από περιγραφή κειμένου, την οποία αυτή η έκδοση δεν υποστηρίζει.</p><p>Για την κλωνοποίηση, ο κατασκευαστής συνιστά ηχογράφηση 10–20 δευτερολέπτων, με μέγιστο τα 60 δευτερόλεπτα και μέγεθος αρχείου έως 10 MB. Οι υποστηριζόμενες μορφές αναφοράς είναι 16-bit WAV, MP3 και M4A, με συχνότητα δειγματοληψίας τουλάχιστον 16 kHz. Η ηχογράφηση χρειάζεται τουλάχιστον πέντε δευτερόλεπτα συνεχούς, καθαρής ομιλίας· οι υπόλοιπες παύσεις δεν πρέπει να ξεπερνούν τα δύο δευτερόλεπτα. Αποφύγετε ήχους περιβάλλοντος, άλλες φωνές και τραγούδι. Ο στερεοφωνικός ήχος γίνεται δεκτός, αλλά επεξεργάζεται μόνο το πρώτο κανάλι. Η ροή κλωνοποίησης επιστρέφει ένα αναγνωριστικό φωνής δεσμευμένο στο ακριβές μοντέλο-στόχο και η σύνθεση χρησιμοποιεί αυτό το αναγνωριστικό όταν η φωνή είναι έτοιμη. Η ίδια ηχογράφηση απαιτεί ξεχωριστές κλωνοποιημένες φωνές για Flash και Plus.</p><p>Οι οδηγίες σε φυσική γλώσσα ελέγχουν την εκφορά τόσο των φωνών συστήματος όσο και των κλωνοποιημένων φωνών. Περιγράψτε ακουστές ιδιότητες, όπως απαλό τόνο, καθαρή άρθρωση ή ελαφρώς πιο αργό ρυθμό. Οι ενσωματωμένες ετικέτες προσφέρουν διαφορετικό έλεγχο: η [empathetic] ή η [serious] ορίζει ύφος για το κείμενο που ακολουθεί, ενώ η [laughing] ή η [sighing] εισάγει ένα φωνητικό εφέ σε συγκεκριμένη θέση. Μια ετικέτα ελέγχου ισχύει μέχρι την επόμενη ετικέτα ελέγχου ή τον αυτόματο χωρισμό σε προτάσεις. Αυτές οι ετικέτες συναισθήματος και εμπλουτισμένης ομιλίας τεκμηριώνονται μόνο για μονοκατευθυντική συνεχή ροή και όχι για την αμφίδρομη λειτουργία εισαγωγής κειμένου. Προετοιμάστε μια εκφραστική φράση στη λειτουργία που είναι κατάλληλη για αυτούς τους ελέγχους.</p><p>Η διεπαφή ομιλίας του κατασκευαστή υποστηρίζει PCM, WAV, MP3 και Opus. Οι αναφερόμενες συχνότητες δειγματοληψίας είναι 8.000, 16.000, 22.050, 24.000, 44.100 και 48.000 Hz, με προεπιλογές MP3 και 22.050 Hz. Η ένταση κυμαίνεται από 0 έως 100· η ταχύτητα ομιλίας και το τονικό ύψος κυμαίνονται, το καθένα, από 0,5 έως 2,0. Τα MP3 και Opus παρέχουν επίσης ρύθμιση ρυθμού μετάδοσης από 6 έως 510 kbps. Επιλέξτε μορφή και συχνότητα δειγματοληψίας που ταιριάζουν στην προβλεπόμενη συσκευή αναπαραγωγής ή στη ροή επεξεργασίας. Για διαδραστικές εφαρμογές, ο κατασκευαστής τεκμηριώνει πλαίσια ηχητικών δεδομένων σε συνεχή ροή και μεταδεδομένα προτάσεων, με χρονικές σημάνσεις σε επίπεδο λέξης διαθέσιμες στην έξοδο συνεχούς ροής για τις συμβατές φωνές, συμπεριλαμβανομένων των κλωνοποιημένων.</p><p>Το τεκμηριωμένο πρωτόκολλο κειμένου WebSocket δέχεται έως 20.000 χαρακτήρες σε ένα μήνυμα κειμένου και συνολικά 200.000 χαρακτήρες σε μία εργασία, με διάστημα μεταξύ των υποβολών που δεν υπερβαίνει τα 23 δευτερόλεπτα. Αυτά είναι όρια του πρωτοκόλλου του κατασκευαστή, διαφορετικά από ένα καθολικό όριο διάρκειας της ηχητικής εξόδου του μοντέλου. Υποστηρίζει ακύρωση του τρέχοντος γύρου σύνθεσης και επόμενη εργασία στην ίδια σύνδεση. Κρατήστε τα τμήματα κειμένου στην προβλεπόμενη σειρά εκφώνησης και ολοκληρώστε την εισαγωγή όταν ολοκληρωθεί το κείμενο. Για την προετοιμασία της προφοράς, ο κατασκευαστής τεκμηριώνει υποδείξεις γλώσσας-στόχου, σημειώσεις σε pinyin και αντικαταστάσεις κειμένου, χρήσιμες όταν αριθμοί, συντομογραφίες ή σύμβολα εκφωνούνται με μη αναμενόμενο τρόπο.</p><p>Το SSML είναι ξεχωριστή επιλογή σήμανσης με προϋποθέσεις ως προς τη φωνή και τη λειτουργία αλληλεπίδρασης: η Qwen το τεκμηριώνει για κλωνοποιημένες φωνές, με κλήσεις χωρίς συνεχή ροή ή με μονοκατευθυντική συνεχή ροή, και μία μόνο υποβολή κειμένου όταν είναι ενεργοποιημένο το SSML. Δεν πρέπει να θεωρείται δεδομένο για κάθε προκαθορισμένη φωνή ή αμφίδρομη ροή. Για συνηθισμένο διάλογο, ξεκινήστε με συμβατή φωνή, καθαρό κείμενο προς εκφώνηση και συγκεκριμένη οδηγία εκφοράς· προσθέστε στοχευμένους ελέγχους προφοράς ή έκφρασης όπου το απαιτεί η εργασία. Έτσι το προφίλ Flash παραμένει εστιασμένο στην άμεσα αποκρινόμενη ομιλία από προετοιμασμένο κείμενο και όχι σε δυνατότητες άλλων μοντέλων ήχου της Qwen.</p>",
  "aboutText": "Το Qwen-Audio-3.0-TTS-Flash μετατρέπει ένα κείμενο που του παρέχετε σε ομιλία, με την έκδοση Flash να εστιάζει στην αλληλεπίδραση σε πραγματικό χρόνο. Η Qwen αναφέρει ως κύριες εφαρμογές του τους φωνητικούς βοηθούς, τον διαδραστικό διάλογο και την έξυπνη εξυπηρέτηση πελατών. Σε σύγκριση με την προηγούμενη έκδοση, ο κατασκευαστής περιγράφει ευρύτερη υποστήριξη γλωσσών με περιορισμένους διαθέσιμους πόρους και κινεζικών διαλέκτων, πιο αυθεντική απόδοση των διαλέκτων και ισχυρότερο έλεγχο του συναισθήματος, του τόνου, του χαρακτήρα, της ταχύτητας, της έντασης και του ύφους ομιλίας. Αναφέρει επίσης βελτιωμένη καθαρότητα και ανθεκτικότητα σε ακουστικές συνθήκες με θόρυβο ή αντήχηση. Πρόκειται για σύνθεση ήχου από κείμενο, όχι για αναγνώριση εισερχόμενης ομιλίας ή για μοντέλο φωνητικού διαλόγου.\n\nΤο Flash δίνει προτεραιότητα στην έναρξη της ομιλίας σε μια διαδραστική συνομιλία. Η Qwen αναφέρει καθυστέρηση του πρώτου πακέτου έως 200 χιλιοστά του δευτερολέπτου για τη σύνθεση αυτού του μοντέλου σε πραγματικό χρόνο· ο οδηγός χρήσης της επισημαίνει επίσης ότι η αρχική εγκατάσταση της σύνδεσης συμβάλλει στη μετρούμενη καθυστέρηση της πρώτης υποβολής. Προετοιμάστε χωριστά τις λέξεις που θα εκφωνηθούν και τον επιθυμητό τρόπο εκφοράς. Για μια απάντηση φωνητικού βοηθού, ένα ενδεικτικό αίτημα θα μπορούσε να συνδυάζει μια συνοπτική απάντηση με οδηγία για ήρεμη, καθαρή εκφορά. Το σχετικό αποτέλεσμα είναι η παραγόμενη ομιλία για αυτό το κείμενο, ενώ η εφαρμογή αναλαμβάνει την αναπαραγωγή και την υπόλοιπη συνομιλία.\n\nΟ κατάλογος φωνών συστήματος του κατασκευαστή περιλαμβάνει επιλογές ειδικές για το μοντέλο, όπως τη Long An Feng Yue για φυσική, φιλική εκφορά και τη Long An Xiao Xin για φιλική, ζωηρή εκφορά, και τις δύο για μανδαρινικά και αγγλικά. Περιλαμβάνει επίσης αγγλόφωνες φωνές, όπως τη loongmary με βρετανική προφορά και τη loongjohn με αμερικανική προφορά και ήρεμο, φιλικό ύφος. Κάθε μοντέλο διαθέτει επιπλέον περισσότερες από 500 βασικές φωνές. Η Qwen συνιστά να ξεκινάτε από τις φωνές συστήματος για συνέπεια και να αξιολογείτε τα δείγματα προεπισκόπησης όταν επιλέγετε βασική φωνή. Η φωνή πρέπει να ανήκει στο επιλεγμένο μοντέλο και το κείμενο να χρησιμοποιεί γλώσσα που υποστηρίζει αυτή η φωνή.\n\nΟι κλωνοποιημένες φωνές διευρύνουν το τεκμηριωμένο σύνολο γλωσσών σε κινεζικά, αγγλικά, ιαπωνικά, κορεατικά, ρωσικά, γαλλικά, γερμανικά, πορτογαλικά, ταϊλανδικά, ινδονησιακά, βιετναμικά, ισπανικά, ιταλικά, μαλαϊκά, φιλιππινικά και αραβικά. Η κινεζική κάλυψη περιλαμβάνει μανδαρινικά, καντονέζικα και τις ποικιλίες Chongqing, της βορειοανατολικής Κίνας, Gansu, Guizhou, Zhejiang, Hebei, Henan, Hubei, Hunan, Jiangxi, Ningbo, Ningxia, Qingdao, Shaanxi, Shanxi, Shandong, της Σαγκάης, Sichuan και Yunnan, με επιλογή διαλέκτου μέσω οδηγιών. Ο πίνακας μοντέλων αναφέρει την υποστήριξη κλωνοποίησης φωνής από δείγμα και τη διακρίνει από τη δημιουργία νέας φωνής αποκλειστικά από περιγραφή κειμένου, την οποία αυτή η έκδοση δεν υποστηρίζει.\n\nΓια την κλωνοποίηση, ο κατασκευαστής συνιστά ηχογράφηση 10–20 δευτερολέπτων, με μέγιστο τα 60 δευτερόλεπτα και μέγεθος αρχείου έως 10 MB. Οι υποστηριζόμενες μορφές αναφοράς είναι 16-bit WAV, MP3 και M4A, με συχνότητα δειγματοληψίας τουλάχιστον 16 kHz. Η ηχογράφηση χρειάζεται τουλάχιστον πέντε δευτερόλεπτα συνεχούς, καθαρής ομιλίας· οι υπόλοιπες παύσεις δεν πρέπει να ξεπερνούν τα δύο δευτερόλεπτα. Αποφύγετε ήχους περιβάλλοντος, άλλες φωνές και τραγούδι. Ο στερεοφωνικός ήχος γίνεται δεκτός, αλλά επεξεργάζεται μόνο το πρώτο κανάλι. Η ροή κλωνοποίησης επιστρέφει ένα αναγνωριστικό φωνής δεσμευμένο στο ακριβές μοντέλο-στόχο και η σύνθεση χρησιμοποιεί αυτό το αναγνωριστικό όταν η φωνή είναι έτοιμη. Η ίδια ηχογράφηση απαιτεί ξεχωριστές κλωνοποιημένες φωνές για Flash και Plus.\n\nΟι οδηγίες σε φυσική γλώσσα ελέγχουν την εκφορά τόσο των φωνών συστήματος όσο και των κλωνοποιημένων φωνών. Περιγράψτε ακουστές ιδιότητες, όπως απαλό τόνο, καθαρή άρθρωση ή ελαφρώς πιο αργό ρυθμό. Οι ενσωματωμένες ετικέτες προσφέρουν διαφορετικό έλεγχο: η [empathetic] ή η [serious] ορίζει ύφος για το κείμενο που ακολουθεί, ενώ η [laughing] ή η [sighing] εισάγει ένα φωνητικό εφέ σε συγκεκριμένη θέση. Μια ετικέτα ελέγχου ισχύει μέχρι την επόμενη ετικέτα ελέγχου ή τον αυτόματο χωρισμό σε προτάσεις. Αυτές οι ετικέτες συναισθήματος και εμπλουτισμένης ομιλίας τεκμηριώνονται μόνο για μονοκατευθυντική συνεχή ροή και όχι για την αμφίδρομη λειτουργία εισαγωγής κειμένου. Προετοιμάστε μια εκφραστική φράση στη λειτουργία που είναι κατάλληλη για αυτούς τους ελέγχους.\n\nΗ διεπαφή ομιλίας του κατασκευαστή υποστηρίζει PCM, WAV, MP3 και Opus. Οι αναφερόμενες συχνότητες δειγματοληψίας είναι 8.000, 16.000, 22.050, 24.000, 44.100 και 48.000 Hz, με προεπιλογές MP3 και 22.050 Hz. Η ένταση κυμαίνεται από 0 έως 100· η ταχύτητα ομιλίας και το τονικό ύψος κυμαίνονται, το καθένα, από 0,5 έως 2,0. Τα MP3 και Opus παρέχουν επίσης ρύθμιση ρυθμού μετάδοσης από 6 έως 510 kbps. Επιλέξτε μορφή και συχνότητα δειγματοληψίας που ταιριάζουν στην προβλεπόμενη συσκευή αναπαραγωγής ή στη ροή επεξεργασίας. Για διαδραστικές εφαρμογές, ο κατασκευαστής τεκμηριώνει πλαίσια ηχητικών δεδομένων σε συνεχή ροή και μεταδεδομένα προτάσεων, με χρονικές σημάνσεις σε επίπεδο λέξης διαθέσιμες στην έξοδο συνεχούς ροής για τις συμβατές φωνές, συμπεριλαμβανομένων των κλωνοποιημένων.\n\nΤο τεκμηριωμένο πρωτόκολλο κειμένου WebSocket δέχεται έως 20.000 χαρακτήρες σε ένα μήνυμα κειμένου και συνολικά 200.000 χαρακτήρες σε μία εργασία, με διάστημα μεταξύ των υποβολών που δεν υπερβαίνει τα 23 δευτερόλεπτα. Αυτά είναι όρια του πρωτοκόλλου του κατασκευαστή, διαφορετικά από ένα καθολικό όριο διάρκειας της ηχητικής εξόδου του μοντέλου. Υποστηρίζει ακύρωση του τρέχοντος γύρου σύνθεσης και επόμενη εργασία στην ίδια σύνδεση. Κρατήστε τα τμήματα κειμένου στην προβλεπόμενη σειρά εκφώνησης και ολοκληρώστε την εισαγωγή όταν ολοκληρωθεί το κείμενο. Για την προετοιμασία της προφοράς, ο κατασκευαστής τεκμηριώνει υποδείξεις γλώσσας-στόχου, σημειώσεις σε pinyin και αντικαταστάσεις κειμένου, χρήσιμες όταν αριθμοί, συντομογραφίες ή σύμβολα εκφωνούνται με μη αναμενόμενο τρόπο.\n\nΤο SSML είναι ξεχωριστή επιλογή σήμανσης με προϋποθέσεις ως προς τη φωνή και τη λειτουργία αλληλεπίδρασης: η Qwen το τεκμηριώνει για κλωνοποιημένες φωνές, με κλήσεις χωρίς συνεχή ροή ή με μονοκατευθυντική συνεχή ροή, και μία μόνο υποβολή κειμένου όταν είναι ενεργοποιημένο το SSML. Δεν πρέπει να θεωρείται δεδομένο για κάθε προκαθορισμένη φωνή ή αμφίδρομη ροή. Για συνηθισμένο διάλογο, ξεκινήστε με συμβατή φωνή, καθαρό κείμενο προς εκφώνηση και συγκεκριμένη οδηγία εκφοράς· προσθέστε στοχευμένους ελέγχους προφοράς ή έκφρασης όπου το απαιτεί η εργασία. Έτσι το προφίλ Flash παραμένει εστιασμένο στην άμεσα αποκρινόμενη ομιλία από προετοιμασμένο κείμενο και όχι σε δυνατότητες άλλων μοντέλων ήχου της Qwen.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "e8df3352957df612b3fe8234bf8d412797ca77baecdfa600cae288f4b737bc94",
    "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\">Al</span><h2 id=\"sheet-title\">Qwen: Qwen-Audio-3.0-TTS Flash</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>Alibaba /</span><code>qwen/qwen-audio-3.0-tts-flash</code><button type=\"button\" id=\"copy-id\">Αντιγραφή ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Ενότητες κάρτας μοντέλου\"><button type=\"button\" data-card-jump=\"overview\">Εισαγωγή</button><button type=\"button\" data-card-jump=\"methods\">Είσοδοι και μέθοδοι</button><button type=\"button\" data-card-jump=\"pricing\">Τιμολόγηση</button><button type=\"button\" data-card-jump=\"examples\">Παραδείγματα</button><button type=\"button\" data-card-jump=\"results\">Αποτελέσματα</button><button type=\"button\" data-card-jump=\"aliases\">Εναλλακτικά ονόματα</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Μέθοδοι API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|speech|/v1/audio/speech|qwen%2Fqwen-audio-3.0-tts-flash\">Σύνθεση ομιλίας</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\">Το Qwen-Audio-3.0-TTS-Flash είναι το μοντέλο μετατροπής κειμένου σε ομιλία της Qwen, με έμφαση στους φωνητικούς βοηθούς που αποκρίνονται άμεσα και στον διαδραστικό διάλογο. Συνδυάζει σύνθεση με συνεχή ροή, προκαθορισμένες ή κλωνοποιημένες φωνές ειδικές για το μοντέλο και οδηγίες ή ετικέτες για εκφραστική ομιλία.</p><dl class=\"card-io\" data-card-io><div><dt>Αποδεκτές είσοδοι</dt><dd>Κείμενο</dd></div><div><dt>Αποτελέσματα</dt><dd>Ήχος</dd></div></dl><details class=\"card-about\"><summary>Σχετικά με το μοντέλο</summary><p class=\"note-s\" data-model-method-boundary>Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.</p><div class=\"mabout\" id=\"m-about\"><p>Το Qwen-Audio-3.0-TTS-Flash μετατρέπει ένα κείμενο που του παρέχετε σε ομιλία, με την έκδοση Flash να εστιάζει στην αλληλεπίδραση σε πραγματικό χρόνο. Η Qwen αναφέρει ως κύριες εφαρμογές του τους φωνητικούς βοηθούς, τον διαδραστικό διάλογο και την έξυπνη εξυπηρέτηση πελατών. Σε σύγκριση με την προηγούμενη έκδοση, ο κατασκευαστής περιγράφει ευρύτερη υποστήριξη γλωσσών με περιορισμένους διαθέσιμους πόρους και κινεζικών διαλέκτων, πιο αυθεντική απόδοση των διαλέκτων και ισχυρότερο έλεγχο του συναισθήματος, του τόνου, του χαρακτήρα, της ταχύτητας, της έντασης και του ύφους ομιλίας. Αναφέρει επίσης βελτιωμένη καθαρότητα και ανθεκτικότητα σε ακουστικές συνθήκες με θόρυβο ή αντήχηση. Πρόκειται για σύνθεση ήχου από κείμενο, όχι για αναγνώριση εισερχόμενης ομιλίας ή για μοντέλο φωνητικού διαλόγου.</p><p>Το Flash δίνει προτεραιότητα στην έναρξη της ομιλίας σε μια διαδραστική συνομιλία. Η Qwen αναφέρει καθυστέρηση του πρώτου πακέτου έως 200 χιλιοστά του δευτερολέπτου για τη σύνθεση αυτού του μοντέλου σε πραγματικό χρόνο· ο οδηγός χρήσης της επισημαίνει επίσης ότι η αρχική εγκατάσταση της σύνδεσης συμβάλλει στη μετρούμενη καθυστέρηση της πρώτης υποβολής. Προετοιμάστε χωριστά τις λέξεις που θα εκφωνηθούν και τον επιθυμητό τρόπο εκφοράς. Για μια απάντηση φωνητικού βοηθού, ένα ενδεικτικό αίτημα θα μπορούσε να συνδυάζει μια συνοπτική απάντηση με οδηγία για ήρεμη, καθαρή εκφορά. Το σχετικό αποτέλεσμα είναι η παραγόμενη ομιλία για αυτό το κείμενο, ενώ η εφαρμογή αναλαμβάνει την αναπαραγωγή και την υπόλοιπη συνομιλία.</p><p>Ο κατάλογος φωνών συστήματος του κατασκευαστή περιλαμβάνει επιλογές ειδικές για το μοντέλο, όπως τη Long An Feng Yue για φυσική, φιλική εκφορά και τη Long An Xiao Xin για φιλική, ζωηρή εκφορά, και τις δύο για μανδαρινικά και αγγλικά. Περιλαμβάνει επίσης αγγλόφωνες φωνές, όπως τη loongmary με βρετανική προφορά και τη loongjohn με αμερικανική προφορά και ήρεμο, φιλικό ύφος. Κάθε μοντέλο διαθέτει επιπλέον περισσότερες από 500 βασικές φωνές. Η Qwen συνιστά να ξεκινάτε από τις φωνές συστήματος για συνέπεια και να αξιολογείτε τα δείγματα προεπισκόπησης όταν επιλέγετε βασική φωνή. Η φωνή πρέπει να ανήκει στο επιλεγμένο μοντέλο και το κείμενο να χρησιμοποιεί γλώσσα που υποστηρίζει αυτή η φωνή.</p><p>Οι κλωνοποιημένες φωνές διευρύνουν το τεκμηριωμένο σύνολο γλωσσών σε κινεζικά, αγγλικά, ιαπωνικά, κορεατικά, ρωσικά, γαλλικά, γερμανικά, πορτογαλικά, ταϊλανδικά, ινδονησιακά, βιετναμικά, ισπανικά, ιταλικά, μαλαϊκά, φιλιππινικά και αραβικά. Η κινεζική κάλυψη περιλαμβάνει μανδαρινικά, καντονέζικα και τις ποικιλίες Chongqing, της βορειοανατολικής Κίνας, Gansu, Guizhou, Zhejiang, Hebei, Henan, Hubei, Hunan, Jiangxi, Ningbo, Ningxia, Qingdao, Shaanxi, Shanxi, Shandong, της Σαγκάης, Sichuan και Yunnan, με επιλογή διαλέκτου μέσω οδηγιών. Ο πίνακας μοντέλων αναφέρει την υποστήριξη κλωνοποίησης φωνής από δείγμα και τη διακρίνει από τη δημιουργία νέας φωνής αποκλειστικά από περιγραφή κειμένου, την οποία αυτή η έκδοση δεν υποστηρίζει.</p><p>Για την κλωνοποίηση, ο κατασκευαστής συνιστά ηχογράφηση 10–20 δευτερολέπτων, με μέγιστο τα 60 δευτερόλεπτα και μέγεθος αρχείου έως 10 MB. Οι υποστηριζόμενες μορφές αναφοράς είναι 16-bit WAV, MP3 και M4A, με συχνότητα δειγματοληψίας τουλάχιστον 16 kHz. Η ηχογράφηση χρειάζεται τουλάχιστον πέντε δευτερόλεπτα συνεχούς, καθαρής ομιλίας· οι υπόλοιπες παύσεις δεν πρέπει να ξεπερνούν τα δύο δευτερόλεπτα. Αποφύγετε ήχους περιβάλλοντος, άλλες φωνές και τραγούδι. Ο στερεοφωνικός ήχος γίνεται δεκτός, αλλά επεξεργάζεται μόνο το πρώτο κανάλι. Η ροή κλωνοποίησης επιστρέφει ένα αναγνωριστικό φωνής δεσμευμένο στο ακριβές μοντέλο-στόχο και η σύνθεση χρησιμοποιεί αυτό το αναγνωριστικό όταν η φωνή είναι έτοιμη. Η ίδια ηχογράφηση απαιτεί ξεχωριστές κλωνοποιημένες φωνές για Flash και Plus.</p><p>Οι οδηγίες σε φυσική γλώσσα ελέγχουν την εκφορά τόσο των φωνών συστήματος όσο και των κλωνοποιημένων φωνών. Περιγράψτε ακουστές ιδιότητες, όπως απαλό τόνο, καθαρή άρθρωση ή ελαφρώς πιο αργό ρυθμό. Οι ενσωματωμένες ετικέτες προσφέρουν διαφορετικό έλεγχο: η [empathetic] ή η [serious] ορίζει ύφος για το κείμενο που ακολουθεί, ενώ η [laughing] ή η [sighing] εισάγει ένα φωνητικό εφέ σε συγκεκριμένη θέση. Μια ετικέτα ελέγχου ισχύει μέχρι την επόμενη ετικέτα ελέγχου ή τον αυτόματο χωρισμό σε προτάσεις. Αυτές οι ετικέτες συναισθήματος και εμπλουτισμένης ομιλίας τεκμηριώνονται μόνο για μονοκατευθυντική συνεχή ροή και όχι για την αμφίδρομη λειτουργία εισαγωγής κειμένου. Προετοιμάστε μια εκφραστική φράση στη λειτουργία που είναι κατάλληλη για αυτούς τους ελέγχους.</p><p>Η διεπαφή ομιλίας του κατασκευαστή υποστηρίζει PCM, WAV, MP3 και Opus. Οι αναφερόμενες συχνότητες δειγματοληψίας είναι 8.000, 16.000, 22.050, 24.000, 44.100 και 48.000 Hz, με προεπιλογές MP3 και 22.050 Hz. Η ένταση κυμαίνεται από 0 έως 100· η ταχύτητα ομιλίας και το τονικό ύψος κυμαίνονται, το καθένα, από 0,5 έως 2,0. Τα MP3 και Opus παρέχουν επίσης ρύθμιση ρυθμού μετάδοσης από 6 έως 510 kbps. Επιλέξτε μορφή και συχνότητα δειγματοληψίας που ταιριάζουν στην προβλεπόμενη συσκευή αναπαραγωγής ή στη ροή επεξεργασίας. Για διαδραστικές εφαρμογές, ο κατασκευαστής τεκμηριώνει πλαίσια ηχητικών δεδομένων σε συνεχή ροή και μεταδεδομένα προτάσεων, με χρονικές σημάνσεις σε επίπεδο λέξης διαθέσιμες στην έξοδο συνεχούς ροής για τις συμβατές φωνές, συμπεριλαμβανομένων των κλωνοποιημένων.</p><p>Το τεκμηριωμένο πρωτόκολλο κειμένου WebSocket δέχεται έως 20.000 χαρακτήρες σε ένα μήνυμα κειμένου και συνολικά 200.000 χαρακτήρες σε μία εργασία, με διάστημα μεταξύ των υποβολών που δεν υπερβαίνει τα 23 δευτερόλεπτα. Αυτά είναι όρια του πρωτοκόλλου του κατασκευαστή, διαφορετικά από ένα καθολικό όριο διάρκειας της ηχητικής εξόδου του μοντέλου. Υποστηρίζει ακύρωση του τρέχοντος γύρου σύνθεσης και επόμενη εργασία στην ίδια σύνδεση. Κρατήστε τα τμήματα κειμένου στην προβλεπόμενη σειρά εκφώνησης και ολοκληρώστε την εισαγωγή όταν ολοκληρωθεί το κείμενο. Για την προετοιμασία της προφοράς, ο κατασκευαστής τεκμηριώνει υποδείξεις γλώσσας-στόχου, σημειώσεις σε pinyin και αντικαταστάσεις κειμένου, χρήσιμες όταν αριθμοί, συντομογραφίες ή σύμβολα εκφωνούνται με μη αναμενόμενο τρόπο.</p><p>Το SSML είναι ξεχωριστή επιλογή σήμανσης με προϋποθέσεις ως προς τη φωνή και τη λειτουργία αλληλεπίδρασης: η Qwen το τεκμηριώνει για κλωνοποιημένες φωνές, με κλήσεις χωρίς συνεχή ροή ή με μονοκατευθυντική συνεχή ροή, και μία μόνο υποβολή κειμένου όταν είναι ενεργοποιημένο το SSML. Δεν πρέπει να θεωρείται δεδομένο για κάθε προκαθορισμένη φωνή ή αμφίδρομη ροή. Για συνηθισμένο διάλογο, ξεκινήστε με συμβατή φωνή, καθαρό κείμενο προς εκφώνηση και συγκεκριμένη οδηγία εκφοράς· προσθέστε στοχευμένους ελέγχους προφοράς ή έκφρασης όπου το απαιτεί η εργασία. Έτσι το προφίλ Flash παραμένει εστιασμένο στην άμεσα αποκρινόμενη ομιλία από προετοιμασμένο κείμενο και όχι σε δυνατότητες άλλων μοντέλων ήχου της Qwen.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Σύνθεση ομιλίας</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>Είσοδος</dt><dd><code>text</code></dd></div><div><dt>Έξοδος</dt><dd><code>audio</code></dd></div><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>qwen/qwen-audio-3.0-tts-flash</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>Μονάδα: χαρακτήρες 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>loongjohn, longanhuan_v3.6</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>content_type</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>application/json</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>required</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>model, input, voice, response_format</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>voice_ids</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>loongjohn, longanhuan_v3.6</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>response_format</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>mp3</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>max_input_characters</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>other_options</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>false</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>input</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>ακριβές κείμενο UTF-8· πλήθος χαρακτήρων Unicode χωρίς κανονικοποίηση</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>material_types</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>text</td></tr></tbody></table></div><p>Κύκλος ζωής: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p><p class=\"note-s\">Επιλέξτε την ακριβή φωνή από αυτό το προφίλ μοντέλου.</p><p class=\"note-s\">Οι χαρακτήρες εισόδου και τα δευτερόλεπτα ήχου αποτελούν διαφορετικές μονάδες μέτρησης.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Τιμολόγηση</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.</p><dl data-price-conditions><dt>Γρήγορη λειτουργία</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν επιλέγεται η γρήγορη λειτουργία</span></dd><dt>Λειτουργία flex</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν επιλέγεται η λειτουργία flex</span></dd><dt>Μέγιστη προσπάθεια συλλογισμού</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default</span></dd></dl></div><div data-declared-tariff-pricing><h4>Χρεώσεις Ailoot</h4><h4>Τιμές ανά διαμόρφωση</h4><p class=\"note-s\">Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Πίνακας χρεώσεων</th><th>Χρεώσιμη ποσότητα</th><th>Μονάδα τιμολόγησης</th><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Βασικές χρεώσεις token</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>Βασική χρέωση</td><td data-cell-label=\"Χρεώσιμη ποσότητα\"><span class=\"card-cell-label\">Χρεώσιμη ποσότητα</span>—</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>—</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Token εισόδου</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Έξοδος · Token εξόδου</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Ανάγνωση από την κρυφή μνήμη</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Ultra</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>—</td><td data-cell-label=\"Χρεώσιμη ποσότητα\"><span class=\"card-cell-label\">Χρεώσιμη ποσότητα</span>Κάθε σημείο κώδικα Unicode μετρά ως ένας χαρακτήρας, συμπεριλαμβανομένων των χαρακτήρων Han.</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>ανά 1K χαρακτήρες εισόδου</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · χαρακτήρας εισόδου</span> <b>$0.03</b> <span class=\"price-unit\">ανά 1K χαρακτήρες εισόδου</span></div></td></tr></tbody></table></div></div><div data-declared-reference-pricing><h4>Στοιχεία τιμοκαταλόγου αναφοράς</h4><p class=\"note-s\">Οι πίνακες αναφοράς του μοντέλου δεν αλλάζουν την επιλογή μεθόδου, τις εκτιμήσεις τιμής ή τις χρεώσεις. Οι εφαρμοζόμενες χρεώσεις χρησιμοποιούν τις τιμές της επιλεγμένης μεθόδου Ailoot.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Qwen: Qwen-Audio-3.0-TTS Flash</summary><h4>Τιμές ανά διαμόρφωση</h4><div class=\"tw\" data-pricing-profiles><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>Qwen: Qwen-Audio-3.0-TTS Flash · Προεπιλεγμένη διαμόρφωση</th><td data-cell-label=\"Συνθήκες χρέωσης\"><span class=\"card-cell-label\">Συνθήκες χρέωσης</span>Προεπιλεγμένη διαμόρφωση</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Χαρακτήρες εισόδου</span> <b>0,00003 $</b> <span class=\"price-unit\">ανά χαρακτήρα εισόδου</span></div></td></tr></tbody></table></div></details></div><p class=\"note-s\">Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. <a href=\"/docs/el/billing/reserve/\">Πώς λειτουργούν η δέσμευση και η εκκαθάριση →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Παραδείγματα αιτημάτων</h3><h4>Ailoot Ultra · Σύνθεση ομιλίας</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-2360-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2360-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</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-2360-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2360-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}&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;qwen/qwen-audio-3.0-tts-flash&quot;, &quot;input&quot;: &quot;Good afternoon! This is a short voice take.&quot;}&#39;)\nvoice=os.environ[&quot;AILOOT_VOICE_ID&quot;]\nallowed=json.loads(&#39;[&quot;loongjohn&quot;, &quot;longanhuan_v3.6&quot;]&#39;)\nif voice not in allowed: raise SystemExit(&quot;Choose an accepted voice ID from this exact model profile&quot;)\np[&quot;voice&quot;]=voice\np[&quot;response_format&quot;]=&quot;mp3&quot;\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 Ultra · Σύνθεση ομιλίας</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><details class=\"card-about\"><summary>Άλλες ανακτήσεις περιεχομένου</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-2361-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2361-panel-0\" aria-selected=\"true\" tabindex=\"0\">Βιβλιοθήκη πολυμέσων</button><button class=\"cg-tab\" id=\"model-code-2361-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2361-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Κατάσταση εργασίας</button><button class=\"cg-tab\" id=\"model-code-2361-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2361-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Στοιχεία αρχείου</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-2361-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2361-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-assets.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2361-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2361-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}&quot;\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_MEDIA_TASK_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/media/tasks/$resource_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-task.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;media-task.json&quot;).read_text())))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2361-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-2361-tab-2\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}&quot;\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_ASSET_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/media/assets/$resource_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-asset.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;media-asset.json&quot;).read_text())))\nPY_RESULT\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα</h5><p class=\"note-s\">Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.</p><p class=\"note-s\">Διατηρήστε ολόκληρο το δυαδικό αποτέλεσμα και τις κεφαλίδες. Αν επιστραφεί 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=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=qwen%2Fqwen-audio-3.0-tts-flash&amp;route=Ultra&amp;caller=qwen%2Fqwen-audio-3.0-tts-flash&amp;fmt=speech\"><code>qwen/qwen-audio-3.0-tts-flash</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\">Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.</p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=qwen%2Fqwen-audio-3.0-tts-flash&amp;route=Ultra&amp;caller=qwen%2Fqwen-audio-3.0-tts-flash&amp;fmt=speech\"><code>qwen/qwen-audio-3.0-tts-flash</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "qwen/qwen-audio-3.0-tts-flash",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "qwen/qwen-audio-3.0-tts-flash",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|qwen%2Fqwen-audio-3.0-tts-flash",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": 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": [],
            "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",
              "http_success": 200
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "qwen/qwen-audio-3.0-tts-flash"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "limit_known": false,
                "maximum_length": null,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "χαρακτήρες Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "loongjohn",
                  "longanhuan_v3.6"
                ],
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "every field outside exactmodel,input,voice,response_format",
              "stream/speed/reference speech options"
            ]
          },
          "hints": [
            "Επιλέξτε την ακριβή φωνή από αυτό το προφίλ μοντέλου.",
            "Οι χαρακτήρες εισόδου και τα δευτερόλεπτα ήχου αποτελούν διαφορετικές μονάδες μέτρησης."
          ],
          "input": {
            "content_type": "application/json",
            "input": "ακριβές κείμενο UTF-8· πλήθος χαρακτήρων Unicode χωρίς κανονικοποίηση",
            "material_types": [
              "text"
            ],
            "max_input_characters": null,
            "other_options": false,
            "required": [
              "model",
              "input",
              "voice",
              "response_format"
            ],
            "response_format": [
              "mp3"
            ],
            "voice_ids": [
              "loongjohn",
              "longanhuan_v3.6"
            ]
          },
          "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."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "family": "audio",
            "format": "mp3",
            "http_success": 200,
            "response": "full binary MP3 plus response headers",
            "result": "complete playable owned MP3"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quantity_meter": "utf8.RuneCountInString(validUTF8): one Han codepoint=1; no Han weighting",
              "quoted_unit": "per 1000 input character"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.03000",
                "amount_unit": "usd_per_1000_characters",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per 1000 input character",
                "quantity": "1000",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_character"
              }
            ]
          }
        ],
        "declared_tariff_references": [
          {
            "client_selectable": false,
            "key": "1005b0881c111e8d7cb6",
            "label": "Qwen: Qwen-Audio-3.0-TTS Flash",
            "profiles": [
              {
                "basis": "",
                "dimensions": {
                  "conditions": "Προεπιλεγμένη διαμόρφωση"
                },
                "label": "Qwen: Qwen-Audio-3.0-TTS Flash · Προεπιλεγμένη διαμόρφωση",
                "units": [
                  {
                    "amount": "0.000030",
                    "amount_unit": "usd_per_exact_physical_unit",
                    "billing_input": false,
                    "key": "723fd9e7b35c0e460956bc11",
                    "label": "Input characters",
                    "public_unit_label": "per input character",
                    "quantity": "1",
                    "rate_role": "declared_tariff_rate",
                    "side": "in",
                    "unit": "input_character"
                  }
                ]
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"qwen/qwen-audio-3.0-tts-flash\", \"input\": \"Good afternoon! This is a short voice take.\"}')\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nallowed=json.loads('[\"loongjohn\", \"longanhuan_v3.6\"]')\nif voice not in allowed: raise SystemExit(\"Choose an accepted voice ID from this exact model profile\")\np[\"voice\"]=voice\np[\"response_format\"]=\"mp3\"\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": "curl",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-assets.json\n",
            "label": "List actual media assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_MEDIA_TASK_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/tasks/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-task.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-task.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual media task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_ASSET_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/assets/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-asset.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-asset.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual asset metadata",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Select exact voice from this model profile.",
          "Input characters and audio seconds are different meters."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Озвучка текста",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_character": 3e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quantity_meter": "utf8.RuneCountInString(validUTF8): one Han codepoint=1; no Han weighting",
              "quoted_unit": "per 1000 input character"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.03000",
                "amount_unit": "usd_per_1000_characters",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per 1000 input character",
                "quantity": "1000",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_character"
              }
            ]
          }
        ],
        "request_model_id": "qwen/qwen-audio-3.0-tts-flash",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.03000",
            "amount_unit": "usd_per_1000_characters",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per 1000 input character",
            "quantity": "1000",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_character"
          }
        ]
      }
    }
  ],
  "model_id": "qwen/qwen-audio-3.0-tts-flash",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "070048f5fcb55f00efb627648c53b0e82801f5cfea3f88f3b578d1e2541245b6",
    "input_html_sha256": "48fff18a3e7e4fe3744708f7aef122486c561ca80a4d66c464493c1183c70c0b",
    "private_audit_sha256": "9965120c6389b81bec186b3ef6892f7a21f88ba944eccfa2c0a4f7975f464e88",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/qwen-qwen-audio-3-0-tts-flash/",
    "description": "Το Qwen-Audio-3.0-TTS-Flash είναι το μοντέλο μετατροπής κειμένου σε ομιλία της Qwen, με έμφαση στους φωνητικούς βοηθούς που αποκρίνονται άμεσα και στον διαδραστικό διάλογο. Συνδυάζει σύνθεση με συνεχή ροή, προκαθορισμένες ή κλωνοποιημένες φωνές ειδικές για το μοντέλο και οδηγίες ή ετικέτες για εκφραστική ομιλία.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/qwen-qwen-audio-3-0-tts-flash/index.md",
    "title": "Qwen: Qwen-Audio-3.0-TTS Flash — Ailoot",
    "url": "https://ailoot.ai/models/el/qwen-qwen-audio-3-0-tts-flash/"
  },
  "rawModel": {
    "about": "Το Qwen-Audio-3.0-TTS-Flash μετατρέπει ένα κείμενο που του παρέχετε σε ομιλία, με την έκδοση Flash να εστιάζει στην αλληλεπίδραση σε πραγματικό χρόνο. Η Qwen αναφέρει ως κύριες εφαρμογές του τους φωνητικούς βοηθούς, τον διαδραστικό διάλογο και την έξυπνη εξυπηρέτηση πελατών. Σε σύγκριση με την προηγούμενη έκδοση, ο κατασκευαστής περιγράφει ευρύτερη υποστήριξη γλωσσών με περιορισμένους διαθέσιμους πόρους και κινεζικών διαλέκτων, πιο αυθεντική απόδοση των διαλέκτων και ισχυρότερο έλεγχο του συναισθήματος, του τόνου, του χαρακτήρα, της ταχύτητας, της έντασης και του ύφους ομιλίας. Αναφέρει επίσης βελτιωμένη καθαρότητα και ανθεκτικότητα σε ακουστικές συνθήκες με θόρυβο ή αντήχηση. Πρόκειται για σύνθεση ήχου από κείμενο, όχι για αναγνώριση εισερχόμενης ομιλίας ή για μοντέλο φωνητικού διαλόγου.\n\nΤο Flash δίνει προτεραιότητα στην έναρξη της ομιλίας σε μια διαδραστική συνομιλία. Η Qwen αναφέρει καθυστέρηση του πρώτου πακέτου έως 200 χιλιοστά του δευτερολέπτου για τη σύνθεση αυτού του μοντέλου σε πραγματικό χρόνο· ο οδηγός χρήσης της επισημαίνει επίσης ότι η αρχική εγκατάσταση της σύνδεσης συμβάλλει στη μετρούμενη καθυστέρηση της πρώτης υποβολής. Προετοιμάστε χωριστά τις λέξεις που θα εκφωνηθούν και τον επιθυμητό τρόπο εκφοράς. Για μια απάντηση φωνητικού βοηθού, ένα ενδεικτικό αίτημα θα μπορούσε να συνδυάζει μια συνοπτική απάντηση με οδηγία για ήρεμη, καθαρή εκφορά. Το σχετικό αποτέλεσμα είναι η παραγόμενη ομιλία για αυτό το κείμενο, ενώ η εφαρμογή αναλαμβάνει την αναπαραγωγή και την υπόλοιπη συνομιλία.\n\nΟ κατάλογος φωνών συστήματος του κατασκευαστή περιλαμβάνει επιλογές ειδικές για το μοντέλο, όπως τη Long An Feng Yue για φυσική, φιλική εκφορά και τη Long An Xiao Xin για φιλική, ζωηρή εκφορά, και τις δύο για μανδαρινικά και αγγλικά. Περιλαμβάνει επίσης αγγλόφωνες φωνές, όπως τη loongmary με βρετανική προφορά και τη loongjohn με αμερικανική προφορά και ήρεμο, φιλικό ύφος. Κάθε μοντέλο διαθέτει επιπλέον περισσότερες από 500 βασικές φωνές. Η Qwen συνιστά να ξεκινάτε από τις φωνές συστήματος για συνέπεια και να αξιολογείτε τα δείγματα προεπισκόπησης όταν επιλέγετε βασική φωνή. Η φωνή πρέπει να ανήκει στο επιλεγμένο μοντέλο και το κείμενο να χρησιμοποιεί γλώσσα που υποστηρίζει αυτή η φωνή.\n\nΟι κλωνοποιημένες φωνές διευρύνουν το τεκμηριωμένο σύνολο γλωσσών σε κινεζικά, αγγλικά, ιαπωνικά, κορεατικά, ρωσικά, γαλλικά, γερμανικά, πορτογαλικά, ταϊλανδικά, ινδονησιακά, βιετναμικά, ισπανικά, ιταλικά, μαλαϊκά, φιλιππινικά και αραβικά. Η κινεζική κάλυψη περιλαμβάνει μανδαρινικά, καντονέζικα και τις ποικιλίες Chongqing, της βορειοανατολικής Κίνας, Gansu, Guizhou, Zhejiang, Hebei, Henan, Hubei, Hunan, Jiangxi, Ningbo, Ningxia, Qingdao, Shaanxi, Shanxi, Shandong, της Σαγκάης, Sichuan και Yunnan, με επιλογή διαλέκτου μέσω οδηγιών. Ο πίνακας μοντέλων αναφέρει την υποστήριξη κλωνοποίησης φωνής από δείγμα και τη διακρίνει από τη δημιουργία νέας φωνής αποκλειστικά από περιγραφή κειμένου, την οποία αυτή η έκδοση δεν υποστηρίζει.\n\nΓια την κλωνοποίηση, ο κατασκευαστής συνιστά ηχογράφηση 10–20 δευτερολέπτων, με μέγιστο τα 60 δευτερόλεπτα και μέγεθος αρχείου έως 10 MB. Οι υποστηριζόμενες μορφές αναφοράς είναι 16-bit WAV, MP3 και M4A, με συχνότητα δειγματοληψίας τουλάχιστον 16 kHz. Η ηχογράφηση χρειάζεται τουλάχιστον πέντε δευτερόλεπτα συνεχούς, καθαρής ομιλίας· οι υπόλοιπες παύσεις δεν πρέπει να ξεπερνούν τα δύο δευτερόλεπτα. Αποφύγετε ήχους περιβάλλοντος, άλλες φωνές και τραγούδι. Ο στερεοφωνικός ήχος γίνεται δεκτός, αλλά επεξεργάζεται μόνο το πρώτο κανάλι. Η ροή κλωνοποίησης επιστρέφει ένα αναγνωριστικό φωνής δεσμευμένο στο ακριβές μοντέλο-στόχο και η σύνθεση χρησιμοποιεί αυτό το αναγνωριστικό όταν η φωνή είναι έτοιμη. Η ίδια ηχογράφηση απαιτεί ξεχωριστές κλωνοποιημένες φωνές για Flash και Plus.\n\nΟι οδηγίες σε φυσική γλώσσα ελέγχουν την εκφορά τόσο των φωνών συστήματος όσο και των κλωνοποιημένων φωνών. Περιγράψτε ακουστές ιδιότητες, όπως απαλό τόνο, καθαρή άρθρωση ή ελαφρώς πιο αργό ρυθμό. Οι ενσωματωμένες ετικέτες προσφέρουν διαφορετικό έλεγχο: η [empathetic] ή η [serious] ορίζει ύφος για το κείμενο που ακολουθεί, ενώ η [laughing] ή η [sighing] εισάγει ένα φωνητικό εφέ σε συγκεκριμένη θέση. Μια ετικέτα ελέγχου ισχύει μέχρι την επόμενη ετικέτα ελέγχου ή τον αυτόματο χωρισμό σε προτάσεις. Αυτές οι ετικέτες συναισθήματος και εμπλουτισμένης ομιλίας τεκμηριώνονται μόνο για μονοκατευθυντική συνεχή ροή και όχι για την αμφίδρομη λειτουργία εισαγωγής κειμένου. Προετοιμάστε μια εκφραστική φράση στη λειτουργία που είναι κατάλληλη για αυτούς τους ελέγχους.\n\nΗ διεπαφή ομιλίας του κατασκευαστή υποστηρίζει PCM, WAV, MP3 και Opus. Οι αναφερόμενες συχνότητες δειγματοληψίας είναι 8.000, 16.000, 22.050, 24.000, 44.100 και 48.000 Hz, με προεπιλογές MP3 και 22.050 Hz. Η ένταση κυμαίνεται από 0 έως 100· η ταχύτητα ομιλίας και το τονικό ύψος κυμαίνονται, το καθένα, από 0,5 έως 2,0. Τα MP3 και Opus παρέχουν επίσης ρύθμιση ρυθμού μετάδοσης από 6 έως 510 kbps. Επιλέξτε μορφή και συχνότητα δειγματοληψίας που ταιριάζουν στην προβλεπόμενη συσκευή αναπαραγωγής ή στη ροή επεξεργασίας. Για διαδραστικές εφαρμογές, ο κατασκευαστής τεκμηριώνει πλαίσια ηχητικών δεδομένων σε συνεχή ροή και μεταδεδομένα προτάσεων, με χρονικές σημάνσεις σε επίπεδο λέξης διαθέσιμες στην έξοδο συνεχούς ροής για τις συμβατές φωνές, συμπεριλαμβανομένων των κλωνοποιημένων.\n\nΤο τεκμηριωμένο πρωτόκολλο κειμένου WebSocket δέχεται έως 20.000 χαρακτήρες σε ένα μήνυμα κειμένου και συνολικά 200.000 χαρακτήρες σε μία εργασία, με διάστημα μεταξύ των υποβολών που δεν υπερβαίνει τα 23 δευτερόλεπτα. Αυτά είναι όρια του πρωτοκόλλου του κατασκευαστή, διαφορετικά από ένα καθολικό όριο διάρκειας της ηχητικής εξόδου του μοντέλου. Υποστηρίζει ακύρωση του τρέχοντος γύρου σύνθεσης και επόμενη εργασία στην ίδια σύνδεση. Κρατήστε τα τμήματα κειμένου στην προβλεπόμενη σειρά εκφώνησης και ολοκληρώστε την εισαγωγή όταν ολοκληρωθεί το κείμενο. Για την προετοιμασία της προφοράς, ο κατασκευαστής τεκμηριώνει υποδείξεις γλώσσας-στόχου, σημειώσεις σε pinyin και αντικαταστάσεις κειμένου, χρήσιμες όταν αριθμοί, συντομογραφίες ή σύμβολα εκφωνούνται με μη αναμενόμενο τρόπο.\n\nΤο SSML είναι ξεχωριστή επιλογή σήμανσης με προϋποθέσεις ως προς τη φωνή και τη λειτουργία αλληλεπίδρασης: η Qwen το τεκμηριώνει για κλωνοποιημένες φωνές, με κλήσεις χωρίς συνεχή ροή ή με μονοκατευθυντική συνεχή ροή, και μία μόνο υποβολή κειμένου όταν είναι ενεργοποιημένο το SSML. Δεν πρέπει να θεωρείται δεδομένο για κάθε προκαθορισμένη φωνή ή αμφίδρομη ροή. Για συνηθισμένο διάλογο, ξεκινήστε με συμβατή φωνή, καθαρό κείμενο προς εκφώνηση και συγκεκριμένη οδηγία εκφοράς· προσθέστε στοχευμένους ελέγχους προφοράς ή έκφρασης όπου το απαιτεί η εργασία. Έτσι το προφίλ Flash παραμένει εστιασμένο στην άμεσα αποκρινόμενη ομιλία από προετοιμασμένο κείμενο και όχι σε δυνατότητες άλλων μοντέλων ήχου της Qwen.",
    "alias_of": null,
    "aliases": [],
    "author": "Alibaba",
    "available": null,
    "canonical_model": "qwen/qwen-audio-3.0-tts-flash",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.03000",
            "amount_unit": "usd_per_1000_characters",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per 1000 input character",
            "quantity": "1000",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_character"
          }
        ],
        "summary": "Πλήρης τιμολόγηση της διαμόρφωσης στις λεπτομέρειες."
      }
    ],
    "ctx": null,
    "entity_type": "model",
    "formats": [
      "speech"
    ],
    "id": "qwen/qwen-audio-3.0-tts-flash",
    "input": [
      "text"
    ],
    "kind": "speech",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": 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": [],
            "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",
              "http_success": 200
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "qwen/qwen-audio-3.0-tts-flash"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "limit_known": false,
                "maximum_length": null,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "χαρακτήρες Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "loongjohn",
                  "longanhuan_v3.6"
                ],
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "every field outside exactmodel,input,voice,response_format",
              "stream/speed/reference speech options"
            ]
          },
          "hints": [
            "Επιλέξτε την ακριβή φωνή από αυτό το προφίλ μοντέλου.",
            "Οι χαρακτήρες εισόδου και τα δευτερόλεπτα ήχου αποτελούν διαφορετικές μονάδες μέτρησης."
          ],
          "input": {
            "content_type": "application/json",
            "input": "ακριβές κείμενο UTF-8· πλήθος χαρακτήρων Unicode χωρίς κανονικοποίηση",
            "material_types": [
              "text"
            ],
            "max_input_characters": null,
            "other_options": false,
            "required": [
              "model",
              "input",
              "voice",
              "response_format"
            ],
            "response_format": [
              "mp3"
            ],
            "voice_ids": [
              "loongjohn",
              "longanhuan_v3.6"
            ]
          },
          "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."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "family": "audio",
            "format": "mp3",
            "http_success": 200,
            "response": "full binary MP3 plus response headers",
            "result": "complete playable owned MP3"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quantity_meter": "utf8.RuneCountInString(validUTF8): one Han codepoint=1; no Han weighting",
              "quoted_unit": "per 1000 input character"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.03000",
                "amount_unit": "usd_per_1000_characters",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per 1000 input character",
                "quantity": "1000",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_character"
              }
            ]
          }
        ],
        "declared_tariff_references": [
          {
            "client_selectable": false,
            "key": "1005b0881c111e8d7cb6",
            "label": "Qwen: Qwen-Audio-3.0-TTS Flash",
            "profiles": [
              {
                "basis": "",
                "dimensions": {
                  "conditions": "Προεπιλεγμένη διαμόρφωση"
                },
                "label": "Qwen: Qwen-Audio-3.0-TTS Flash · Προεπιλεγμένη διαμόρφωση",
                "units": [
                  {
                    "amount": "0.000030",
                    "amount_unit": "usd_per_exact_physical_unit",
                    "billing_input": false,
                    "key": "723fd9e7b35c0e460956bc11",
                    "label": "Input characters",
                    "public_unit_label": "per input character",
                    "quantity": "1",
                    "rate_role": "declared_tariff_rate",
                    "side": "in",
                    "unit": "input_character"
                  }
                ]
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"qwen/qwen-audio-3.0-tts-flash\", \"input\": \"Good afternoon! This is a short voice take.\"}')\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nallowed=json.loads('[\"loongjohn\", \"longanhuan_v3.6\"]')\nif voice not in allowed: raise SystemExit(\"Choose an accepted voice ID from this exact model profile\")\np[\"voice\"]=voice\np[\"response_format\"]=\"mp3\"\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": "curl",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-assets.json\n",
            "label": "List actual media assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_MEDIA_TASK_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/tasks/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-task.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-task.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual media task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_ASSET_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/assets/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-asset.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-asset.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual asset metadata",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Select exact voice from this model profile.",
          "Input characters and audio seconds are different meters."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Озвучка текста",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_character": 3e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quantity_meter": "utf8.RuneCountInString(validUTF8): one Han codepoint=1; no Han weighting",
              "quoted_unit": "per 1000 input character"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.03000",
                "amount_unit": "usd_per_1000_characters",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per 1000 input character",
                "quantity": "1000",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_character"
              }
            ]
          }
        ],
        "request_model_id": "qwen/qwen-audio-3.0-tts-flash",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.03000",
            "amount_unit": "usd_per_1000_characters",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per 1000 input character",
            "quantity": "1000",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_character"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "qwen/qwen-audio-3.0-tts-flash",
        "request_model_id": "qwen/qwen-audio-3.0-tts-flash",
        "route_label": "Ultra"
      }
    ],
    "name": "Qwen: Qwen-Audio-3.0-TTS Flash",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "qwen-audio-3.0-tts-flash",
          "Service deployment scope": "International",
          "character_counting_rule": "Han characters incl Chinese/Japanese kanji/Korean hanja=2; other characters=1; SSML markup excluded; actual synthesized text counts",
          "maker_published_model_id": "qwen-audio-3.0-tts-flash"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.000030",
            "amount_unit": "usd_per_input_character",
            "conditions": {
              "Model ID": "qwen-audio-3.0-tts-flash",
              "Service deployment scope": "International",
              "character_counting_rule": "Han characters incl Chinese/Japanese kanji/Korean hanja=2; other characters=1; SSML markup excluded; actual synthesized text counts",
              "maker_published_model_id": "qwen-audio-3.0-tts-flash"
            },
            "key": "input_character",
            "label": "input character",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_character"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "qwen-audio-3.0-tts-flash",
          "Service deployment scope": "Mainland China",
          "character_counting_rule": "Han characters incl Chinese/Japanese kanji/Korean hanja=2; other characters=1; SSML markup excluded; actual synthesized text counts",
          "maker_published_model_id": "qwen-audio-3.0-tts-flash"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000275042",
            "amount_unit": "usd_per_input_character",
            "conditions": {
              "Model ID": "qwen-audio-3.0-tts-flash",
              "Service deployment scope": "Mainland China",
              "character_counting_rule": "Han characters incl Chinese/Japanese kanji/Korean hanja=2; other characters=1; SSML markup excluded; actual synthesized text counts",
              "maker_published_model_id": "qwen-audio-3.0-tts-flash"
            },
            "key": "input_character",
            "label": "input character",
            "profile_index": 1,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_character"
          }
        ]
      }
    ],
    "public_id": "qwen/qwen-audio-3.0-tts-flash",
    "short": "Το Qwen-Audio-3.0-TTS-Flash είναι το μοντέλο μετατροπής κειμένου σε ομιλία της Qwen, με έμφαση στους φωνητικούς βοηθούς που αποκρίνονται άμεσα και στον διαδραστικό διάλογο. Συνδυάζει σύνθεση με συνεχή ροή, προκαθορισμένες ή κλωνοποιημένες φωνές ειδικές για το μοντέλο και οδηγίες ή ετικέτες για εκφραστική ομιλία."
  },
  "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": "Το Qwen-Audio-3.0-TTS-Flash είναι το μοντέλο μετατροπής κειμένου σε ομιλία της Qwen, με έμφαση στους φωνητικούς βοηθούς που αποκρίνονται άμεσα και στον διαδραστικό διάλογο. Συνδυάζει σύνθεση με συνεχή ροή, προκαθορισμένες ή κλωνοποιημένες φωνές ειδικές για το μοντέλο και οδηγίες ή ετικέτες για εκφραστική ομιλία.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "a0f1474eea72ebbf83bea91c31414fdca181224cfbde96c60f0f400ce86b8206",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "a9f8ce32a3ec7c5f5c8a44c6b79bd8febbdeefd9a4bbcc4ebdc769c0a1284f92"
}
