{
  "aboutHtml": "<p>Το Transcribe 1 Pro είναι το μοντέλο μετατροπής ομιλίας σε κείμενο της Fish Audio για σύντομα αποσπάσματα, συνομιλίες πολλών ομιλητών και μεγάλες ηχογραφήσεις. Λαμβάνει ηχογραφημένο ήχο και επιστρέφει απομαγνητοφώνηση, με προαιρετικούς χρόνους και δομημένους γύρους ομιλίας. Τα διακριτικά χαρακτηριστικά του είναι οι αλλαγές ομιλητή σημειωμένες στο κείμενο και οι ενδείξεις συναισθήματος ή φωνητικών συμβάντων, που διατηρούν περισσότερη συνομιλιακή δομή της ηχογράφησης από μια απλή ακολουθία λέξεων.</p><p>Για συνέντευξη, συνάντηση ή podcast, κρατήστε ολόκληρη τη συνομιλία σε ένα αρχείο, ώστε ομιλητές που επανέρχονται να διατηρούν συνεπείς ετικέτες μέσα στην απόκριση. Ένα χρήσιμο παραδοτέο ελέγχου είναι απομαγνητοφώνηση συνδεδεμένη με την αρχική ηχογράφηση, με τους γύρους ομιλίας να εμφανίζονται χωριστά και διαθέσιμη χρονική σήμανση για έλεγχο παράθεσης. Μια σύνοψη ή λίστα ενεργειών είναι μεταγενέστερο βήμα εφαρμογής: κρατήστε αυτό το αποτέλεσμα χωριστά από την απομαγνητοφώνηση ώστε η προφορική πηγή να παραμένει διαθέσιμη για σύγκριση.</p><p>Ο παραγωγός δέχεται ηχογραφήσεις έως 60 λεπτά και περιγράφει επεξεργασία μεγάλων αρχείων με συμπιεσμένο ήχο όπως MP3, Opus ή AAC. Οι υποστηριζόμενες μορφές περιλαμβάνουν WAV, MP3, AAC σε M4A ή MP4, FLAC, Ogg με Opus ή Vorbis, WebM/Matroska και MOV. Για αρχείο βίντεο, χρησιμοποιεί την πρώτη ροή ήχου. Τα AIFF, CAF, WMA, AMR, AC-3 και ακατέργαστο PCM χωρίς κεφαλίδα δεν υποστηρίζονται. Παρέχεται ένα αρχείο ήχου ανά αίτημα· το αποτέλεσμα φτάνει μετά την απομαγνητοφώνηση ολόκληρης της ηχογράφησης και μια μεγάλη ηχογράφηση μπορεί να διαρκέσει αρκετά λεπτά στην επεξεργασία. Αποσπάσματα μικρότερα από περίπου 0,08 δευτερόλεπτα απορρίπτονται.</p><p>Η απόκριση του παραγωγού περιέχει το πλήρες κείμενο, τη διάρκεια ηχογράφησης σε δευτερόλεπτα και έναν πίνακα segments. Το Pro σημειώνει αλλαγές ομιλητή μέσα στο κείμενο με ετικέτες όπως &lt;|speaker:0|&gt; και &lt;|speaker:1|&gt;· μια ετικέτα εφαρμόζεται στο επόμενο κείμενο έως τον επόμενο δείκτη. Αυτά είναι αναγνωριστικά μέσα σε μία απόκριση, όχι επαληθευμένα ονόματα ή ταυτότητες που μπορούν να αντιστοιχιστούν μεταξύ αιτημάτων. Αν η απομαγνητοφώνηση δεν έχει δείκτη ομιλητή, ο οδηγός την αντιμετωπίζει ως αποτέλεσμα ενός ομιλητή. Κρατήστε οποιοδήποτε κείμενο πριν από τον πρώτο δείκτη μαζί με τον πρώτο γύρο ομιλίας αντί να το απορρίπτετε.</p><p>Οι χρονικές σημάνσεις ανά λέξη είναι προαιρετικές. Στο αίτημα προς τον παραγωγό, το ignore_timestamps έχει προεπιλογή true· ο ορισμός του σε false ζητά segments με text και χρόνους start και end σε δευτερόλεπτα. Ένα segment είναι γενικά μία λέξη ή ένας χαρακτήρας ή λίγοι χαρακτήρες στα κινεζικά και ιαπωνικά. Το κείμενο segment παραλείπει σημεία στίξης, δείκτες ομιλητών και ενδείξεις συμβάντων και μπορεί να κανονικοποιεί μια προφορική τιμή διαφορετικά από την πλήρη απομαγνητοφώνηση. Ένα segment λέξης μπορεί να έχει ίδιο χρόνο start και end. Ένας κενός πίνακας segments μπορεί να σημαίνει ότι δεν ζητήθηκαν χρονικές σημάνσεις, δεν βρέθηκε ομιλία ή ο χρονισμός ήταν προσωρινά μη διαθέσιμος. Χρησιμοποιήστε την πλήρη απομαγνητοφώνηση για ευανάγνωστη διατύπωση και τα segments για ευθυγράμμιση αντί να υποθέτετε ότι οι δύο συμβολοσειρές ταιριάζουν χαρακτήρα προς χαρακτήρα.</p><p>Η ρύθμιση diarize έχει προεπιλογή auto. Όταν ζητούνται χρονικές σημάνσεις και το diarize δεν είναι false, το Pro επιστρέφει επίσης speaker_turns. Κάθε γύρος ομιλίας περιέχει την ετικέτα ομιλητή, το κείμενο και τους χρόνους start/end, διατηρώντας στίξη και ενδείξεις χωρίς τον ενσωματωμένο δείκτη ομιλητή. Αν οι χρόνοι λέξεων δεν είναι διαθέσιμοι, οι χρόνοι γύρων μπορεί να είναι κατά προσέγγιση και να καλύπτουν ολόκληρη την ηχογράφηση· γειτονικοί γύροι δεν είναι απαραίτητα συνεχόμενοι ούτε χωρίς επικάλυψη. Η απενεργοποίηση του diarize αφαιρεί τη δομημένη λίστα γύρων αλλά αφήνει δείκτες ομιλητών στο πλήρες κείμενο. Ένα γνωστό πλήθος ομιλητών ή ελάχιστα και μέγιστα πλήθη μπορούν να καθοδηγούν τη διαίρεση μεγαλύτερης ηχογράφησης ανά ομιλητή κατά το δυνατόν. Το ακριβές πλήθος δεν μπορεί να συνδυάζεται με τα όρια πλήθους, και οι υποδείξεις πλήθους δεν μπορούν να χρησιμοποιούνται με απενεργοποιημένο diarize.</p><p>Οι ενδείξεις συναισθήματος και φωνητικών συμβάντων εμφανίζονται ως κείμενο σε αγκύλες, για παράδειγμα [laughter], δίπλα στην αναγνωρισμένη ομιλία. Είναι συμπεράσματα από τον ήχο, όχι λέξεις που πρέπει να προσθέσει ο χρήστης πριν την απομαγνητοφώνηση. Η ρύθμιση tag_audio_events του Pro έχει προεπιλογή true· η απενεργοποίησή της αφαιρεί αυτές τις ενδείξεις από την απομαγνητοφώνηση και το κείμενο γύρων χωρίς να αλλάζει τους χρόνους. Δεν υπάρχει χωριστό πεδίο συναισθήματος ή σταθερή απαρίθμηση συναισθημάτων. Διατηρήστε την επισημασμένη απομαγνητοφώνηση όταν έχει σημασία πώς ακούγεται ένα σχόλιο και χρησιμοποιήστε έκδοση χωρίς ενδείξεις όταν το μεταγενέστερο παραδοτέο χρειάζεται μόνο τις προφορικές λέξεις.</p><p>Η γλώσσα ανιχνεύεται αυτόματα. Μια προαιρετική υπόδειξη ISO 639-1 με πεζά γράμματα δεν επιβάλλει μετάφραση ούτε αλλάζει την απομαγνητοφώνηση του Pro. Αν η γλώσσα δεν μπορεί να προσδιοριστεί, ο επιστρεφόμενος κωδικός γλώσσας μπορεί να αντανακλά την υπόδειξη χωρίς να την επαληθεύει ως προς τον ήχο. Ο παραγωγός αναφέρει μία γλώσσα αντί για κατάλογο κάθε γλώσσας σε πολυγλωσσική ηχογράφηση. Κρατήστε την αρχική διατύπωση και τα μεταδεδομένα γλώσσας μαζί όταν προετοιμάζετε αναζητήσιμο αρχείο, ιδιαίτερα όταν διαφορετικά μέρη συνομιλίας αλλάζουν γλώσσα.</p><p>Για υποτίτλους, ομαδοποιήστε διαδοχικές λέξεις με χρόνους σε ευανάγνωστες εγγραφές SRT ή WebVTT αντί να παράγετε έναν υπότιτλο ανά λέξη. Διαχωρίστε εγγραφές γύρω από παύσεις και επιλέξτε το μήκος και τον χρόνο εμφάνισής τους σύμφωνα με το πρόγραμμα αναπαραγωγής και το κοινό. Τα όρια γύρων ομιλίας μπορούν να κρατούν διαφορετικούς ομιλητές σε χωριστές εγγραφές. Ελέγξτε αν το αποτέλεσμα χρονισμού είναι κενό και βεβαιωθείτε ότι το τέλος κάθε εγγραφής είναι μεταγενέστερο της αρχής της. Η μορφοποίηση υποτίτλων, τα ονόματα για ανώνυμες ετικέτες ομιλητών και οποιαδήποτε μεταγενέστερη σύνοψη είναι παραδοτέα εφαρμογής που κατασκευάζονται από το αποτέλεσμα απομαγνητοφώνησης.</p><p>Για πρακτική ροή ηχογράφησης, αποφασίστε πριν την απομαγνητοφώνηση αν χρειάζεστε απλή ευανάγνωστη απομαγνητοφώνηση, επισημασμένους γύρους συνομιλίας ή υποτίτλους με χρόνους. Κρατήστε το αναγνωριστικό ήχου μαζί με το αποτέλεσμα, διατηρήστε το πλήρες επιστρεφόμενο κείμενο όταν έχουν σημασία στίξη και ενδείξεις και χρησιμοποιήστε τα δομημένα πεδία χρόνων για πλοήγηση. Οι δυνατότητες του Pro για μεγάλες ηχογραφήσεις και πολλούς ομιλητές είναι διακριτές από το γενικό μοντέλο σύντομων ηχογραφήσεων Transcribe 1· τα όρια και τα στοιχεία ελέγχου τους δεν πρέπει να θεωρούνται εναλλάξιμα.</p>",
  "aboutText": "Το Transcribe 1 Pro είναι το μοντέλο μετατροπής ομιλίας σε κείμενο της Fish Audio για σύντομα αποσπάσματα, συνομιλίες πολλών ομιλητών και μεγάλες ηχογραφήσεις. Λαμβάνει ηχογραφημένο ήχο και επιστρέφει απομαγνητοφώνηση, με προαιρετικούς χρόνους και δομημένους γύρους ομιλίας. Τα διακριτικά χαρακτηριστικά του είναι οι αλλαγές ομιλητή σημειωμένες στο κείμενο και οι ενδείξεις συναισθήματος ή φωνητικών συμβάντων, που διατηρούν περισσότερη συνομιλιακή δομή της ηχογράφησης από μια απλή ακολουθία λέξεων.\n\nΓια συνέντευξη, συνάντηση ή podcast, κρατήστε ολόκληρη τη συνομιλία σε ένα αρχείο, ώστε ομιλητές που επανέρχονται να διατηρούν συνεπείς ετικέτες μέσα στην απόκριση. Ένα χρήσιμο παραδοτέο ελέγχου είναι απομαγνητοφώνηση συνδεδεμένη με την αρχική ηχογράφηση, με τους γύρους ομιλίας να εμφανίζονται χωριστά και διαθέσιμη χρονική σήμανση για έλεγχο παράθεσης. Μια σύνοψη ή λίστα ενεργειών είναι μεταγενέστερο βήμα εφαρμογής: κρατήστε αυτό το αποτέλεσμα χωριστά από την απομαγνητοφώνηση ώστε η προφορική πηγή να παραμένει διαθέσιμη για σύγκριση.\n\nΟ παραγωγός δέχεται ηχογραφήσεις έως 60 λεπτά και περιγράφει επεξεργασία μεγάλων αρχείων με συμπιεσμένο ήχο όπως MP3, Opus ή AAC. Οι υποστηριζόμενες μορφές περιλαμβάνουν WAV, MP3, AAC σε M4A ή MP4, FLAC, Ogg με Opus ή Vorbis, WebM/Matroska και MOV. Για αρχείο βίντεο, χρησιμοποιεί την πρώτη ροή ήχου. Τα AIFF, CAF, WMA, AMR, AC-3 και ακατέργαστο PCM χωρίς κεφαλίδα δεν υποστηρίζονται. Παρέχεται ένα αρχείο ήχου ανά αίτημα· το αποτέλεσμα φτάνει μετά την απομαγνητοφώνηση ολόκληρης της ηχογράφησης και μια μεγάλη ηχογράφηση μπορεί να διαρκέσει αρκετά λεπτά στην επεξεργασία. Αποσπάσματα μικρότερα από περίπου 0,08 δευτερόλεπτα απορρίπτονται.\n\nΗ απόκριση του παραγωγού περιέχει το πλήρες κείμενο, τη διάρκεια ηχογράφησης σε δευτερόλεπτα και έναν πίνακα segments. Το Pro σημειώνει αλλαγές ομιλητή μέσα στο κείμενο με ετικέτες όπως <|speaker:0|> και <|speaker:1|>· μια ετικέτα εφαρμόζεται στο επόμενο κείμενο έως τον επόμενο δείκτη. Αυτά είναι αναγνωριστικά μέσα σε μία απόκριση, όχι επαληθευμένα ονόματα ή ταυτότητες που μπορούν να αντιστοιχιστούν μεταξύ αιτημάτων. Αν η απομαγνητοφώνηση δεν έχει δείκτη ομιλητή, ο οδηγός την αντιμετωπίζει ως αποτέλεσμα ενός ομιλητή. Κρατήστε οποιοδήποτε κείμενο πριν από τον πρώτο δείκτη μαζί με τον πρώτο γύρο ομιλίας αντί να το απορρίπτετε.\n\nΟι χρονικές σημάνσεις ανά λέξη είναι προαιρετικές. Στο αίτημα προς τον παραγωγό, το ignore_timestamps έχει προεπιλογή true· ο ορισμός του σε false ζητά segments με text και χρόνους start και end σε δευτερόλεπτα. Ένα segment είναι γενικά μία λέξη ή ένας χαρακτήρας ή λίγοι χαρακτήρες στα κινεζικά και ιαπωνικά. Το κείμενο segment παραλείπει σημεία στίξης, δείκτες ομιλητών και ενδείξεις συμβάντων και μπορεί να κανονικοποιεί μια προφορική τιμή διαφορετικά από την πλήρη απομαγνητοφώνηση. Ένα segment λέξης μπορεί να έχει ίδιο χρόνο start και end. Ένας κενός πίνακας segments μπορεί να σημαίνει ότι δεν ζητήθηκαν χρονικές σημάνσεις, δεν βρέθηκε ομιλία ή ο χρονισμός ήταν προσωρινά μη διαθέσιμος. Χρησιμοποιήστε την πλήρη απομαγνητοφώνηση για ευανάγνωστη διατύπωση και τα segments για ευθυγράμμιση αντί να υποθέτετε ότι οι δύο συμβολοσειρές ταιριάζουν χαρακτήρα προς χαρακτήρα.\n\nΗ ρύθμιση diarize έχει προεπιλογή auto. Όταν ζητούνται χρονικές σημάνσεις και το diarize δεν είναι false, το Pro επιστρέφει επίσης speaker_turns. Κάθε γύρος ομιλίας περιέχει την ετικέτα ομιλητή, το κείμενο και τους χρόνους start/end, διατηρώντας στίξη και ενδείξεις χωρίς τον ενσωματωμένο δείκτη ομιλητή. Αν οι χρόνοι λέξεων δεν είναι διαθέσιμοι, οι χρόνοι γύρων μπορεί να είναι κατά προσέγγιση και να καλύπτουν ολόκληρη την ηχογράφηση· γειτονικοί γύροι δεν είναι απαραίτητα συνεχόμενοι ούτε χωρίς επικάλυψη. Η απενεργοποίηση του diarize αφαιρεί τη δομημένη λίστα γύρων αλλά αφήνει δείκτες ομιλητών στο πλήρες κείμενο. Ένα γνωστό πλήθος ομιλητών ή ελάχιστα και μέγιστα πλήθη μπορούν να καθοδηγούν τη διαίρεση μεγαλύτερης ηχογράφησης ανά ομιλητή κατά το δυνατόν. Το ακριβές πλήθος δεν μπορεί να συνδυάζεται με τα όρια πλήθους, και οι υποδείξεις πλήθους δεν μπορούν να χρησιμοποιούνται με απενεργοποιημένο diarize.\n\nΟι ενδείξεις συναισθήματος και φωνητικών συμβάντων εμφανίζονται ως κείμενο σε αγκύλες, για παράδειγμα [laughter], δίπλα στην αναγνωρισμένη ομιλία. Είναι συμπεράσματα από τον ήχο, όχι λέξεις που πρέπει να προσθέσει ο χρήστης πριν την απομαγνητοφώνηση. Η ρύθμιση tag_audio_events του Pro έχει προεπιλογή true· η απενεργοποίησή της αφαιρεί αυτές τις ενδείξεις από την απομαγνητοφώνηση και το κείμενο γύρων χωρίς να αλλάζει τους χρόνους. Δεν υπάρχει χωριστό πεδίο συναισθήματος ή σταθερή απαρίθμηση συναισθημάτων. Διατηρήστε την επισημασμένη απομαγνητοφώνηση όταν έχει σημασία πώς ακούγεται ένα σχόλιο και χρησιμοποιήστε έκδοση χωρίς ενδείξεις όταν το μεταγενέστερο παραδοτέο χρειάζεται μόνο τις προφορικές λέξεις.\n\nΗ γλώσσα ανιχνεύεται αυτόματα. Μια προαιρετική υπόδειξη ISO 639-1 με πεζά γράμματα δεν επιβάλλει μετάφραση ούτε αλλάζει την απομαγνητοφώνηση του Pro. Αν η γλώσσα δεν μπορεί να προσδιοριστεί, ο επιστρεφόμενος κωδικός γλώσσας μπορεί να αντανακλά την υπόδειξη χωρίς να την επαληθεύει ως προς τον ήχο. Ο παραγωγός αναφέρει μία γλώσσα αντί για κατάλογο κάθε γλώσσας σε πολυγλωσσική ηχογράφηση. Κρατήστε την αρχική διατύπωση και τα μεταδεδομένα γλώσσας μαζί όταν προετοιμάζετε αναζητήσιμο αρχείο, ιδιαίτερα όταν διαφορετικά μέρη συνομιλίας αλλάζουν γλώσσα.\n\nΓια υποτίτλους, ομαδοποιήστε διαδοχικές λέξεις με χρόνους σε ευανάγνωστες εγγραφές SRT ή WebVTT αντί να παράγετε έναν υπότιτλο ανά λέξη. Διαχωρίστε εγγραφές γύρω από παύσεις και επιλέξτε το μήκος και τον χρόνο εμφάνισής τους σύμφωνα με το πρόγραμμα αναπαραγωγής και το κοινό. Τα όρια γύρων ομιλίας μπορούν να κρατούν διαφορετικούς ομιλητές σε χωριστές εγγραφές. Ελέγξτε αν το αποτέλεσμα χρονισμού είναι κενό και βεβαιωθείτε ότι το τέλος κάθε εγγραφής είναι μεταγενέστερο της αρχής της. Η μορφοποίηση υποτίτλων, τα ονόματα για ανώνυμες ετικέτες ομιλητών και οποιαδήποτε μεταγενέστερη σύνοψη είναι παραδοτέα εφαρμογής που κατασκευάζονται από το αποτέλεσμα απομαγνητοφώνησης.\n\nΓια πρακτική ροή ηχογράφησης, αποφασίστε πριν την απομαγνητοφώνηση αν χρειάζεστε απλή ευανάγνωστη απομαγνητοφώνηση, επισημασμένους γύρους συνομιλίας ή υποτίτλους με χρόνους. Κρατήστε το αναγνωριστικό ήχου μαζί με το αποτέλεσμα, διατηρήστε το πλήρες επιστρεφόμενο κείμενο όταν έχουν σημασία στίξη και ενδείξεις και χρησιμοποιήστε τα δομημένα πεδία χρόνων για πλοήγηση. Οι δυνατότητες του Pro για μεγάλες ηχογραφήσεις και πολλούς ομιλητές είναι διακριτές από το γενικό μοντέλο σύντομων ηχογραφήσεων Transcribe 1· τα όρια και τα στοιχεία ελέγχου τους δεν πρέπει να θεωρούνται εναλλάξιμα.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "d25a99ce46939467c64b73b853a15b18a9fae16d5fa1415676b33384c6fff4bb",
    "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: Transcribe 1 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/transcribe-1-pro</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|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1-pro\">Αναγνώριση</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\">Το Transcribe 1 Pro μετατρέπει ηχογραφήσεις έως 60 λεπτών σε κείμενο με δείκτες ομιλητών και προαιρετικούς χρόνους ανά λέξη. Διατηρεί συναγόμενες ενδείξεις συναισθήματος και φωνητικών συμβάντων, διευκολύνοντας τον έλεγχο, την αναζήτηση ή την προετοιμασία υποτίτλων για συνεντεύξεις, συναντήσεις και podcasts.</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>Το Transcribe 1 Pro είναι το μοντέλο μετατροπής ομιλίας σε κείμενο της Fish Audio για σύντομα αποσπάσματα, συνομιλίες πολλών ομιλητών και μεγάλες ηχογραφήσεις. Λαμβάνει ηχογραφημένο ήχο και επιστρέφει απομαγνητοφώνηση, με προαιρετικούς χρόνους και δομημένους γύρους ομιλίας. Τα διακριτικά χαρακτηριστικά του είναι οι αλλαγές ομιλητή σημειωμένες στο κείμενο και οι ενδείξεις συναισθήματος ή φωνητικών συμβάντων, που διατηρούν περισσότερη συνομιλιακή δομή της ηχογράφησης από μια απλή ακολουθία λέξεων.</p><p>Για συνέντευξη, συνάντηση ή podcast, κρατήστε ολόκληρη τη συνομιλία σε ένα αρχείο, ώστε ομιλητές που επανέρχονται να διατηρούν συνεπείς ετικέτες μέσα στην απόκριση. Ένα χρήσιμο παραδοτέο ελέγχου είναι απομαγνητοφώνηση συνδεδεμένη με την αρχική ηχογράφηση, με τους γύρους ομιλίας να εμφανίζονται χωριστά και διαθέσιμη χρονική σήμανση για έλεγχο παράθεσης. Μια σύνοψη ή λίστα ενεργειών είναι μεταγενέστερο βήμα εφαρμογής: κρατήστε αυτό το αποτέλεσμα χωριστά από την απομαγνητοφώνηση ώστε η προφορική πηγή να παραμένει διαθέσιμη για σύγκριση.</p><p>Ο παραγωγός δέχεται ηχογραφήσεις έως 60 λεπτά και περιγράφει επεξεργασία μεγάλων αρχείων με συμπιεσμένο ήχο όπως MP3, Opus ή AAC. Οι υποστηριζόμενες μορφές περιλαμβάνουν WAV, MP3, AAC σε M4A ή MP4, FLAC, Ogg με Opus ή Vorbis, WebM/Matroska και MOV. Για αρχείο βίντεο, χρησιμοποιεί την πρώτη ροή ήχου. Τα AIFF, CAF, WMA, AMR, AC-3 και ακατέργαστο PCM χωρίς κεφαλίδα δεν υποστηρίζονται. Παρέχεται ένα αρχείο ήχου ανά αίτημα· το αποτέλεσμα φτάνει μετά την απομαγνητοφώνηση ολόκληρης της ηχογράφησης και μια μεγάλη ηχογράφηση μπορεί να διαρκέσει αρκετά λεπτά στην επεξεργασία. Αποσπάσματα μικρότερα από περίπου 0,08 δευτερόλεπτα απορρίπτονται.</p><p>Η απόκριση του παραγωγού περιέχει το πλήρες κείμενο, τη διάρκεια ηχογράφησης σε δευτερόλεπτα και έναν πίνακα segments. Το Pro σημειώνει αλλαγές ομιλητή μέσα στο κείμενο με ετικέτες όπως &lt;|speaker:0|&gt; και &lt;|speaker:1|&gt;· μια ετικέτα εφαρμόζεται στο επόμενο κείμενο έως τον επόμενο δείκτη. Αυτά είναι αναγνωριστικά μέσα σε μία απόκριση, όχι επαληθευμένα ονόματα ή ταυτότητες που μπορούν να αντιστοιχιστούν μεταξύ αιτημάτων. Αν η απομαγνητοφώνηση δεν έχει δείκτη ομιλητή, ο οδηγός την αντιμετωπίζει ως αποτέλεσμα ενός ομιλητή. Κρατήστε οποιοδήποτε κείμενο πριν από τον πρώτο δείκτη μαζί με τον πρώτο γύρο ομιλίας αντί να το απορρίπτετε.</p><p>Οι χρονικές σημάνσεις ανά λέξη είναι προαιρετικές. Στο αίτημα προς τον παραγωγό, το ignore_timestamps έχει προεπιλογή true· ο ορισμός του σε false ζητά segments με text και χρόνους start και end σε δευτερόλεπτα. Ένα segment είναι γενικά μία λέξη ή ένας χαρακτήρας ή λίγοι χαρακτήρες στα κινεζικά και ιαπωνικά. Το κείμενο segment παραλείπει σημεία στίξης, δείκτες ομιλητών και ενδείξεις συμβάντων και μπορεί να κανονικοποιεί μια προφορική τιμή διαφορετικά από την πλήρη απομαγνητοφώνηση. Ένα segment λέξης μπορεί να έχει ίδιο χρόνο start και end. Ένας κενός πίνακας segments μπορεί να σημαίνει ότι δεν ζητήθηκαν χρονικές σημάνσεις, δεν βρέθηκε ομιλία ή ο χρονισμός ήταν προσωρινά μη διαθέσιμος. Χρησιμοποιήστε την πλήρη απομαγνητοφώνηση για ευανάγνωστη διατύπωση και τα segments για ευθυγράμμιση αντί να υποθέτετε ότι οι δύο συμβολοσειρές ταιριάζουν χαρακτήρα προς χαρακτήρα.</p><p>Η ρύθμιση diarize έχει προεπιλογή auto. Όταν ζητούνται χρονικές σημάνσεις και το diarize δεν είναι false, το Pro επιστρέφει επίσης speaker_turns. Κάθε γύρος ομιλίας περιέχει την ετικέτα ομιλητή, το κείμενο και τους χρόνους start/end, διατηρώντας στίξη και ενδείξεις χωρίς τον ενσωματωμένο δείκτη ομιλητή. Αν οι χρόνοι λέξεων δεν είναι διαθέσιμοι, οι χρόνοι γύρων μπορεί να είναι κατά προσέγγιση και να καλύπτουν ολόκληρη την ηχογράφηση· γειτονικοί γύροι δεν είναι απαραίτητα συνεχόμενοι ούτε χωρίς επικάλυψη. Η απενεργοποίηση του diarize αφαιρεί τη δομημένη λίστα γύρων αλλά αφήνει δείκτες ομιλητών στο πλήρες κείμενο. Ένα γνωστό πλήθος ομιλητών ή ελάχιστα και μέγιστα πλήθη μπορούν να καθοδηγούν τη διαίρεση μεγαλύτερης ηχογράφησης ανά ομιλητή κατά το δυνατόν. Το ακριβές πλήθος δεν μπορεί να συνδυάζεται με τα όρια πλήθους, και οι υποδείξεις πλήθους δεν μπορούν να χρησιμοποιούνται με απενεργοποιημένο diarize.</p><p>Οι ενδείξεις συναισθήματος και φωνητικών συμβάντων εμφανίζονται ως κείμενο σε αγκύλες, για παράδειγμα [laughter], δίπλα στην αναγνωρισμένη ομιλία. Είναι συμπεράσματα από τον ήχο, όχι λέξεις που πρέπει να προσθέσει ο χρήστης πριν την απομαγνητοφώνηση. Η ρύθμιση tag_audio_events του Pro έχει προεπιλογή true· η απενεργοποίησή της αφαιρεί αυτές τις ενδείξεις από την απομαγνητοφώνηση και το κείμενο γύρων χωρίς να αλλάζει τους χρόνους. Δεν υπάρχει χωριστό πεδίο συναισθήματος ή σταθερή απαρίθμηση συναισθημάτων. Διατηρήστε την επισημασμένη απομαγνητοφώνηση όταν έχει σημασία πώς ακούγεται ένα σχόλιο και χρησιμοποιήστε έκδοση χωρίς ενδείξεις όταν το μεταγενέστερο παραδοτέο χρειάζεται μόνο τις προφορικές λέξεις.</p><p>Η γλώσσα ανιχνεύεται αυτόματα. Μια προαιρετική υπόδειξη ISO 639-1 με πεζά γράμματα δεν επιβάλλει μετάφραση ούτε αλλάζει την απομαγνητοφώνηση του Pro. Αν η γλώσσα δεν μπορεί να προσδιοριστεί, ο επιστρεφόμενος κωδικός γλώσσας μπορεί να αντανακλά την υπόδειξη χωρίς να την επαληθεύει ως προς τον ήχο. Ο παραγωγός αναφέρει μία γλώσσα αντί για κατάλογο κάθε γλώσσας σε πολυγλωσσική ηχογράφηση. Κρατήστε την αρχική διατύπωση και τα μεταδεδομένα γλώσσας μαζί όταν προετοιμάζετε αναζητήσιμο αρχείο, ιδιαίτερα όταν διαφορετικά μέρη συνομιλίας αλλάζουν γλώσσα.</p><p>Για υποτίτλους, ομαδοποιήστε διαδοχικές λέξεις με χρόνους σε ευανάγνωστες εγγραφές SRT ή WebVTT αντί να παράγετε έναν υπότιτλο ανά λέξη. Διαχωρίστε εγγραφές γύρω από παύσεις και επιλέξτε το μήκος και τον χρόνο εμφάνισής τους σύμφωνα με το πρόγραμμα αναπαραγωγής και το κοινό. Τα όρια γύρων ομιλίας μπορούν να κρατούν διαφορετικούς ομιλητές σε χωριστές εγγραφές. Ελέγξτε αν το αποτέλεσμα χρονισμού είναι κενό και βεβαιωθείτε ότι το τέλος κάθε εγγραφής είναι μεταγενέστερο της αρχής της. Η μορφοποίηση υποτίτλων, τα ονόματα για ανώνυμες ετικέτες ομιλητών και οποιαδήποτε μεταγενέστερη σύνοψη είναι παραδοτέα εφαρμογής που κατασκευάζονται από το αποτέλεσμα απομαγνητοφώνησης.</p><p>Για πρακτική ροή ηχογράφησης, αποφασίστε πριν την απομαγνητοφώνηση αν χρειάζεστε απλή ευανάγνωστη απομαγνητοφώνηση, επισημασμένους γύρους συνομιλίας ή υποτίτλους με χρόνους. Κρατήστε το αναγνωριστικό ήχου μαζί με το αποτέλεσμα, διατηρήστε το πλήρες επιστρεφόμενο κείμενο όταν έχουν σημασία στίξη και ενδείξεις και χρησιμοποιήστε τα δομημένα πεδία χρόνων για πλοήγηση. Οι δυνατότητες του Pro για μεγάλες ηχογραφήσεις και πολλούς ομιλητές είναι διακριτές από το γενικό μοντέλο σύντομων ηχογραφήσεων Transcribe 1· τα όρια και τα στοιχεία ελέγχου τους δεν πρέπει να θεωρούνται εναλλάξιμα.</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/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Είσοδος</dt><dd><code>audio</code></dd></div><div><dt>Έξοδος</dt><dd><code>text</code></dd></div><div><dt>Μορφή εξόδου</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Πεδίο</th><th>Τύπος</th><th>Απαίτηση</th><th>Τιμές και όρια</th><th>Προεπιλογή</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>fish-audio/transcribe-1-pro</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_audio</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><div>Ακριβή κλειδιά: data, format</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_audio.data</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>base64_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>Μέγιστο πλήθος αποκωδικοποιημένων byte: 26.214.400</div><div>Αυστηρό Base64: Ναι</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_audio.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>Συνθήκες: Πρέπει να ισούται με την πραγματική μορφή που διαπιστώνεται από την εξέταση του αρχείου</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>json</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>speech_to_text</b> · Υποχρεωτικό: input_audio.data, input_audio.format</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_audio</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>additional_properties</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>parameters</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>{&quot;name&quot;:&quot;model&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;enum&quot;:[&quot;fish-audio/transcribe-1-pro&quot;]}, {&quot;name&quot;:&quot;input_audio&quot;,&quot;type&quot;:&quot;object&quot;,&quot;required&quot;:true,&quot;exact_keys&quot;:[&quot;data&quot;,&quot;format&quot;],&quot;data&quot;:&quot;αυστηρή κωδικοποίηση base64 των πραγματικών υποστηριζόμενων byte ήχου&quot;,&quot;format&quot;:&quot;ακριβής μορφή αρχείου που διαπιστώθηκε από εξέταση· πρέπει να αντιστοιχεί στα πραγματικά byte&quot;}, {&quot;name&quot;:&quot;response_format&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:false,&quot;enum&quot;:[&quot;json&quot;]}</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>max_audio_bytes</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>26214400</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>multipart_for_this_profile</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>material_types</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>audio</td></tr></tbody></table></div><p>Κύκλος ζωής: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p><p class=\"note-s\">Διατηρήστε ολόκληρη την απόκριση και τα αρχικά ID που επιστρέφονται.</p><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></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>δευτερόλεπτο ήχου εισόδου</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>Είσοδος · δευτερόλεπτο ήχου εισόδου</span> <b>$0.0002</b> <span class=\"price-unit\">ανά δευτερόλεπτο ήχου εισόδου</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. <a href=\"/docs/el/billing/reserve/\">Πώς λειτουργούν η δέσμευση και η εκκαθάριση →</a></p><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>Fish Audio: Transcribe 1 Pro</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>Fish Audio: Transcribe 1 Pro · Προεπιλεγμένη διαμόρφωση</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,0002 $</b> <span class=\"price-unit\">ανά δευτερόλεπτο ήχου εισόδου</span></div></td></tr></tbody></table></div></details></div></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-1362-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1362-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · πραγματικά byte ήχου και ανιχνευμένη μορφή</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-1362-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1362-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set your actual audio file}&quot;\n: &quot;${AILOOT_AUDIO_FORMAT:?Set its actual probed file format}&quot;\nexport AILOOT_AUDIO_FILE AILOOT_AUDIO_FORMAT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;fish-audio/transcribe-1-pro&quot;, &quot;response_format&quot;: &quot;json&quot;}&#39;)\nimport base64\nf=Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;])\nraw=f.read_bytes()\nif not raw or len(raw)&gt;26214400:raise SystemExit(&#39;Use actual audio bytes within 25 MiB&#39;)\nfmt=os.environ[&#39;AILOOT_AUDIO_FORMAT&#39;].strip()\nif not fmt:raise SystemExit(&#39;Use the actual probed format; the server checks it against the bytes&#39;)\np[&#39;input_audio&#39;]={&#39;data&#39;:base64.b64encode(raw).decode(),&#39;format&#39;:fmt}\nPath(&#39;request.json&#39;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\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 result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\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\">json</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα</h5><p class=\"note-s\">Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.</p><p class=\"note-s\">Διατηρήστε ολόκληρο το JSON, τις κεφαλίδες απόκρισης, το κείμενο και κάθε πραγματικό πεδίο χρήσης που επιστρέφεται. Χρησιμοποιήστε πραγματικές ταυτότητες εργασιών και αρχείων πολυμέσων από την απόκριση ή τη βιβλιοθήκη αρχείων που σας ανήκουν· το operation_id δεν είναι task_id.</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><th>Σημασία</th></tr></thead><tbody><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">text</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</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 class=\"card-field-name\">usage</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>object</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 class=\"card-field-name\">usage.seconds</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>number</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 class=\"card-field-name\">duration</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>number</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 class=\"card-field-name\">task_id</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td><td data-cell-label=\"Σημασία\"><span class=\"card-cell-label\">Σημασία</span>ID εργασίας απομαγνητοφώνησης· επιστρέφεται μαζί με το asset_url όταν αποθηκευτεί και δημοσιευτεί μη κενή απομαγνητοφώνηση και της αποδοθεί υπογεγραμμένο URL περιεχομένου.</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">asset_url</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td><td data-cell-label=\"Σημασία\"><span class=\"card-cell-label\">Σημασία</span>Υπογεγραμμένο URL περιεχομένου απομαγνητοφώνησης· επιστρέφεται μαζί με το task_id όταν αποθηκευτεί και δημοσιευτεί μη κενή απομαγνητοφώνηση και της αποδοθεί υπογεγραμμένο URL περιεχομένου.</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=fish-audio%2Ftranscribe-1-pro&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1-pro&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1-pro</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\">Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.</p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=fish-audio%2Ftranscribe-1-pro&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1-pro&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/transcribe-1-pro",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "fish-audio/transcribe-1-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete JSON, response headers, text and every actual returned usage field. Use actual task/asset identities from the response or owned library; operation_id is not task_id.",
            "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 για τη συμφωνία των εγγραφών χωρίς νέα υποβολή· δεν υπάρχει ειδική διαδρομή περιοδικού ελέγχου για τον ήχο."
            },
            "limits": {
              "decoded_audio_max_bytes": 26214400
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "speech_to_text",
                "required": [
                  "input_audio.data",
                  "input_audio.format"
                ]
              }
            ],
            "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": [
              "speech_to_text"
            ],
            "outputs": {
              "all_results": "Διατηρήστε ολόκληρο το JSON, τις κεφαλίδες απόκρισης, το κείμενο και κάθε πραγματικό πεδίο χρήσης που επιστρέφεται. Χρησιμοποιήστε πραγματικές ταυτότητες εργασιών και αρχείων πολυμέσων από την απόκριση ή τη βιβλιοθήκη αρχείων που σας ανήκουν· το operation_id δεν είναι task_id.",
              "family": "transcription",
              "fields": [
                {
                  "description": "Απομαγνητοφωνημένο κείμενο.",
                  "name": "text",
                  "required": true,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "Χρήση ήχου.",
                  "name": "usage",
                  "required": true,
                  "required_known": true,
                  "type": "object"
                },
                {
                  "description": "Διάρκεια ήχου σε δευτερόλεπτα.",
                  "name": "usage.seconds",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "Διάρκεια ήχου σε δευτερόλεπτα.",
                  "name": "duration",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "ID εργασίας απομαγνητοφώνησης· επιστρέφεται μαζί με το asset_url όταν αποθηκευτεί και δημοσιευτεί μη κενή απομαγνητοφώνηση και της αποδοθεί υπογεγραμμένο URL περιεχομένου.",
                  "name": "task_id",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "Υπογεγραμμένο URL περιεχομένου απομαγνητοφώνησης· επιστρέφεται μαζί με το task_id όταν αποθηκευτεί και δημοσιευτεί μη κενή απομαγνητοφώνηση και της αποδοθεί υπογεγραμμένο URL περιεχομένου.",
                  "name": "asset_url",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "decoded_maximum_bytes": 26214400,
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.data",
                "required": true,
                "strict_base64": true,
                "type": "base64_string"
              },
              {
                "availability": "source_interface",
                "conditions": "Πρέπει να ισούται με την πραγματική μορφή που διαπιστώνεται από την εξέταση του αρχείου",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.format",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "multipart input on this exact profile",
              "fields outside model/input_audio/response_format",
              "non-json response format"
            ]
          },
          "hints": [
            "Διατηρήστε ολόκληρη την απόκριση και τα αρχικά ID που επιστρέφονται.",
            "Μην επανυποβάλετε ποτέ αίτημα δημιουργίας με άγνωστο αποτέλεσμα."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "audio"
            ],
            "max_audio_bytes": 26214400,
            "multipart_for_this_profile": false,
            "parameters": [
              {
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "data": "αυστηρή κωδικοποίηση base64 των πραγματικών υποστηριζόμενων byte ήχου",
                "exact_keys": [
                  "data",
                  "format"
                ],
                "format": "ακριβής μορφή αρχείου που διαπιστώθηκε από εξέταση· πρέπει να αντιστοιχεί στα πραγματικά byte",
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "enum": [
                  "json"
                ],
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "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": "Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "family": "text",
            "type": "JSON transcript with text and usage; actual owned transcript flow"
          }
        },
        "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 audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set your actual audio file}\"\n: \"${AILOOT_AUDIO_FORMAT:?Set its actual probed file format}\"\nexport AILOOT_AUDIO_FILE AILOOT_AUDIO_FORMAT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"fish-audio/transcribe-1-pro\", \"response_format\": \"json\"}')\nimport base64\nf=Path(os.environ['AILOOT_AUDIO_FILE'])\nraw=f.read_bytes()\nif not raw or len(raw)>26214400:raise SystemExit('Use actual audio bytes within 25 MiB')\nfmt=os.environ['AILOOT_AUDIO_FORMAT'].strip()\nif not fmt:raise SystemExit('Use the actual probed format; the server checks it against the bytes')\np['input_audio']={'data':base64.b64encode(raw).decode(),'format':fmt}\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/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · actual audio bytes and probed format",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Keep the complete response and the original returned IDs.",
          "Never resubmit an unknown creation."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "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_second": 0.0002
          }
        },
        "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 audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/transcribe-1-pro",
        "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.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "fish-audio/transcribe-1-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "6dfb5c5617943772f46ec882da360168e475d5045f378722695aa7861883219c",
    "input_html_sha256": "687d40acc8ee407d2aed4027fabca930fd3f559118e93efb85d9fff6ce1937f6",
    "private_audit_sha256": "c0dfb8a9dea5effee99cf5aef41917d41e1aecfc746408fc1015cbd2402b0be4",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/fish-audio-transcribe-1-pro/",
    "description": "Το Transcribe 1 Pro μετατρέπει ηχογραφήσεις έως 60 λεπτών σε κείμενο με δείκτες ομιλητών και προαιρετικούς χρόνους ανά λέξη. Διατηρεί συναγόμενες ενδείξεις συναισθήματος και φωνητικών συμβάντων, διευκολύνοντας τον έλεγχο, την αναζήτηση ή την προετοιμασία υποτίτλων για συνεντεύξεις, συναντήσεις και podcasts.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/fish-audio-transcribe-1-pro/index.md",
    "title": "Fish Audio: Transcribe 1 Pro — Ailoot",
    "url": "https://ailoot.ai/models/el/fish-audio-transcribe-1-pro/"
  },
  "rawModel": {
    "about": "Το Transcribe 1 Pro είναι το μοντέλο μετατροπής ομιλίας σε κείμενο της Fish Audio για σύντομα αποσπάσματα, συνομιλίες πολλών ομιλητών και μεγάλες ηχογραφήσεις. Λαμβάνει ηχογραφημένο ήχο και επιστρέφει απομαγνητοφώνηση, με προαιρετικούς χρόνους και δομημένους γύρους ομιλίας. Τα διακριτικά χαρακτηριστικά του είναι οι αλλαγές ομιλητή σημειωμένες στο κείμενο και οι ενδείξεις συναισθήματος ή φωνητικών συμβάντων, που διατηρούν περισσότερη συνομιλιακή δομή της ηχογράφησης από μια απλή ακολουθία λέξεων.\n\nΓια συνέντευξη, συνάντηση ή podcast, κρατήστε ολόκληρη τη συνομιλία σε ένα αρχείο, ώστε ομιλητές που επανέρχονται να διατηρούν συνεπείς ετικέτες μέσα στην απόκριση. Ένα χρήσιμο παραδοτέο ελέγχου είναι απομαγνητοφώνηση συνδεδεμένη με την αρχική ηχογράφηση, με τους γύρους ομιλίας να εμφανίζονται χωριστά και διαθέσιμη χρονική σήμανση για έλεγχο παράθεσης. Μια σύνοψη ή λίστα ενεργειών είναι μεταγενέστερο βήμα εφαρμογής: κρατήστε αυτό το αποτέλεσμα χωριστά από την απομαγνητοφώνηση ώστε η προφορική πηγή να παραμένει διαθέσιμη για σύγκριση.\n\nΟ παραγωγός δέχεται ηχογραφήσεις έως 60 λεπτά και περιγράφει επεξεργασία μεγάλων αρχείων με συμπιεσμένο ήχο όπως MP3, Opus ή AAC. Οι υποστηριζόμενες μορφές περιλαμβάνουν WAV, MP3, AAC σε M4A ή MP4, FLAC, Ogg με Opus ή Vorbis, WebM/Matroska και MOV. Για αρχείο βίντεο, χρησιμοποιεί την πρώτη ροή ήχου. Τα AIFF, CAF, WMA, AMR, AC-3 και ακατέργαστο PCM χωρίς κεφαλίδα δεν υποστηρίζονται. Παρέχεται ένα αρχείο ήχου ανά αίτημα· το αποτέλεσμα φτάνει μετά την απομαγνητοφώνηση ολόκληρης της ηχογράφησης και μια μεγάλη ηχογράφηση μπορεί να διαρκέσει αρκετά λεπτά στην επεξεργασία. Αποσπάσματα μικρότερα από περίπου 0,08 δευτερόλεπτα απορρίπτονται.\n\nΗ απόκριση του παραγωγού περιέχει το πλήρες κείμενο, τη διάρκεια ηχογράφησης σε δευτερόλεπτα και έναν πίνακα segments. Το Pro σημειώνει αλλαγές ομιλητή μέσα στο κείμενο με ετικέτες όπως <|speaker:0|> και <|speaker:1|>· μια ετικέτα εφαρμόζεται στο επόμενο κείμενο έως τον επόμενο δείκτη. Αυτά είναι αναγνωριστικά μέσα σε μία απόκριση, όχι επαληθευμένα ονόματα ή ταυτότητες που μπορούν να αντιστοιχιστούν μεταξύ αιτημάτων. Αν η απομαγνητοφώνηση δεν έχει δείκτη ομιλητή, ο οδηγός την αντιμετωπίζει ως αποτέλεσμα ενός ομιλητή. Κρατήστε οποιοδήποτε κείμενο πριν από τον πρώτο δείκτη μαζί με τον πρώτο γύρο ομιλίας αντί να το απορρίπτετε.\n\nΟι χρονικές σημάνσεις ανά λέξη είναι προαιρετικές. Στο αίτημα προς τον παραγωγό, το ignore_timestamps έχει προεπιλογή true· ο ορισμός του σε false ζητά segments με text και χρόνους start και end σε δευτερόλεπτα. Ένα segment είναι γενικά μία λέξη ή ένας χαρακτήρας ή λίγοι χαρακτήρες στα κινεζικά και ιαπωνικά. Το κείμενο segment παραλείπει σημεία στίξης, δείκτες ομιλητών και ενδείξεις συμβάντων και μπορεί να κανονικοποιεί μια προφορική τιμή διαφορετικά από την πλήρη απομαγνητοφώνηση. Ένα segment λέξης μπορεί να έχει ίδιο χρόνο start και end. Ένας κενός πίνακας segments μπορεί να σημαίνει ότι δεν ζητήθηκαν χρονικές σημάνσεις, δεν βρέθηκε ομιλία ή ο χρονισμός ήταν προσωρινά μη διαθέσιμος. Χρησιμοποιήστε την πλήρη απομαγνητοφώνηση για ευανάγνωστη διατύπωση και τα segments για ευθυγράμμιση αντί να υποθέτετε ότι οι δύο συμβολοσειρές ταιριάζουν χαρακτήρα προς χαρακτήρα.\n\nΗ ρύθμιση diarize έχει προεπιλογή auto. Όταν ζητούνται χρονικές σημάνσεις και το diarize δεν είναι false, το Pro επιστρέφει επίσης speaker_turns. Κάθε γύρος ομιλίας περιέχει την ετικέτα ομιλητή, το κείμενο και τους χρόνους start/end, διατηρώντας στίξη και ενδείξεις χωρίς τον ενσωματωμένο δείκτη ομιλητή. Αν οι χρόνοι λέξεων δεν είναι διαθέσιμοι, οι χρόνοι γύρων μπορεί να είναι κατά προσέγγιση και να καλύπτουν ολόκληρη την ηχογράφηση· γειτονικοί γύροι δεν είναι απαραίτητα συνεχόμενοι ούτε χωρίς επικάλυψη. Η απενεργοποίηση του diarize αφαιρεί τη δομημένη λίστα γύρων αλλά αφήνει δείκτες ομιλητών στο πλήρες κείμενο. Ένα γνωστό πλήθος ομιλητών ή ελάχιστα και μέγιστα πλήθη μπορούν να καθοδηγούν τη διαίρεση μεγαλύτερης ηχογράφησης ανά ομιλητή κατά το δυνατόν. Το ακριβές πλήθος δεν μπορεί να συνδυάζεται με τα όρια πλήθους, και οι υποδείξεις πλήθους δεν μπορούν να χρησιμοποιούνται με απενεργοποιημένο diarize.\n\nΟι ενδείξεις συναισθήματος και φωνητικών συμβάντων εμφανίζονται ως κείμενο σε αγκύλες, για παράδειγμα [laughter], δίπλα στην αναγνωρισμένη ομιλία. Είναι συμπεράσματα από τον ήχο, όχι λέξεις που πρέπει να προσθέσει ο χρήστης πριν την απομαγνητοφώνηση. Η ρύθμιση tag_audio_events του Pro έχει προεπιλογή true· η απενεργοποίησή της αφαιρεί αυτές τις ενδείξεις από την απομαγνητοφώνηση και το κείμενο γύρων χωρίς να αλλάζει τους χρόνους. Δεν υπάρχει χωριστό πεδίο συναισθήματος ή σταθερή απαρίθμηση συναισθημάτων. Διατηρήστε την επισημασμένη απομαγνητοφώνηση όταν έχει σημασία πώς ακούγεται ένα σχόλιο και χρησιμοποιήστε έκδοση χωρίς ενδείξεις όταν το μεταγενέστερο παραδοτέο χρειάζεται μόνο τις προφορικές λέξεις.\n\nΗ γλώσσα ανιχνεύεται αυτόματα. Μια προαιρετική υπόδειξη ISO 639-1 με πεζά γράμματα δεν επιβάλλει μετάφραση ούτε αλλάζει την απομαγνητοφώνηση του Pro. Αν η γλώσσα δεν μπορεί να προσδιοριστεί, ο επιστρεφόμενος κωδικός γλώσσας μπορεί να αντανακλά την υπόδειξη χωρίς να την επαληθεύει ως προς τον ήχο. Ο παραγωγός αναφέρει μία γλώσσα αντί για κατάλογο κάθε γλώσσας σε πολυγλωσσική ηχογράφηση. Κρατήστε την αρχική διατύπωση και τα μεταδεδομένα γλώσσας μαζί όταν προετοιμάζετε αναζητήσιμο αρχείο, ιδιαίτερα όταν διαφορετικά μέρη συνομιλίας αλλάζουν γλώσσα.\n\nΓια υποτίτλους, ομαδοποιήστε διαδοχικές λέξεις με χρόνους σε ευανάγνωστες εγγραφές SRT ή WebVTT αντί να παράγετε έναν υπότιτλο ανά λέξη. Διαχωρίστε εγγραφές γύρω από παύσεις και επιλέξτε το μήκος και τον χρόνο εμφάνισής τους σύμφωνα με το πρόγραμμα αναπαραγωγής και το κοινό. Τα όρια γύρων ομιλίας μπορούν να κρατούν διαφορετικούς ομιλητές σε χωριστές εγγραφές. Ελέγξτε αν το αποτέλεσμα χρονισμού είναι κενό και βεβαιωθείτε ότι το τέλος κάθε εγγραφής είναι μεταγενέστερο της αρχής της. Η μορφοποίηση υποτίτλων, τα ονόματα για ανώνυμες ετικέτες ομιλητών και οποιαδήποτε μεταγενέστερη σύνοψη είναι παραδοτέα εφαρμογής που κατασκευάζονται από το αποτέλεσμα απομαγνητοφώνησης.\n\nΓια πρακτική ροή ηχογράφησης, αποφασίστε πριν την απομαγνητοφώνηση αν χρειάζεστε απλή ευανάγνωστη απομαγνητοφώνηση, επισημασμένους γύρους συνομιλίας ή υποτίτλους με χρόνους. Κρατήστε το αναγνωριστικό ήχου μαζί με το αποτέλεσμα, διατηρήστε το πλήρες επιστρεφόμενο κείμενο όταν έχουν σημασία στίξη και ενδείξεις και χρησιμοποιήστε τα δομημένα πεδία χρόνων για πλοήγηση. Οι δυνατότητες του Pro για μεγάλες ηχογραφήσεις και πολλούς ομιλητές είναι διακριτές από το γενικό μοντέλο σύντομων ηχογραφήσεων Transcribe 1· τα όρια και τα στοιχεία ελέγχου τους δεν πρέπει να θεωρούνται εναλλάξιμα.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "available": null,
    "canonical_model": "fish-audio/transcribe-1-pro",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "Πλήρης τιμολόγηση της διαμόρφωσης στις λεπτομέρειες."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "aeebfac63d7ddd8619fb",
        "label": "Fish Audio: Transcribe 1 Pro",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Προεπιλεγμένη διαμόρφωση"
            },
            "label": "Fish Audio: Transcribe 1 Pro · Προεπιλεγμένη διαμόρφωση",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "0949942d98ce2e4c35b418d6",
                "label": "Input audio seconds",
                "public_unit_label": "per input audio second",
                "quantity": "1",
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "input_audio_second"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "transcriptions"
    ],
    "id": "fish-audio/transcribe-1-pro",
    "input": [
      "audio"
    ],
    "kind": "transcription",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete JSON, response headers, text and every actual returned usage field. Use actual task/asset identities from the response or owned library; operation_id is not task_id.",
            "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 για τη συμφωνία των εγγραφών χωρίς νέα υποβολή· δεν υπάρχει ειδική διαδρομή περιοδικού ελέγχου για τον ήχο."
            },
            "limits": {
              "decoded_audio_max_bytes": 26214400
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "speech_to_text",
                "required": [
                  "input_audio.data",
                  "input_audio.format"
                ]
              }
            ],
            "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": [
              "speech_to_text"
            ],
            "outputs": {
              "all_results": "Διατηρήστε ολόκληρο το JSON, τις κεφαλίδες απόκρισης, το κείμενο και κάθε πραγματικό πεδίο χρήσης που επιστρέφεται. Χρησιμοποιήστε πραγματικές ταυτότητες εργασιών και αρχείων πολυμέσων από την απόκριση ή τη βιβλιοθήκη αρχείων που σας ανήκουν· το operation_id δεν είναι task_id.",
              "family": "transcription",
              "fields": [
                {
                  "description": "Απομαγνητοφωνημένο κείμενο.",
                  "name": "text",
                  "required": true,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "Χρήση ήχου.",
                  "name": "usage",
                  "required": true,
                  "required_known": true,
                  "type": "object"
                },
                {
                  "description": "Διάρκεια ήχου σε δευτερόλεπτα.",
                  "name": "usage.seconds",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "Διάρκεια ήχου σε δευτερόλεπτα.",
                  "name": "duration",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "ID εργασίας απομαγνητοφώνησης· επιστρέφεται μαζί με το asset_url όταν αποθηκευτεί και δημοσιευτεί μη κενή απομαγνητοφώνηση και της αποδοθεί υπογεγραμμένο URL περιεχομένου.",
                  "name": "task_id",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "Υπογεγραμμένο URL περιεχομένου απομαγνητοφώνησης· επιστρέφεται μαζί με το task_id όταν αποθηκευτεί και δημοσιευτεί μη κενή απομαγνητοφώνηση και της αποδοθεί υπογεγραμμένο URL περιεχομένου.",
                  "name": "asset_url",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "decoded_maximum_bytes": 26214400,
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.data",
                "required": true,
                "strict_base64": true,
                "type": "base64_string"
              },
              {
                "availability": "source_interface",
                "conditions": "Πρέπει να ισούται με την πραγματική μορφή που διαπιστώνεται από την εξέταση του αρχείου",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.format",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "multipart input on this exact profile",
              "fields outside model/input_audio/response_format",
              "non-json response format"
            ]
          },
          "hints": [
            "Διατηρήστε ολόκληρη την απόκριση και τα αρχικά ID που επιστρέφονται.",
            "Μην επανυποβάλετε ποτέ αίτημα δημιουργίας με άγνωστο αποτέλεσμα."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "audio"
            ],
            "max_audio_bytes": 26214400,
            "multipart_for_this_profile": false,
            "parameters": [
              {
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "data": "αυστηρή κωδικοποίηση base64 των πραγματικών υποστηριζόμενων byte ήχου",
                "exact_keys": [
                  "data",
                  "format"
                ],
                "format": "ακριβής μορφή αρχείου που διαπιστώθηκε από εξέταση· πρέπει να αντιστοιχεί στα πραγματικά byte",
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "enum": [
                  "json"
                ],
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "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": "Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "family": "text",
            "type": "JSON transcript with text and usage; actual owned transcript flow"
          }
        },
        "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 audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set your actual audio file}\"\n: \"${AILOOT_AUDIO_FORMAT:?Set its actual probed file format}\"\nexport AILOOT_AUDIO_FILE AILOOT_AUDIO_FORMAT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"fish-audio/transcribe-1-pro\", \"response_format\": \"json\"}')\nimport base64\nf=Path(os.environ['AILOOT_AUDIO_FILE'])\nraw=f.read_bytes()\nif not raw or len(raw)>26214400:raise SystemExit('Use actual audio bytes within 25 MiB')\nfmt=os.environ['AILOOT_AUDIO_FORMAT'].strip()\nif not fmt:raise SystemExit('Use the actual probed format; the server checks it against the bytes')\np['input_audio']={'data':base64.b64encode(raw).decode(),'format':fmt}\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/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · actual audio bytes and probed format",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Keep the complete response and the original returned IDs.",
          "Never resubmit an unknown creation."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "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_second": 0.0002
          }
        },
        "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 audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/transcribe-1-pro",
        "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.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "fish-audio/transcribe-1-pro",
        "request_model_id": "fish-audio/transcribe-1-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: Transcribe 1 Pro",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_declared_unit",
            "conditions": {},
            "key": "prompt",
            "label": "prompt",
            "quantity": "1",
            "rate_role": "typed_active_maker_rate",
            "side": "in",
            "unit": "input_audio_second"
          }
        ]
      }
    ],
    "public_id": "fish-audio/transcribe-1-pro",
    "short": "Το Transcribe 1 Pro μετατρέπει ηχογραφήσεις έως 60 λεπτών σε κείμενο με δείκτες ομιλητών και προαιρετικούς χρόνους ανά λέξη. Διατηρεί συναγόμενες ενδείξεις συναισθήματος και φωνητικών συμβάντων, διευκολύνοντας τον έλεγχο, την αναζήτηση ή την προετοιμασία υποτίτλων για συνεντεύξεις, συναντήσεις και podcasts."
  },
  "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": "Το Transcribe 1 Pro μετατρέπει ηχογραφήσεις έως 60 λεπτών σε κείμενο με δείκτες ομιλητών και προαιρετικούς χρόνους ανά λέξη. Διατηρεί συναγόμενες ενδείξεις συναισθήματος και φωνητικών συμβάντων, διευκολύνοντας τον έλεγχο, την αναζήτηση ή την προετοιμασία υποτίτλων για συνεντεύξεις, συναντήσεις και podcasts.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "5f6471d81d9cad925e71ea17896f20d7042fbaff456c37970044dda83d660da7",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "be1b0245a9caa6b8d2c2975c677529dc1e0a957e8a479a3db4e7c56c284ab28a"
}
