{
  "aboutHtml": "<p>Το Drama 3 είναι το μοντέλο μετατροπής κειμένου σε ομιλία της Fish Audio για ένα σενάριο με ερμηνεία. Παράγει ήχο ομιλίας από τις λέξεις που παρέχετε και δίνει στον σεναριογράφο έλεγχο της εκφοράς. Μια ατάκα μπορεί να φέρει συναισθηματική κατεύθυνση, τοπική αλλαγή στη φωνητική ερμηνεία ή οδηγία προφοράς, ώστε η είσοδος να περιέχει τόσο το προφορικό περιεχόμενο όσο και τον τρόπο που πρέπει να ακούγεται.</p><h4>Γράψτε τις λέξεις και σκηνοθετήστε την ερμηνεία</h4><p>Προετοιμάστε τις ακριβείς λέξεις που πρέπει να ακούσει ο ακροατής πριν προσθέσετε οδηγίες ερμηνείας. Κρατήστε σημαντικά ονόματα, ημερομηνίες και οδηγίες σαφή στο σενάριο και χρησιμοποιήστε στίξη για να ορίσετε τον επιδιωκόμενο ρυθμό των προτάσεων. Έπειτα τοποθετήστε μια οδηγία σε απλή γλώσσα μέσα σε αγκύλες πριν από την ατάκα που αφορά. Περιγράψτε το επιθυμητό συναίσθημα ή την εκφορά με συγκεκριμένους όρους, όπως μια συγκρατημένη ανακοίνωση, μια τεταμένη ανταλλαγή ή μια ζεστή εξήγηση.</p><p>Το Drama 3 υποστηρίζει επίσης τοπικά στοιχεία ελέγχου μέσα σε μια ατάκα. Οι ενσωματωμένες οδηγίες μπορούν να εισάγουν ήχους και παύσεις, ενώ ζεύγη ετικετών εκφοράς μπορούν να επηρεάζουν συγκεκριμένες λέξεις. Κρατήστε σαφές το εύρος κάθε οδηγίας: μια κατεύθυνση για μία φράση δεν πρέπει κατά λάθος να γίνει κατεύθυνση ολόκληρης της σκηνής. Διαβάστε το σενάριο μία φορά για το νόημα και μία για την ερμηνεία πριν από τη σύνθεση.</p><h4>Σκηνές, γλώσσες και προφορά</h4><p>Το δημοσιευμένο μοντέλο υποστηρίζει πολλούς ομιλητές μέσα σε ένα αίτημα. Οργανώστε τον διάλογο σε σαφείς εναλλαγές ομιλητών και δώστε σε καθεμία σκοπό: ερώτηση, διακοπή, εξήγηση ή απάντηση. Για μάθημα ή επεξηγηματικό περιεχόμενο, η ίδια προσέγγιση μπορεί να διαχωρίζει έναν αφηγητή από έναν χαρακτήρα που παρατίθεται, χωρίς να ξαναγράφει το υλικό ως αδιαφοροποίητο μονόλογο.</p><p>Το Drama 3 υποστηρίζει περισσότερες από 80 γλώσσες και μπορεί να αλλάζει γλώσσα μέσα σε μία πρόταση διατηρώντας τη φωνή. Προετοιμάστε τα πολύγλωσσα αποσπάσματα στις γλώσσες στις οποίες πρέπει να εκφωνηθούν, αντί να υποθέτετε ότι μια αγγλική οδηγία παρέχει μετάφραση. Αποφασίστε πώς πρέπει να ακούγονται ξένα ονόματα και δάνειοι όροι και χρησιμοποιήστε τις δυνατότητες ελέγχου φωνημάτων του μοντέλου όταν η προφορά τους χρειάζεται ακριβή καθοδήγηση.</p><h4>Χρήσιμα ηχητικά παραδοτέα</h4><p>Το μοντέλο ταιριάζει σε διαλόγους χαρακτήρων, αφηγημένα μαθήματα, σύντομα επεξηγηματικά κείμενα, ανακοινώσεις προϊόντων και φωνητικές απαντήσεις με σενάριο. Κρατήστε μαζί το περιεχόμενο και τις επιλογές ερμηνείας: ένα εκπαιδευτικό απόσπασμα χρειάζεται κατανοητή ορολογία και σκόπιμες παύσεις· μια σκηνή χαρακτήρων χρειάζεται σαφώς διαχωρισμένες εναλλαγές και συνεπή δραματική πρόθεση. Αυτές είναι αποφάσεις συγγραφής που μπορούν να ελεγχθούν πριν παραχθεί οποιοσδήποτε ήχος.</p><p>Μετά τη σύνθεση, συγκρίνετε τις προφορικές λέξεις με το τελικό σενάριο. Ακούστε για παραλειπόμενες φράσεις, λάθος τοποθετημένες παύσεις, ασαφείς αλλαγές ομιλητή και την προφορά προστατευμένων ονομάτων. Διατηρήστε το σενάριο και τις οδηγίες εκφοράς του μαζί με τον ήχο, ώστε μια διόρθωση να μπορεί να στοχεύει την επηρεαζόμενη ατάκα. Κρατήστε το τελικό προφορικό περιεχόμενο και τις επιλογές ερμηνείας ανά ατάκα μαζί όταν προετοιμάζετε αναθεώρηση.</p><h4>Δυνατότητες</h4><ul><li>Ερμηνεία με μετατροπή κειμένου σε ομιλία από ολοκληρωμένο σενάριο.</li><li>Οδηγίες σε απλή γλώσσα μέσα σε αγκύλες πριν από μία ατάκα.</li><li>Ήχοι και παύσεις μέσα στο κείμενο, με ζεύγη ετικετών εκφοράς που εφαρμόζονται σε συγκεκριμένες λέξεις.</li><li>Σκηνές με πολλούς ομιλητές και περισσότερες από 80 γλώσσες ομιλίας.</li><li>Δυνατότητες ελέγχου φωνημάτων για ονόματα και εξειδικευμένη ορολογία.</li></ul><h4>Περιπτώσεις χρήσης</h4><ul><li><strong>Διάλογος χαρακτήρων</strong> — Ένα σενάριο με σαφώς διαχωρισμένες εναλλαγές ομιλητών και οδηγίες ερμηνείας. Αποτέλεσμα: Μια προφορική σκηνή με σκόπιμες αλλαγές εκφοράς.</li><li><strong>Αφηγημένη εξήγηση</strong> — Ένα ολοκληρωμένο μάθημα με σημειωμένη ορολογία και σημειωμένες παύσεις. Αποτέλεσμα: Ήχος ομιλίας που μπορεί να ελεγχθεί έναντι του κειμένου μαθήματος.</li><li><strong>Πολύγλωσση ανακοίνωση</strong> — Τελικό κείμενο στις επιδιωκόμενες γλώσσες με διατηρημένες επιλογές προφοράς. Αποτέλεσμα: Ένα προφορικό απόσπασμα με ελεγχόμενες εναλλαγές γλωσσών.</li><li><strong>Φωνητική απάντηση με σενάριο</strong> — Μια σύντομη απάντηση με σαφώς καθορισμένο τόνο και τις λέξεις που θα εκφωνηθούν. Αποτέλεσμα: Ένα επαναχρησιμοποιήσιμο τμήμα ομιλίας για την εφαρμογή που περιβάλλει το μοντέλο.</li></ul><h4>Όρια</h4><ul><li><strong>Είσοδος και αποτέλεσμα</strong> — Το δημοσιευμένο μοντέλο δέχεται κείμενο και επιστρέφει ήχο ομιλίας.</li><li><strong>Εύρος ελέγχου</strong> — Συνδέστε μια οδηγία με την ατάκα ή φράση που αφορά και διατηρήστε σωστά καθορισμένο το εύρος των ζευγών ετικετών εκφοράς.</li><li><strong>Μονάδα ελέγχου</strong> — Διατηρήστε το ακριβές σενάριο και τις οδηγίες μαζί με τον ήχο· ελέγξτε την προφορά και τις εναλλαγές ομιλητών σε επίπεδο ατάκας.</li></ul>",
  "aboutText": "Το Drama 3 είναι το μοντέλο μετατροπής κειμένου σε ομιλία της Fish Audio για ένα σενάριο με ερμηνεία. Παράγει ήχο ομιλίας από τις λέξεις που παρέχετε και δίνει στον σεναριογράφο έλεγχο της εκφοράς. Μια ατάκα μπορεί να φέρει συναισθηματική κατεύθυνση, τοπική αλλαγή στη φωνητική ερμηνεία ή οδηγία προφοράς, ώστε η είσοδος να περιέχει τόσο το προφορικό περιεχόμενο όσο και τον τρόπο που πρέπει να ακούγεται.\n\n### Γράψτε τις λέξεις και σκηνοθετήστε την ερμηνεία\n\nΠροετοιμάστε τις ακριβείς λέξεις που πρέπει να ακούσει ο ακροατής πριν προσθέσετε οδηγίες ερμηνείας. Κρατήστε σημαντικά ονόματα, ημερομηνίες και οδηγίες σαφή στο σενάριο και χρησιμοποιήστε στίξη για να ορίσετε τον επιδιωκόμενο ρυθμό των προτάσεων. Έπειτα τοποθετήστε μια οδηγία σε απλή γλώσσα μέσα σε αγκύλες πριν από την ατάκα που αφορά. Περιγράψτε το επιθυμητό συναίσθημα ή την εκφορά με συγκεκριμένους όρους, όπως μια συγκρατημένη ανακοίνωση, μια τεταμένη ανταλλαγή ή μια ζεστή εξήγηση.\n\nΤο Drama 3 υποστηρίζει επίσης τοπικά στοιχεία ελέγχου μέσα σε μια ατάκα. Οι ενσωματωμένες οδηγίες μπορούν να εισάγουν ήχους και παύσεις, ενώ ζεύγη ετικετών εκφοράς μπορούν να επηρεάζουν συγκεκριμένες λέξεις. Κρατήστε σαφές το εύρος κάθε οδηγίας: μια κατεύθυνση για μία φράση δεν πρέπει κατά λάθος να γίνει κατεύθυνση ολόκληρης της σκηνής. Διαβάστε το σενάριο μία φορά για το νόημα και μία για την ερμηνεία πριν από τη σύνθεση.\n\n### Σκηνές, γλώσσες και προφορά\n\nΤο δημοσιευμένο μοντέλο υποστηρίζει πολλούς ομιλητές μέσα σε ένα αίτημα. Οργανώστε τον διάλογο σε σαφείς εναλλαγές ομιλητών και δώστε σε καθεμία σκοπό: ερώτηση, διακοπή, εξήγηση ή απάντηση. Για μάθημα ή επεξηγηματικό περιεχόμενο, η ίδια προσέγγιση μπορεί να διαχωρίζει έναν αφηγητή από έναν χαρακτήρα που παρατίθεται, χωρίς να ξαναγράφει το υλικό ως αδιαφοροποίητο μονόλογο.\n\nΤο Drama 3 υποστηρίζει περισσότερες από 80 γλώσσες και μπορεί να αλλάζει γλώσσα μέσα σε μία πρόταση διατηρώντας τη φωνή. Προετοιμάστε τα πολύγλωσσα αποσπάσματα στις γλώσσες στις οποίες πρέπει να εκφωνηθούν, αντί να υποθέτετε ότι μια αγγλική οδηγία παρέχει μετάφραση. Αποφασίστε πώς πρέπει να ακούγονται ξένα ονόματα και δάνειοι όροι και χρησιμοποιήστε τις δυνατότητες ελέγχου φωνημάτων του μοντέλου όταν η προφορά τους χρειάζεται ακριβή καθοδήγηση.\n\n### Χρήσιμα ηχητικά παραδοτέα\n\nΤο μοντέλο ταιριάζει σε διαλόγους χαρακτήρων, αφηγημένα μαθήματα, σύντομα επεξηγηματικά κείμενα, ανακοινώσεις προϊόντων και φωνητικές απαντήσεις με σενάριο. Κρατήστε μαζί το περιεχόμενο και τις επιλογές ερμηνείας: ένα εκπαιδευτικό απόσπασμα χρειάζεται κατανοητή ορολογία και σκόπιμες παύσεις· μια σκηνή χαρακτήρων χρειάζεται σαφώς διαχωρισμένες εναλλαγές και συνεπή δραματική πρόθεση. Αυτές είναι αποφάσεις συγγραφής που μπορούν να ελεγχθούν πριν παραχθεί οποιοσδήποτε ήχος.\n\nΜετά τη σύνθεση, συγκρίνετε τις προφορικές λέξεις με το τελικό σενάριο. Ακούστε για παραλειπόμενες φράσεις, λάθος τοποθετημένες παύσεις, ασαφείς αλλαγές ομιλητή και την προφορά προστατευμένων ονομάτων. Διατηρήστε το σενάριο και τις οδηγίες εκφοράς του μαζί με τον ήχο, ώστε μια διόρθωση να μπορεί να στοχεύει την επηρεαζόμενη ατάκα. Κρατήστε το τελικό προφορικό περιεχόμενο και τις επιλογές ερμηνείας ανά ατάκα μαζί όταν προετοιμάζετε αναθεώρηση.\n\n### Δυνατότητες\n\n- Ερμηνεία με μετατροπή κειμένου σε ομιλία από ολοκληρωμένο σενάριο.\n- Οδηγίες σε απλή γλώσσα μέσα σε αγκύλες πριν από μία ατάκα.\n- Ήχοι και παύσεις μέσα στο κείμενο, με ζεύγη ετικετών εκφοράς που εφαρμόζονται σε συγκεκριμένες λέξεις.\n- Σκηνές με πολλούς ομιλητές και περισσότερες από 80 γλώσσες ομιλίας.\n- Δυνατότητες ελέγχου φωνημάτων για ονόματα και εξειδικευμένη ορολογία.\n\n### Περιπτώσεις χρήσης\n\n- **Διάλογος χαρακτήρων** — Ένα σενάριο με σαφώς διαχωρισμένες εναλλαγές ομιλητών και οδηγίες ερμηνείας. Αποτέλεσμα: Μια προφορική σκηνή με σκόπιμες αλλαγές εκφοράς.\n- **Αφηγημένη εξήγηση** — Ένα ολοκληρωμένο μάθημα με σημειωμένη ορολογία και σημειωμένες παύσεις. Αποτέλεσμα: Ήχος ομιλίας που μπορεί να ελεγχθεί έναντι του κειμένου μαθήματος.\n- **Πολύγλωσση ανακοίνωση** — Τελικό κείμενο στις επιδιωκόμενες γλώσσες με διατηρημένες επιλογές προφοράς. Αποτέλεσμα: Ένα προφορικό απόσπασμα με ελεγχόμενες εναλλαγές γλωσσών.\n- **Φωνητική απάντηση με σενάριο** — Μια σύντομη απάντηση με σαφώς καθορισμένο τόνο και τις λέξεις που θα εκφωνηθούν. Αποτέλεσμα: Ένα επαναχρησιμοποιήσιμο τμήμα ομιλίας για την εφαρμογή που περιβάλλει το μοντέλο.\n\n### Όρια\n\n- **Είσοδος και αποτέλεσμα** — Το δημοσιευμένο μοντέλο δέχεται κείμενο και επιστρέφει ήχο ομιλίας.\n- **Εύρος ελέγχου** — Συνδέστε μια οδηγία με την ατάκα ή φράση που αφορά και διατηρήστε σωστά καθορισμένο το εύρος των ζευγών ετικετών εκφοράς.\n- **Μονάδα ελέγχου** — Διατηρήστε το ακριβές σενάριο και τις οδηγίες μαζί με τον ήχο· ελέγξτε την προφορά και τις εναλλαγές ομιλητών σε επίπεδο ατάκας.\n",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "90f8c0011de46988ef0365326f645c6a2718c98d53220fe1ab0c182e6d9a346f",
    "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\">•</span><h2 id=\"sheet-title\">Fish Audio: Drama 3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/drama-3</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|fish-audio%2Fdrama-3\">Σύνθεση ομιλίας</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\">Το Drama 3 μετατρέπει ένα γραπτό σενάριο σε σκηνοθετημένη ομιλία. Διαμορφώστε το συναίσθημα και την εκφορά με οδηγίες σε απλή γλώσσα, προσθέστε παύσεις και ήχους, καθοδηγήστε την προφορά και δημιουργήστε σκηνές με πολλούς ομιλητές. Η δημοσιευμένη ροή ομιλίας του υποστηρίζει περισσότερες από 80 γλώσσες, συμπεριλαμβανομένων αλλαγών γλώσσας μέσα σε μία πρόταση.</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>Το Drama 3 είναι το μοντέλο μετατροπής κειμένου σε ομιλία της Fish Audio για ένα σενάριο με ερμηνεία. Παράγει ήχο ομιλίας από τις λέξεις που παρέχετε και δίνει στον σεναριογράφο έλεγχο της εκφοράς. Μια ατάκα μπορεί να φέρει συναισθηματική κατεύθυνση, τοπική αλλαγή στη φωνητική ερμηνεία ή οδηγία προφοράς, ώστε η είσοδος να περιέχει τόσο το προφορικό περιεχόμενο όσο και τον τρόπο που πρέπει να ακούγεται.</p><h4>Γράψτε τις λέξεις και σκηνοθετήστε την ερμηνεία</h4><p>Προετοιμάστε τις ακριβείς λέξεις που πρέπει να ακούσει ο ακροατής πριν προσθέσετε οδηγίες ερμηνείας. Κρατήστε σημαντικά ονόματα, ημερομηνίες και οδηγίες σαφή στο σενάριο και χρησιμοποιήστε στίξη για να ορίσετε τον επιδιωκόμενο ρυθμό των προτάσεων. Έπειτα τοποθετήστε μια οδηγία σε απλή γλώσσα μέσα σε αγκύλες πριν από την ατάκα που αφορά. Περιγράψτε το επιθυμητό συναίσθημα ή την εκφορά με συγκεκριμένους όρους, όπως μια συγκρατημένη ανακοίνωση, μια τεταμένη ανταλλαγή ή μια ζεστή εξήγηση.</p><p>Το Drama 3 υποστηρίζει επίσης τοπικά στοιχεία ελέγχου μέσα σε μια ατάκα. Οι ενσωματωμένες οδηγίες μπορούν να εισάγουν ήχους και παύσεις, ενώ ζεύγη ετικετών εκφοράς μπορούν να επηρεάζουν συγκεκριμένες λέξεις. Κρατήστε σαφές το εύρος κάθε οδηγίας: μια κατεύθυνση για μία φράση δεν πρέπει κατά λάθος να γίνει κατεύθυνση ολόκληρης της σκηνής. Διαβάστε το σενάριο μία φορά για το νόημα και μία για την ερμηνεία πριν από τη σύνθεση.</p><h4>Σκηνές, γλώσσες και προφορά</h4><p>Το δημοσιευμένο μοντέλο υποστηρίζει πολλούς ομιλητές μέσα σε ένα αίτημα. Οργανώστε τον διάλογο σε σαφείς εναλλαγές ομιλητών και δώστε σε καθεμία σκοπό: ερώτηση, διακοπή, εξήγηση ή απάντηση. Για μάθημα ή επεξηγηματικό περιεχόμενο, η ίδια προσέγγιση μπορεί να διαχωρίζει έναν αφηγητή από έναν χαρακτήρα που παρατίθεται, χωρίς να ξαναγράφει το υλικό ως αδιαφοροποίητο μονόλογο.</p><p>Το Drama 3 υποστηρίζει περισσότερες από 80 γλώσσες και μπορεί να αλλάζει γλώσσα μέσα σε μία πρόταση διατηρώντας τη φωνή. Προετοιμάστε τα πολύγλωσσα αποσπάσματα στις γλώσσες στις οποίες πρέπει να εκφωνηθούν, αντί να υποθέτετε ότι μια αγγλική οδηγία παρέχει μετάφραση. Αποφασίστε πώς πρέπει να ακούγονται ξένα ονόματα και δάνειοι όροι και χρησιμοποιήστε τις δυνατότητες ελέγχου φωνημάτων του μοντέλου όταν η προφορά τους χρειάζεται ακριβή καθοδήγηση.</p><h4>Χρήσιμα ηχητικά παραδοτέα</h4><p>Το μοντέλο ταιριάζει σε διαλόγους χαρακτήρων, αφηγημένα μαθήματα, σύντομα επεξηγηματικά κείμενα, ανακοινώσεις προϊόντων και φωνητικές απαντήσεις με σενάριο. Κρατήστε μαζί το περιεχόμενο και τις επιλογές ερμηνείας: ένα εκπαιδευτικό απόσπασμα χρειάζεται κατανοητή ορολογία και σκόπιμες παύσεις· μια σκηνή χαρακτήρων χρειάζεται σαφώς διαχωρισμένες εναλλαγές και συνεπή δραματική πρόθεση. Αυτές είναι αποφάσεις συγγραφής που μπορούν να ελεγχθούν πριν παραχθεί οποιοσδήποτε ήχος.</p><p>Μετά τη σύνθεση, συγκρίνετε τις προφορικές λέξεις με το τελικό σενάριο. Ακούστε για παραλειπόμενες φράσεις, λάθος τοποθετημένες παύσεις, ασαφείς αλλαγές ομιλητή και την προφορά προστατευμένων ονομάτων. Διατηρήστε το σενάριο και τις οδηγίες εκφοράς του μαζί με τον ήχο, ώστε μια διόρθωση να μπορεί να στοχεύει την επηρεαζόμενη ατάκα. Κρατήστε το τελικό προφορικό περιεχόμενο και τις επιλογές ερμηνείας ανά ατάκα μαζί όταν προετοιμάζετε αναθεώρηση.</p><h4>Δυνατότητες</h4><ul><li>Ερμηνεία με μετατροπή κειμένου σε ομιλία από ολοκληρωμένο σενάριο.</li><li>Οδηγίες σε απλή γλώσσα μέσα σε αγκύλες πριν από μία ατάκα.</li><li>Ήχοι και παύσεις μέσα στο κείμενο, με ζεύγη ετικετών εκφοράς που εφαρμόζονται σε συγκεκριμένες λέξεις.</li><li>Σκηνές με πολλούς ομιλητές και περισσότερες από 80 γλώσσες ομιλίας.</li><li>Δυνατότητες ελέγχου φωνημάτων για ονόματα και εξειδικευμένη ορολογία.</li></ul><h4>Περιπτώσεις χρήσης</h4><ul><li><strong>Διάλογος χαρακτήρων</strong> — Ένα σενάριο με σαφώς διαχωρισμένες εναλλαγές ομιλητών και οδηγίες ερμηνείας. Αποτέλεσμα: Μια προφορική σκηνή με σκόπιμες αλλαγές εκφοράς.</li><li><strong>Αφηγημένη εξήγηση</strong> — Ένα ολοκληρωμένο μάθημα με σημειωμένη ορολογία και σημειωμένες παύσεις. Αποτέλεσμα: Ήχος ομιλίας που μπορεί να ελεγχθεί έναντι του κειμένου μαθήματος.</li><li><strong>Πολύγλωσση ανακοίνωση</strong> — Τελικό κείμενο στις επιδιωκόμενες γλώσσες με διατηρημένες επιλογές προφοράς. Αποτέλεσμα: Ένα προφορικό απόσπασμα με ελεγχόμενες εναλλαγές γλωσσών.</li><li><strong>Φωνητική απάντηση με σενάριο</strong> — Μια σύντομη απάντηση με σαφώς καθορισμένο τόνο και τις λέξεις που θα εκφωνηθούν. Αποτέλεσμα: Ένα επαναχρησιμοποιήσιμο τμήμα ομιλίας για την εφαρμογή που περιβάλλει το μοντέλο.</li></ul><h4>Όρια</h4><ul><li><strong>Είσοδος και αποτέλεσμα</strong> — Το δημοσιευμένο μοντέλο δέχεται κείμενο και επιστρέφει ήχο ομιλίας.</li><li><strong>Εύρος ελέγχου</strong> — Συνδέστε μια οδηγία με την ατάκα ή φράση που αφορά και διατηρήστε σωστά καθορισμένο το εύρος των ζευγών ετικετών εκφοράς.</li><li><strong>Μονάδα ελέγχου</strong> — Διατηρήστε το ακριβές σενάριο και τις οδηγίες μαζί με τον ήχο· ελέγξτε την προφορά και τις εναλλαγές ομιλητών σε επίπεδο ατάκας.</li></ul></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Ομιλία</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>Είσοδος</dt><dd><code>text</code></dd></div><div><dt>Έξοδος</dt><dd><code>audio</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Πεδίο</th><th>Τύπος</th><th>Απαίτηση</th><th>Τιμές και όρια</th><th>Προεπιλογή</th></tr></thead><tbody><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>fish-audio/drama-3</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Ελάχιστο μήκος: 1</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">voice</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Ελάχιστο μήκος: 1</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>mp3, pcm</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"known\"><span class=\"card-cell-label\">Προεπιλογή</span>pcm</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>object</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Παράμετροι και κύκλος ζωής μεθόδου</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Παράμετρος</th><th>Σύμβαση</th></tr></thead><tbody><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>content_type</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>application/json</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>required</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>model, input, voice</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>material_types</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>text</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>material_conditions</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>Επιλέξτε πραγματικό υποστηριζόμενο ID φωνής· δεν έχει επινοηθεί κυριολεκτική προεπιλογή ή φωνή για αυτό το μοντέλο.</td></tr></tbody></table></div><p>Κύκλος ζωής: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Τιμολόγηση</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.</p><dl data-price-conditions><dt>Γρήγορη λειτουργία</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν επιλέγεται η γρήγορη λειτουργία</span></dd><dt>Λειτουργία flex</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν επιλέγεται η λειτουργία flex</span></dd><dt>Μέγιστη προσπάθεια συλλογισμού</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default</span></dd></dl></div><div data-declared-tariff-pricing><h4>Χρεώσεις Ailoot</h4><h4>Τιμές ανά διαμόρφωση</h4><p class=\"note-s\">Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Πίνακας χρεώσεων</th><th>Μονάδα τιμολόγησης</th><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Βασικές χρεώσεις token</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>Βασική χρέωση</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>—</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Token εισόδου</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Έξοδος · Token εξόδου</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Ανάγνωση από την κρυφή μνήμη</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>byte εισόδου UTF-8</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>—</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>ανά byte UTF-8 εισόδου</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · byte εισόδου UTF-8</span> <b>$0.00002</b> <span class=\"price-unit\">ανά byte UTF-8 εισόδου</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. <a href=\"/docs/el/billing/reserve/\">Πώς λειτουργούν η δέσμευση και η εκκαθάριση →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Παραδείγματα αιτημάτων</h3><h4>Ailoot Ultra · Ομιλία</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-1352-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1352-panel-0\" aria-selected=\"true\" tabindex=\"0\">Χρησιμοποιήστε την πραγματική είσοδο και διατηρήστε το πλήρες αποτέλεσμα</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1352-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1352-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_TEXT:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_TEXT\n: &quot;${AILOOT_VOICE:?Set the actual documented input value}&quot;\nexport AILOOT_VOICE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;fish-audio/drama-3&#39;, &#39;input&#39;: &#39;${ACTUAL_INPUT_TEXT}&#39;, &#39;voice&#39;: &#39;${ACTUAL_SUPPORTED_VOICE}&#39;}\nrequest[&#39;input&#39;]=os.environ[&#39;AILOOT_INPUT_TEXT&#39;]\nrequest[&#39;voice&#39;]=os.environ[&#39;AILOOT_VOICE&#39;]\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Λήψη και αποθήκευση αποτελεσμάτων</h3><h4>Ailoot Ultra · Ομιλία</h4><p class=\"note-s\">Πλήρης δυαδικός ήχος ή αρχική απόκριση audio_url, κεφαλίδες και κάθε αρχείο πολυμέσων που σας ανήκει.</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><details class=\"card-about\"><summary>Άλλες ανακτήσεις περιεχομένου</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-1353-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1353-panel-0\" aria-selected=\"true\" tabindex=\"0\">Ανάκτηση υπαρχόντων αρχείων που σας ανήκουν</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1353-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1353-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα</h5><p class=\"note-s\">Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.</p><p class=\"note-s\">Διατηρήστε ολόκληρη την απόκριση και τις κεφαλίδες, κάθε πραγματικό αποτέλεσμα εξόδου, τα αρχικά αναγνωριστικά που επιστράφηκαν και όλα τα πεδία χρήσης. Ανακτήστε την αρχική λειτουργία χωρίς να υποβάλετε ξανά αίτημα δημιουργίας.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Αν χρειάζεται έλεγχος της αρχικής απάντησης</h5><p class=\"note-s\">Διατηρήστε το X-Client-Request-ID που επιστράφηκε για τη συμφωνία των εγγραφών. Διαβάστε μόνο πραγματικές τιμές task_id/asset_id που επιστράφηκαν ή τη βιβλιοθήκη πολυμέσων που σας ανήκει· μην κατασκευάσετε ποτέ URL εργασίας από το ID της λειτουργίας και μην υποβάλετε ποτέ ξανά αίτημα δημιουργίας.</p></div></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Εναλλακτικά ονόματα</h3><h4>Εναλλακτικά ονόματα μοντέλου</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=fish-audio%2Fdrama-3&amp;route=Ultra&amp;caller=fish-audio%2Fdrama-3&amp;fmt=speech\"><code>fish-audio/drama-3</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\">Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.</p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=fish-audio%2Fdrama-3&amp;route=Ultra&amp;caller=fish-audio%2Fdrama-3&amp;fmt=speech\"><code>fish-audio/drama-3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/drama-3",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "fish-audio/drama-3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|fish-audio%2Fdrama-3",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Διατηρήστε το X-Client-Request-ID που επιστράφηκε για τη συμφωνία των εγγραφών. Διαβάστε μόνο πραγματικές τιμές task_id/asset_id που επιστράφηκαν ή τη βιβλιοθήκη πολυμέσων που σας ανήκει· μην κατασκευάσετε ποτέ URL εργασίας από το ID της λειτουργίας και μην υποβάλετε ποτέ ξανά αίτημα δημιουργίας."
            },
            "outputs": {
              "all_results": "Διατηρήστε ολόκληρη την απόκριση και τις κεφαλίδες, κάθε πραγματικό αποτέλεσμα εξόδου, τα αρχικά αναγνωριστικά που επιστράφηκαν και όλα τα πεδία χρήσης. Ανακτήστε την αρχική λειτουργία χωρίς να υποβάλετε ξανά αίτημα δημιουργίας.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Πλήρης δυαδικός ήχος ή αρχική απόκριση audio_url, κεφαλίδες και κάθε αρχείο πολυμέσων που σας ανήκει."
            },
            "parameters": [
              {
                "enum": [
                  "fish-audio/drama-3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/drama-3"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "fish-audio/drama-3",
                "voice": "${ACTUAL_SUPPORTED_VOICE}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Επιλέξτε πραγματικό υποστηριζόμενο ID φωνής· δεν έχει επινοηθεί κυριολεκτική προεπιλογή ή φωνή για αυτό το μοντέλο."
            ],
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input UTF-8 byte"
            },
            "label": "input UTF-8 byte",
            "units": [
              {
                "amount": "0.00002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "input UTF-8 byte",
                "native_amount_usd_per_unit": "0.00002",
                "native_quantity": 1,
                "public_unit_label": "per input UTF-8 byte",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\n: \"${AILOOT_VOICE:?Set the actual documented input value}\"\nexport AILOOT_VOICE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/drama-3', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': '${ACTUAL_SUPPORTED_VOICE}'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nrequest['voice']=os.environ['AILOOT_VOICE']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Ομιλία",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_utf8_byte": 2e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input UTF-8 byte"
            },
            "label": "input UTF-8 byte",
            "units": [
              {
                "amount": "0.00002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "input UTF-8 byte",
                "native_amount_usd_per_unit": "0.00002",
                "native_quantity": 1,
                "public_unit_label": "per input UTF-8 byte",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/drama-3",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "input UTF-8 byte",
            "native_amount_usd_per_unit": "0.00002",
            "native_quantity": 1,
            "public_unit_label": "per input UTF-8 byte",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_utf8_byte"
          }
        ]
      }
    }
  ],
  "model_id": "fish-audio/drama-3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "8c42de23ce42f25abbf0f89daddc6321f492723fb8c89ab8eb02271a5cdd9cf5",
    "input_html_sha256": "fbc97d35ab72f9d1d4084638b37198fcd2a1120690d48fc87376128362a18dbd",
    "private_audit_sha256": "eab1f26b5561a00fe6eef565079e31109e40aad126d8065811d8b50268270dad",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/fish-audio-drama-3/",
    "description": "Το Drama 3 μετατρέπει ένα γραπτό σενάριο σε σκηνοθετημένη ομιλία. Διαμορφώστε το συναίσθημα και την εκφορά με οδηγίες σε απλή γλώσσα, προσθέστε παύσεις και ήχους, καθοδηγήστε την προφορά και δημιουργήστε σκηνές με πολλούς ομιλητές. Η δημοσιευμένη ροή ομιλίας του υποστηρίζει περισσότερες από 80 γλώσσες, συμπεριλαμβανομένων αλλαγών γλώσσας μέσα σε μία πρόταση.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/fish-audio-drama-3/index.md",
    "title": "Fish Audio: Drama 3 — Ailoot",
    "url": "https://ailoot.ai/models/el/fish-audio-drama-3/"
  },
  "rawModel": {
    "about": "Το Drama 3 είναι το μοντέλο μετατροπής κειμένου σε ομιλία της Fish Audio για ένα σενάριο με ερμηνεία. Παράγει ήχο ομιλίας από τις λέξεις που παρέχετε και δίνει στον σεναριογράφο έλεγχο της εκφοράς. Μια ατάκα μπορεί να φέρει συναισθηματική κατεύθυνση, τοπική αλλαγή στη φωνητική ερμηνεία ή οδηγία προφοράς, ώστε η είσοδος να περιέχει τόσο το προφορικό περιεχόμενο όσο και τον τρόπο που πρέπει να ακούγεται.\n\n### Γράψτε τις λέξεις και σκηνοθετήστε την ερμηνεία\n\nΠροετοιμάστε τις ακριβείς λέξεις που πρέπει να ακούσει ο ακροατής πριν προσθέσετε οδηγίες ερμηνείας. Κρατήστε σημαντικά ονόματα, ημερομηνίες και οδηγίες σαφή στο σενάριο και χρησιμοποιήστε στίξη για να ορίσετε τον επιδιωκόμενο ρυθμό των προτάσεων. Έπειτα τοποθετήστε μια οδηγία σε απλή γλώσσα μέσα σε αγκύλες πριν από την ατάκα που αφορά. Περιγράψτε το επιθυμητό συναίσθημα ή την εκφορά με συγκεκριμένους όρους, όπως μια συγκρατημένη ανακοίνωση, μια τεταμένη ανταλλαγή ή μια ζεστή εξήγηση.\n\nΤο Drama 3 υποστηρίζει επίσης τοπικά στοιχεία ελέγχου μέσα σε μια ατάκα. Οι ενσωματωμένες οδηγίες μπορούν να εισάγουν ήχους και παύσεις, ενώ ζεύγη ετικετών εκφοράς μπορούν να επηρεάζουν συγκεκριμένες λέξεις. Κρατήστε σαφές το εύρος κάθε οδηγίας: μια κατεύθυνση για μία φράση δεν πρέπει κατά λάθος να γίνει κατεύθυνση ολόκληρης της σκηνής. Διαβάστε το σενάριο μία φορά για το νόημα και μία για την ερμηνεία πριν από τη σύνθεση.\n\n### Σκηνές, γλώσσες και προφορά\n\nΤο δημοσιευμένο μοντέλο υποστηρίζει πολλούς ομιλητές μέσα σε ένα αίτημα. Οργανώστε τον διάλογο σε σαφείς εναλλαγές ομιλητών και δώστε σε καθεμία σκοπό: ερώτηση, διακοπή, εξήγηση ή απάντηση. Για μάθημα ή επεξηγηματικό περιεχόμενο, η ίδια προσέγγιση μπορεί να διαχωρίζει έναν αφηγητή από έναν χαρακτήρα που παρατίθεται, χωρίς να ξαναγράφει το υλικό ως αδιαφοροποίητο μονόλογο.\n\nΤο Drama 3 υποστηρίζει περισσότερες από 80 γλώσσες και μπορεί να αλλάζει γλώσσα μέσα σε μία πρόταση διατηρώντας τη φωνή. Προετοιμάστε τα πολύγλωσσα αποσπάσματα στις γλώσσες στις οποίες πρέπει να εκφωνηθούν, αντί να υποθέτετε ότι μια αγγλική οδηγία παρέχει μετάφραση. Αποφασίστε πώς πρέπει να ακούγονται ξένα ονόματα και δάνειοι όροι και χρησιμοποιήστε τις δυνατότητες ελέγχου φωνημάτων του μοντέλου όταν η προφορά τους χρειάζεται ακριβή καθοδήγηση.\n\n### Χρήσιμα ηχητικά παραδοτέα\n\nΤο μοντέλο ταιριάζει σε διαλόγους χαρακτήρων, αφηγημένα μαθήματα, σύντομα επεξηγηματικά κείμενα, ανακοινώσεις προϊόντων και φωνητικές απαντήσεις με σενάριο. Κρατήστε μαζί το περιεχόμενο και τις επιλογές ερμηνείας: ένα εκπαιδευτικό απόσπασμα χρειάζεται κατανοητή ορολογία και σκόπιμες παύσεις· μια σκηνή χαρακτήρων χρειάζεται σαφώς διαχωρισμένες εναλλαγές και συνεπή δραματική πρόθεση. Αυτές είναι αποφάσεις συγγραφής που μπορούν να ελεγχθούν πριν παραχθεί οποιοσδήποτε ήχος.\n\nΜετά τη σύνθεση, συγκρίνετε τις προφορικές λέξεις με το τελικό σενάριο. Ακούστε για παραλειπόμενες φράσεις, λάθος τοποθετημένες παύσεις, ασαφείς αλλαγές ομιλητή και την προφορά προστατευμένων ονομάτων. Διατηρήστε το σενάριο και τις οδηγίες εκφοράς του μαζί με τον ήχο, ώστε μια διόρθωση να μπορεί να στοχεύει την επηρεαζόμενη ατάκα. Κρατήστε το τελικό προφορικό περιεχόμενο και τις επιλογές ερμηνείας ανά ατάκα μαζί όταν προετοιμάζετε αναθεώρηση.\n\n### Δυνατότητες\n\n- Ερμηνεία με μετατροπή κειμένου σε ομιλία από ολοκληρωμένο σενάριο.\n- Οδηγίες σε απλή γλώσσα μέσα σε αγκύλες πριν από μία ατάκα.\n- Ήχοι και παύσεις μέσα στο κείμενο, με ζεύγη ετικετών εκφοράς που εφαρμόζονται σε συγκεκριμένες λέξεις.\n- Σκηνές με πολλούς ομιλητές και περισσότερες από 80 γλώσσες ομιλίας.\n- Δυνατότητες ελέγχου φωνημάτων για ονόματα και εξειδικευμένη ορολογία.\n\n### Περιπτώσεις χρήσης\n\n- **Διάλογος χαρακτήρων** — Ένα σενάριο με σαφώς διαχωρισμένες εναλλαγές ομιλητών και οδηγίες ερμηνείας. Αποτέλεσμα: Μια προφορική σκηνή με σκόπιμες αλλαγές εκφοράς.\n- **Αφηγημένη εξήγηση** — Ένα ολοκληρωμένο μάθημα με σημειωμένη ορολογία και σημειωμένες παύσεις. Αποτέλεσμα: Ήχος ομιλίας που μπορεί να ελεγχθεί έναντι του κειμένου μαθήματος.\n- **Πολύγλωσση ανακοίνωση** — Τελικό κείμενο στις επιδιωκόμενες γλώσσες με διατηρημένες επιλογές προφοράς. Αποτέλεσμα: Ένα προφορικό απόσπασμα με ελεγχόμενες εναλλαγές γλωσσών.\n- **Φωνητική απάντηση με σενάριο** — Μια σύντομη απάντηση με σαφώς καθορισμένο τόνο και τις λέξεις που θα εκφωνηθούν. Αποτέλεσμα: Ένα επαναχρησιμοποιήσιμο τμήμα ομιλίας για την εφαρμογή που περιβάλλει το μοντέλο.\n\n### Όρια\n\n- **Είσοδος και αποτέλεσμα** — Το δημοσιευμένο μοντέλο δέχεται κείμενο και επιστρέφει ήχο ομιλίας.\n- **Εύρος ελέγχου** — Συνδέστε μια οδηγία με την ατάκα ή φράση που αφορά και διατηρήστε σωστά καθορισμένο το εύρος των ζευγών ετικετών εκφοράς.\n- **Μονάδα ελέγχου** — Διατηρήστε το ακριβές σενάριο και τις οδηγίες μαζί με τον ήχο· ελέγξτε την προφορά και τις εναλλαγές ομιλητών σε επίπεδο ατάκας.\n",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "input UTF-8 byte",
            "native_amount_usd_per_unit": "0.00002",
            "native_quantity": 1,
            "public_unit_label": "per input UTF-8 byte",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_utf8_byte"
          }
        ],
        "summary": "Πλήρης τιμολόγηση της διαμόρφωσης στις λεπτομέρειες."
      }
    ],
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "fish-audio/drama-3",
    "input": [
      "text"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Διατηρήστε το X-Client-Request-ID που επιστράφηκε για τη συμφωνία των εγγραφών. Διαβάστε μόνο πραγματικές τιμές task_id/asset_id που επιστράφηκαν ή τη βιβλιοθήκη πολυμέσων που σας ανήκει· μην κατασκευάσετε ποτέ URL εργασίας από το ID της λειτουργίας και μην υποβάλετε ποτέ ξανά αίτημα δημιουργίας."
            },
            "outputs": {
              "all_results": "Διατηρήστε ολόκληρη την απόκριση και τις κεφαλίδες, κάθε πραγματικό αποτέλεσμα εξόδου, τα αρχικά αναγνωριστικά που επιστράφηκαν και όλα τα πεδία χρήσης. Ανακτήστε την αρχική λειτουργία χωρίς να υποβάλετε ξανά αίτημα δημιουργίας.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Πλήρης δυαδικός ήχος ή αρχική απόκριση audio_url, κεφαλίδες και κάθε αρχείο πολυμέσων που σας ανήκει."
            },
            "parameters": [
              {
                "enum": [
                  "fish-audio/drama-3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/drama-3"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "fish-audio/drama-3",
                "voice": "${ACTUAL_SUPPORTED_VOICE}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Επιλέξτε πραγματικό υποστηριζόμενο ID φωνής· δεν έχει επινοηθεί κυριολεκτική προεπιλογή ή φωνή για αυτό το μοντέλο."
            ],
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input UTF-8 byte"
            },
            "label": "input UTF-8 byte",
            "units": [
              {
                "amount": "0.00002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "input UTF-8 byte",
                "native_amount_usd_per_unit": "0.00002",
                "native_quantity": 1,
                "public_unit_label": "per input UTF-8 byte",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\n: \"${AILOOT_VOICE:?Set the actual documented input value}\"\nexport AILOOT_VOICE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/drama-3', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': '${ACTUAL_SUPPORTED_VOICE}'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nrequest['voice']=os.environ['AILOOT_VOICE']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Ομιλία",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_utf8_byte": 2e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input UTF-8 byte"
            },
            "label": "input UTF-8 byte",
            "units": [
              {
                "amount": "0.00002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "input UTF-8 byte",
                "native_amount_usd_per_unit": "0.00002",
                "native_quantity": 1,
                "public_unit_label": "per input UTF-8 byte",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/drama-3",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "input UTF-8 byte",
            "native_amount_usd_per_unit": "0.00002",
            "native_quantity": 1,
            "public_unit_label": "per input UTF-8 byte",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_utf8_byte"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "fish-audio/drama-3",
        "request_model_id": "fish-audio/drama-3",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: Drama 3",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Το Drama 3 μετατρέπει ένα γραπτό σενάριο σε σκηνοθετημένη ομιλία. Διαμορφώστε το συναίσθημα και την εκφορά με οδηγίες σε απλή γλώσσα, προσθέστε παύσεις και ήχους, καθοδηγήστε την προφορά και δημιουργήστε σκηνές με πολλούς ομιλητές. Η δημοσιευμένη ροή ομιλίας του υποστηρίζει περισσότερες από 80 γλώσσες, συμπεριλαμβανομένων αλλαγών γλώσσας μέσα σε μία πρόταση."
  },
  "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": "Το Drama 3 μετατρέπει ένα γραπτό σενάριο σε σκηνοθετημένη ομιλία. Διαμορφώστε το συναίσθημα και την εκφορά με οδηγίες σε απλή γλώσσα, προσθέστε παύσεις και ήχους, καθοδηγήστε την προφορά και δημιουργήστε σκηνές με πολλούς ομιλητές. Η δημοσιευμένη ροή ομιλίας του υποστηρίζει περισσότερες από 80 γλώσσες, συμπεριλαμβανομένων αλλαγών γλώσσας μέσα σε μία πρόταση.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "0050be609b2c8bf4cf12e07daa4a086215e1b2d59db6e0db084c229e61a3737b",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "72b5c90a2e03e5eb45850a8da7d7750c7de8b9cd12734516b61dabdf6f31e4e1"
}
