{
  "aboutHtml": "<p>Το GPT-4o Transcribe Diarize είναι το μοντέλο αυτόματης αναγνώρισης ομιλίας της OpenAI με ενσωματωμένη διάκριση ομιλητών. Συσχετίζει απομαγνητοφωνημένα τμήματα ήχου με διαφορετικούς ομιλητές σε μια συνομιλία. Το χρήσιμο αποτέλεσμα είναι μια απομαγνητοφώνηση οργανωμένη ανά ομιλητή και χρόνο, αντί μόνο ενός συνεχούς συνόλου λέξεων. Προορίζεται για ηχογραφημένη ομιλία που χρειάζεται ετικέτες ομιλητών, όπως μια συνάντηση, συνέντευξη ή συζήτηση πολλών ατόμων.</p><h4>Προετοιμάστε την ολοκληρωμένη ηχογράφηση</h4><p>Δώστε την ηχογράφηση που πρέπει να απομαγνητοφωνηθεί. Η τεκμηριωμένη ροή αρχείων δέχεται MP3, MP4, MPEG, MPGA, M4A, WAV και WebM, με όριο μεγέθους αρχείου 25 MB. Διατηρήστε διαθέσιμη την αρχική ηχογράφηση, ώστε μια εναλλαγή ομιλητή, ένα όνομα ή μια ασαφής φράση να μπορεί να ελεγχθεί έναντι του πραγματικού ήχου.</p><p>Για μια συνάντηση, διατηρήστε τη σειρά της συνομιλίας αντί να αφαιρείτε τις μικρές παύσεις που βοηθούν στη διάκριση των εναλλαγών. Για μια συνέντευξη, διατηρήστε την ερώτηση και την απάντηση μαζί όταν η εργασία χρειάζεται τη σχέση τους. Η προετοιμασία του ήχου πρέπει να κάνει την ομιλία ευδιάκριτη χωρίς να αφαιρεί πληροφορίες σημαντικές για το αποτέλεσμα με ετικέτες ομιλητών.</p><p>Αυτή είναι ροή απομαγνητοφώνησης αρχείων. Η επεξεργασία μιας ολοκληρωμένης ηχογράφησης και η αναγνώριση μιας ροής ήχου που εξακολουθεί να φτάνει είναι διαφορετικές εργασίες· οι ετικέτες ομιλητών του μοντέλου δεν υποστηρίζονται σε συνεδρίες απομαγνητοφώνησης Realtime.</p><h4>Ζητήστε απομαγνητοφώνηση με ετικέτες ομιλητών</h4><p>Η μορφή αποτελέσματος <code>diarized_json</code> επιστρέφει τμήματα με ετικέτες ταυτότητας ομιλητή και χρονικές σημάνσεις έναρξης και λήξης. Κάθε τμήμα περιέχει επίσης το απομαγνητοφωνημένο κείμενό του. Διατηρήστε αυτά τα πεδία μαζί, ώστε οι λέξεις να μπορούν να συνδεθούν με το σχετικό μέρος της ηχογράφησης.</p><p>Για μια χρήσιμη απομαγνητοφώνηση συνάντησης, διατηρήστε τη σειρά των τμημάτων και εμφανίστε τα λόγια κάθε ομιλητή με τις χρονικές σημάνσεις τους. Μια μεταγενέστερη εργασία μπορεί να χρησιμοποιήσει αυτήν την απομαγνητοφώνηση για να προετοιμάσει πρακτικά ή ενέργειες προς εκτέλεση, αλλά η διάκριση ομιλητών από μόνη της δεν αποφασίζει τι συμφώνησε η συνάντηση ούτε παράγει επαληθευμένη σύνοψη.</p><p>Οι ετικέτες ομιλητών περιγράφουν την ομαδοποίηση της ομιλίας από το μοντέλο. Εξετάστε τις μεταβάσεις όπου οι άνθρωποι διακόπτουν ο ένας τον άλλο, μιλούν σύντομα ή επικαλύπτονται. Ένα καλά δομημένο αποτέλεσμα βοηθά στην πλοήγηση και στον έλεγχο, ενώ μια συγκεκριμένη απόδοση λόγων σε ομιλητή μπορεί να εξακολουθεί να χρειάζεται ακρόαση του αρχικού ήχου.</p><h4>Αναφορές γνωστών ομιλητών</h4><p>Η τεκμηριωμένη ροή μπορεί να δεχτεί έως τέσσερις αναφορές ομιλητών με ονόματα. Κάθε αναφορά είναι ένα σύντομο απόσπασμα ήχου 2–10 δευτερολέπτων σε μορφή που υποστηρίζεται από την κύρια μεταφόρτωση. Τα ονόματα και οι αναφορές δίνονται μαζί, ώστε τα τμήματα να μπορούν να συσχετιστούν με γνωστούς ομιλητές.</p><p>Προετοιμάστε μια αναφορά που περιέχει καθαρά τον επιδιωκόμενο ομιλητή και διατηρήστε το όνομά της συνεπές με τις επιδιωκόμενες ετικέτες της απομαγνητοφώνησης. Για μια συνέντευξη, μια αναφορά του παρουσιαστή μπορεί να βοηθήσει στην οργάνωση του αποτελέσματος με ετικέτες ομιλητών χωρίς να μετατρέπει κάθε συμμετέχοντα σε ανώνυμη ετικέτα. Η αναφορά είναι είσοδος για την απόδοση των τμημάτων στους ομιλητές· δεν είναι γενική λειτουργία κλωνοποίησης φωνής ούτε απόδειξη της ταυτότητας ενός προσώπου.</p><p>Μη συγχέετε την ονομασία ενός ομιλητή με την επεξεργασία των λέξεων που ειπώθηκαν. Η χρήσιμη έξοδος εξακολουθεί να χρειάζεται διατήρηση του περιεχομένου της ηχογράφησης και της πραγματικής σειράς των εναλλαγών.</p><h4>Τμηματοποίηση και όρια μοντέλου</h4><p>Για ήχο μεγαλύτερο από 30 δευτερόλεπτα, ο πάροχος απαιτεί στρατηγική τμηματοποίησης, είτε αυτόματη τμηματοποίηση είτε διαμόρφωση ανίχνευσης δραστηριότητας φωνής. Αυτή η απαίτηση δεν είναι μέγιστη διάρκεια ηχογράφησης. Περιγράφει πώς διαιρείται η μεγαλύτερη είσοδος για επεξεργασία.</p><p>Η κάρτα του μοντέλου αναφέρει παράθυρο συμφραζομένων 16.000 tokens και μέγιστη έξοδο 2.000 tokens. Αυτά είναι όρια tokens του μοντέλου, χωριστά από το όριο μεταφόρτωσης 25 MB της ροής αρχείων και το κατώφλι τμηματοποίησης. Δεν πρέπει να μετατραπούν σε επινοημένο αριθμό λεπτών που εφαρμόζεται σε κάθε ηχογράφηση.</p><p>Διατηρήστε τις χρονικές σημάνσεις και την ταυτότητα των τμημάτων όταν συνθέτετε ή εξετάζετε μια μεγαλύτερη απομαγνητοφώνηση. Αν μια ηχογράφηση έχει χωριστεί πριν από την υποβολή, διατηρήστε τη σχέση κάθε μέρους με τον αρχικό ήχο, ώστε μια τοπική χρονική σήμανση να μη συγχέεται με τη θέση της στην πλήρη συνομιλία.</p><h4>Συνεχής ροή οριστικοποιημένων τμημάτων</h4><p>Η ροή απομαγνητοφώνησης αρχείων μπορεί να μεταδίδει κείμενο σταδιακά ενώ γίνεται η επεξεργασία της ηχογράφησης. Στη συνεχή ροή με ετικέτες ομιλητών, τα ολοκληρωμένα τμήματα παράγουν συμβάντα τμημάτων. Οι σταδιακές προσθήκες κειμένου περιλαμβάνουν αναγνωριστικό τμήματος, αλλά δεν περιέχουν ενδιάμεσες αναθέσεις σε ομιλητές· ο ομιλητής ανατίθεται όταν οριστικοποιείται το τμήμα.</p><p>Αυτή η διάκριση έχει σημασία για την παρουσίαση. Εμφανίστε το προσωρινό κείμενο και την οριστικοποιημένη εναλλαγή ομιλητή ως διαφορετικές καταστάσεις, αντί να προσθέτετε αβέβαιη ετικέτα ομιλητή πριν το μοντέλο ολοκληρώσει το τμήμα. Διατηρήστε το ολοκληρωμένο αποτέλεσμα όταν η απομαγνητοφώνηση χρειάζεται για μεταγενέστερη επεξεργασία ή ανάλυση.</p><h4>Όρια μοντέλου και εξόδου</h4><p>Αυτό το προφίλ είναι το μοντέλο διάκρισης ομιλητών, χωριστά από τη συνηθισμένη απομαγνητοφώνηση GPT-4o, την απομαγνητοφώνηση Mini, τη σύνθεση ομιλίας και τα μοντέλα ζωντανής συνομιλίας. Δεν υποστηρίζει οδηγίες απομαγνητοφώνησης· διατηρήστε κάθε έλεγχο ή διόρθωση ορολογίας ως ξεχωριστό βήμα που ελέγχεται έναντι του αρχικού ήχου. Η διεπαφή του παρόχου του αφορά την απομαγνητοφώνηση ηχογραφημένου ήχου σε κείμενο. Δεν παράγει ηχητική απάντηση ούτε μεταφράζει μια ηχογράφηση μέσω της ξεχωριστής ροής μετάφρασης ήχου.</p><p>Χρησιμοποιήστε το για απομαγνητοφωνήσεις που χρειάζονται τόσο περιεχόμενο όσο και δομή ομιλητών. Ελέγξτε ονόματα, τεχνικούς όρους, αριθμούς, όρια εναλλαγών και αποδόσεις λόγων σε ομιλητές έναντι της ηχογράφησης. Διατηρήστε τον ήχο, την επιλεγμένη μορφή αποτελέσματος, τις αναφορές και την ολοκληρωμένη απομαγνητοφώνηση, ώστε μια διόρθωση να μπορεί να αφορά μια συγκεκριμένη φράση ή ανάθεση ομιλητή.</p>",
  "aboutText": "Το GPT-4o Transcribe Diarize είναι το μοντέλο αυτόματης αναγνώρισης ομιλίας της OpenAI με ενσωματωμένη διάκριση ομιλητών. Συσχετίζει απομαγνητοφωνημένα τμήματα ήχου με διαφορετικούς ομιλητές σε μια συνομιλία. Το χρήσιμο αποτέλεσμα είναι μια απομαγνητοφώνηση οργανωμένη ανά ομιλητή και χρόνο, αντί μόνο ενός συνεχούς συνόλου λέξεων. Προορίζεται για ηχογραφημένη ομιλία που χρειάζεται ετικέτες ομιλητών, όπως μια συνάντηση, συνέντευξη ή συζήτηση πολλών ατόμων.\n\n### Προετοιμάστε την ολοκληρωμένη ηχογράφηση\n\nΔώστε την ηχογράφηση που πρέπει να απομαγνητοφωνηθεί. Η τεκμηριωμένη ροή αρχείων δέχεται MP3, MP4, MPEG, MPGA, M4A, WAV και WebM, με όριο μεγέθους αρχείου 25 MB. Διατηρήστε διαθέσιμη την αρχική ηχογράφηση, ώστε μια εναλλαγή ομιλητή, ένα όνομα ή μια ασαφής φράση να μπορεί να ελεγχθεί έναντι του πραγματικού ήχου.\n\nΓια μια συνάντηση, διατηρήστε τη σειρά της συνομιλίας αντί να αφαιρείτε τις μικρές παύσεις που βοηθούν στη διάκριση των εναλλαγών. Για μια συνέντευξη, διατηρήστε την ερώτηση και την απάντηση μαζί όταν η εργασία χρειάζεται τη σχέση τους. Η προετοιμασία του ήχου πρέπει να κάνει την ομιλία ευδιάκριτη χωρίς να αφαιρεί πληροφορίες σημαντικές για το αποτέλεσμα με ετικέτες ομιλητών.\n\nΑυτή είναι ροή απομαγνητοφώνησης αρχείων. Η επεξεργασία μιας ολοκληρωμένης ηχογράφησης και η αναγνώριση μιας ροής ήχου που εξακολουθεί να φτάνει είναι διαφορετικές εργασίες· οι ετικέτες ομιλητών του μοντέλου δεν υποστηρίζονται σε συνεδρίες απομαγνητοφώνησης Realtime.\n\n### Ζητήστε απομαγνητοφώνηση με ετικέτες ομιλητών\n\nΗ μορφή αποτελέσματος `diarized_json` επιστρέφει τμήματα με ετικέτες ταυτότητας ομιλητή και χρονικές σημάνσεις έναρξης και λήξης. Κάθε τμήμα περιέχει επίσης το απομαγνητοφωνημένο κείμενό του. Διατηρήστε αυτά τα πεδία μαζί, ώστε οι λέξεις να μπορούν να συνδεθούν με το σχετικό μέρος της ηχογράφησης.\n\nΓια μια χρήσιμη απομαγνητοφώνηση συνάντησης, διατηρήστε τη σειρά των τμημάτων και εμφανίστε τα λόγια κάθε ομιλητή με τις χρονικές σημάνσεις τους. Μια μεταγενέστερη εργασία μπορεί να χρησιμοποιήσει αυτήν την απομαγνητοφώνηση για να προετοιμάσει πρακτικά ή ενέργειες προς εκτέλεση, αλλά η διάκριση ομιλητών από μόνη της δεν αποφασίζει τι συμφώνησε η συνάντηση ούτε παράγει επαληθευμένη σύνοψη.\n\nΟι ετικέτες ομιλητών περιγράφουν την ομαδοποίηση της ομιλίας από το μοντέλο. Εξετάστε τις μεταβάσεις όπου οι άνθρωποι διακόπτουν ο ένας τον άλλο, μιλούν σύντομα ή επικαλύπτονται. Ένα καλά δομημένο αποτέλεσμα βοηθά στην πλοήγηση και στον έλεγχο, ενώ μια συγκεκριμένη απόδοση λόγων σε ομιλητή μπορεί να εξακολουθεί να χρειάζεται ακρόαση του αρχικού ήχου.\n\n### Αναφορές γνωστών ομιλητών\n\nΗ τεκμηριωμένη ροή μπορεί να δεχτεί έως τέσσερις αναφορές ομιλητών με ονόματα. Κάθε αναφορά είναι ένα σύντομο απόσπασμα ήχου 2–10 δευτερολέπτων σε μορφή που υποστηρίζεται από την κύρια μεταφόρτωση. Τα ονόματα και οι αναφορές δίνονται μαζί, ώστε τα τμήματα να μπορούν να συσχετιστούν με γνωστούς ομιλητές.\n\nΠροετοιμάστε μια αναφορά που περιέχει καθαρά τον επιδιωκόμενο ομιλητή και διατηρήστε το όνομά της συνεπές με τις επιδιωκόμενες ετικέτες της απομαγνητοφώνησης. Για μια συνέντευξη, μια αναφορά του παρουσιαστή μπορεί να βοηθήσει στην οργάνωση του αποτελέσματος με ετικέτες ομιλητών χωρίς να μετατρέπει κάθε συμμετέχοντα σε ανώνυμη ετικέτα. Η αναφορά είναι είσοδος για την απόδοση των τμημάτων στους ομιλητές· δεν είναι γενική λειτουργία κλωνοποίησης φωνής ούτε απόδειξη της ταυτότητας ενός προσώπου.\n\nΜη συγχέετε την ονομασία ενός ομιλητή με την επεξεργασία των λέξεων που ειπώθηκαν. Η χρήσιμη έξοδος εξακολουθεί να χρειάζεται διατήρηση του περιεχομένου της ηχογράφησης και της πραγματικής σειράς των εναλλαγών.\n\n### Τμηματοποίηση και όρια μοντέλου\n\nΓια ήχο μεγαλύτερο από 30 δευτερόλεπτα, ο πάροχος απαιτεί στρατηγική τμηματοποίησης, είτε αυτόματη τμηματοποίηση είτε διαμόρφωση ανίχνευσης δραστηριότητας φωνής. Αυτή η απαίτηση δεν είναι μέγιστη διάρκεια ηχογράφησης. Περιγράφει πώς διαιρείται η μεγαλύτερη είσοδος για επεξεργασία.\n\nΗ κάρτα του μοντέλου αναφέρει παράθυρο συμφραζομένων 16.000 tokens και μέγιστη έξοδο 2.000 tokens. Αυτά είναι όρια tokens του μοντέλου, χωριστά από το όριο μεταφόρτωσης 25 MB της ροής αρχείων και το κατώφλι τμηματοποίησης. Δεν πρέπει να μετατραπούν σε επινοημένο αριθμό λεπτών που εφαρμόζεται σε κάθε ηχογράφηση.\n\nΔιατηρήστε τις χρονικές σημάνσεις και την ταυτότητα των τμημάτων όταν συνθέτετε ή εξετάζετε μια μεγαλύτερη απομαγνητοφώνηση. Αν μια ηχογράφηση έχει χωριστεί πριν από την υποβολή, διατηρήστε τη σχέση κάθε μέρους με τον αρχικό ήχο, ώστε μια τοπική χρονική σήμανση να μη συγχέεται με τη θέση της στην πλήρη συνομιλία.\n\n### Συνεχής ροή οριστικοποιημένων τμημάτων\n\nΗ ροή απομαγνητοφώνησης αρχείων μπορεί να μεταδίδει κείμενο σταδιακά ενώ γίνεται η επεξεργασία της ηχογράφησης. Στη συνεχή ροή με ετικέτες ομιλητών, τα ολοκληρωμένα τμήματα παράγουν συμβάντα τμημάτων. Οι σταδιακές προσθήκες κειμένου περιλαμβάνουν αναγνωριστικό τμήματος, αλλά δεν περιέχουν ενδιάμεσες αναθέσεις σε ομιλητές· ο ομιλητής ανατίθεται όταν οριστικοποιείται το τμήμα.\n\nΑυτή η διάκριση έχει σημασία για την παρουσίαση. Εμφανίστε το προσωρινό κείμενο και την οριστικοποιημένη εναλλαγή ομιλητή ως διαφορετικές καταστάσεις, αντί να προσθέτετε αβέβαιη ετικέτα ομιλητή πριν το μοντέλο ολοκληρώσει το τμήμα. Διατηρήστε το ολοκληρωμένο αποτέλεσμα όταν η απομαγνητοφώνηση χρειάζεται για μεταγενέστερη επεξεργασία ή ανάλυση.\n\n### Όρια μοντέλου και εξόδου\n\nΑυτό το προφίλ είναι το μοντέλο διάκρισης ομιλητών, χωριστά από τη συνηθισμένη απομαγνητοφώνηση GPT-4o, την απομαγνητοφώνηση Mini, τη σύνθεση ομιλίας και τα μοντέλα ζωντανής συνομιλίας. Δεν υποστηρίζει οδηγίες απομαγνητοφώνησης· διατηρήστε κάθε έλεγχο ή διόρθωση ορολογίας ως ξεχωριστό βήμα που ελέγχεται έναντι του αρχικού ήχου. Η διεπαφή του παρόχου του αφορά την απομαγνητοφώνηση ηχογραφημένου ήχου σε κείμενο. Δεν παράγει ηχητική απάντηση ούτε μεταφράζει μια ηχογράφηση μέσω της ξεχωριστής ροής μετάφρασης ήχου.\n\nΧρησιμοποιήστε το για απομαγνητοφωνήσεις που χρειάζονται τόσο περιεχόμενο όσο και δομή ομιλητών. Ελέγξτε ονόματα, τεχνικούς όρους, αριθμούς, όρια εναλλαγών και αποδόσεις λόγων σε ομιλητές έναντι της ηχογράφησης. Διατηρήστε τον ήχο, την επιλεγμένη μορφή αποτελέσματος, τις αναφορές και την ολοκληρωμένη απομαγνητοφώνηση, ώστε μια διόρθωση να μπορεί να αφορά μια συγκεκριμένη φράση ή ανάθεση ομιλητή.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "cd9754923428bcf8b8f678ab36c1407815d08455b6184fe3c2d996abd31741d3",
    "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\">O</span><h2 id=\"sheet-title\">gpt-4o-transcribe-diarize</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>OpenAI /</span><code>openai/gpt-4o-transcribe-diarize</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|openai%2Fgpt-4o-transcribe-diarize\">Αναγνώριση</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\">Το GPT-4o Transcribe Diarize μετατρέπει ηχογραφημένη ομιλία σε κείμενο με τμήματα που φέρουν ετικέτες ομιλητών και χρονικές σημάνσεις. Ταιριάζει σε συναντήσεις, συνεντεύξεις και ηχογραφήσεις πολλών ατόμων όπου η απομαγνητοφώνηση πρέπει να δείχνει ποιος μίλησε πότε, με προαιρετικές σύντομες φωνητικές αναφορές για γνωστούς ομιλητές.</p><dl class=\"card-io\" data-card-io><div><dt>Αποδεκτές είσοδοι</dt><dd>Ήχος</dd></div><div><dt>Αποτελέσματα</dt><dd>transcription</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>Το GPT-4o Transcribe Diarize είναι το μοντέλο αυτόματης αναγνώρισης ομιλίας της OpenAI με ενσωματωμένη διάκριση ομιλητών. Συσχετίζει απομαγνητοφωνημένα τμήματα ήχου με διαφορετικούς ομιλητές σε μια συνομιλία. Το χρήσιμο αποτέλεσμα είναι μια απομαγνητοφώνηση οργανωμένη ανά ομιλητή και χρόνο, αντί μόνο ενός συνεχούς συνόλου λέξεων. Προορίζεται για ηχογραφημένη ομιλία που χρειάζεται ετικέτες ομιλητών, όπως μια συνάντηση, συνέντευξη ή συζήτηση πολλών ατόμων.</p><h4>Προετοιμάστε την ολοκληρωμένη ηχογράφηση</h4><p>Δώστε την ηχογράφηση που πρέπει να απομαγνητοφωνηθεί. Η τεκμηριωμένη ροή αρχείων δέχεται MP3, MP4, MPEG, MPGA, M4A, WAV και WebM, με όριο μεγέθους αρχείου 25 MB. Διατηρήστε διαθέσιμη την αρχική ηχογράφηση, ώστε μια εναλλαγή ομιλητή, ένα όνομα ή μια ασαφής φράση να μπορεί να ελεγχθεί έναντι του πραγματικού ήχου.</p><p>Για μια συνάντηση, διατηρήστε τη σειρά της συνομιλίας αντί να αφαιρείτε τις μικρές παύσεις που βοηθούν στη διάκριση των εναλλαγών. Για μια συνέντευξη, διατηρήστε την ερώτηση και την απάντηση μαζί όταν η εργασία χρειάζεται τη σχέση τους. Η προετοιμασία του ήχου πρέπει να κάνει την ομιλία ευδιάκριτη χωρίς να αφαιρεί πληροφορίες σημαντικές για το αποτέλεσμα με ετικέτες ομιλητών.</p><p>Αυτή είναι ροή απομαγνητοφώνησης αρχείων. Η επεξεργασία μιας ολοκληρωμένης ηχογράφησης και η αναγνώριση μιας ροής ήχου που εξακολουθεί να φτάνει είναι διαφορετικές εργασίες· οι ετικέτες ομιλητών του μοντέλου δεν υποστηρίζονται σε συνεδρίες απομαγνητοφώνησης Realtime.</p><h4>Ζητήστε απομαγνητοφώνηση με ετικέτες ομιλητών</h4><p>Η μορφή αποτελέσματος <code>diarized_json</code> επιστρέφει τμήματα με ετικέτες ταυτότητας ομιλητή και χρονικές σημάνσεις έναρξης και λήξης. Κάθε τμήμα περιέχει επίσης το απομαγνητοφωνημένο κείμενό του. Διατηρήστε αυτά τα πεδία μαζί, ώστε οι λέξεις να μπορούν να συνδεθούν με το σχετικό μέρος της ηχογράφησης.</p><p>Για μια χρήσιμη απομαγνητοφώνηση συνάντησης, διατηρήστε τη σειρά των τμημάτων και εμφανίστε τα λόγια κάθε ομιλητή με τις χρονικές σημάνσεις τους. Μια μεταγενέστερη εργασία μπορεί να χρησιμοποιήσει αυτήν την απομαγνητοφώνηση για να προετοιμάσει πρακτικά ή ενέργειες προς εκτέλεση, αλλά η διάκριση ομιλητών από μόνη της δεν αποφασίζει τι συμφώνησε η συνάντηση ούτε παράγει επαληθευμένη σύνοψη.</p><p>Οι ετικέτες ομιλητών περιγράφουν την ομαδοποίηση της ομιλίας από το μοντέλο. Εξετάστε τις μεταβάσεις όπου οι άνθρωποι διακόπτουν ο ένας τον άλλο, μιλούν σύντομα ή επικαλύπτονται. Ένα καλά δομημένο αποτέλεσμα βοηθά στην πλοήγηση και στον έλεγχο, ενώ μια συγκεκριμένη απόδοση λόγων σε ομιλητή μπορεί να εξακολουθεί να χρειάζεται ακρόαση του αρχικού ήχου.</p><h4>Αναφορές γνωστών ομιλητών</h4><p>Η τεκμηριωμένη ροή μπορεί να δεχτεί έως τέσσερις αναφορές ομιλητών με ονόματα. Κάθε αναφορά είναι ένα σύντομο απόσπασμα ήχου 2–10 δευτερολέπτων σε μορφή που υποστηρίζεται από την κύρια μεταφόρτωση. Τα ονόματα και οι αναφορές δίνονται μαζί, ώστε τα τμήματα να μπορούν να συσχετιστούν με γνωστούς ομιλητές.</p><p>Προετοιμάστε μια αναφορά που περιέχει καθαρά τον επιδιωκόμενο ομιλητή και διατηρήστε το όνομά της συνεπές με τις επιδιωκόμενες ετικέτες της απομαγνητοφώνησης. Για μια συνέντευξη, μια αναφορά του παρουσιαστή μπορεί να βοηθήσει στην οργάνωση του αποτελέσματος με ετικέτες ομιλητών χωρίς να μετατρέπει κάθε συμμετέχοντα σε ανώνυμη ετικέτα. Η αναφορά είναι είσοδος για την απόδοση των τμημάτων στους ομιλητές· δεν είναι γενική λειτουργία κλωνοποίησης φωνής ούτε απόδειξη της ταυτότητας ενός προσώπου.</p><p>Μη συγχέετε την ονομασία ενός ομιλητή με την επεξεργασία των λέξεων που ειπώθηκαν. Η χρήσιμη έξοδος εξακολουθεί να χρειάζεται διατήρηση του περιεχομένου της ηχογράφησης και της πραγματικής σειράς των εναλλαγών.</p><h4>Τμηματοποίηση και όρια μοντέλου</h4><p>Για ήχο μεγαλύτερο από 30 δευτερόλεπτα, ο πάροχος απαιτεί στρατηγική τμηματοποίησης, είτε αυτόματη τμηματοποίηση είτε διαμόρφωση ανίχνευσης δραστηριότητας φωνής. Αυτή η απαίτηση δεν είναι μέγιστη διάρκεια ηχογράφησης. Περιγράφει πώς διαιρείται η μεγαλύτερη είσοδος για επεξεργασία.</p><p>Η κάρτα του μοντέλου αναφέρει παράθυρο συμφραζομένων 16.000 tokens και μέγιστη έξοδο 2.000 tokens. Αυτά είναι όρια tokens του μοντέλου, χωριστά από το όριο μεταφόρτωσης 25 MB της ροής αρχείων και το κατώφλι τμηματοποίησης. Δεν πρέπει να μετατραπούν σε επινοημένο αριθμό λεπτών που εφαρμόζεται σε κάθε ηχογράφηση.</p><p>Διατηρήστε τις χρονικές σημάνσεις και την ταυτότητα των τμημάτων όταν συνθέτετε ή εξετάζετε μια μεγαλύτερη απομαγνητοφώνηση. Αν μια ηχογράφηση έχει χωριστεί πριν από την υποβολή, διατηρήστε τη σχέση κάθε μέρους με τον αρχικό ήχο, ώστε μια τοπική χρονική σήμανση να μη συγχέεται με τη θέση της στην πλήρη συνομιλία.</p><h4>Συνεχής ροή οριστικοποιημένων τμημάτων</h4><p>Η ροή απομαγνητοφώνησης αρχείων μπορεί να μεταδίδει κείμενο σταδιακά ενώ γίνεται η επεξεργασία της ηχογράφησης. Στη συνεχή ροή με ετικέτες ομιλητών, τα ολοκληρωμένα τμήματα παράγουν συμβάντα τμημάτων. Οι σταδιακές προσθήκες κειμένου περιλαμβάνουν αναγνωριστικό τμήματος, αλλά δεν περιέχουν ενδιάμεσες αναθέσεις σε ομιλητές· ο ομιλητής ανατίθεται όταν οριστικοποιείται το τμήμα.</p><p>Αυτή η διάκριση έχει σημασία για την παρουσίαση. Εμφανίστε το προσωρινό κείμενο και την οριστικοποιημένη εναλλαγή ομιλητή ως διαφορετικές καταστάσεις, αντί να προσθέτετε αβέβαιη ετικέτα ομιλητή πριν το μοντέλο ολοκληρώσει το τμήμα. Διατηρήστε το ολοκληρωμένο αποτέλεσμα όταν η απομαγνητοφώνηση χρειάζεται για μεταγενέστερη επεξεργασία ή ανάλυση.</p><h4>Όρια μοντέλου και εξόδου</h4><p>Αυτό το προφίλ είναι το μοντέλο διάκρισης ομιλητών, χωριστά από τη συνηθισμένη απομαγνητοφώνηση GPT-4o, την απομαγνητοφώνηση Mini, τη σύνθεση ομιλίας και τα μοντέλα ζωντανής συνομιλίας. Δεν υποστηρίζει οδηγίες απομαγνητοφώνησης· διατηρήστε κάθε έλεγχο ή διόρθωση ορολογίας ως ξεχωριστό βήμα που ελέγχεται έναντι του αρχικού ήχου. Η διεπαφή του παρόχου του αφορά την απομαγνητοφώνηση ηχογραφημένου ήχου σε κείμενο. Δεν παράγει ηχητική απάντηση ούτε μεταφράζει μια ηχογράφηση μέσω της ξεχωριστής ροής μετάφρασης ήχου.</p><p>Χρησιμοποιήστε το για απομαγνητοφωνήσεις που χρειάζονται τόσο περιεχόμενο όσο και δομή ομιλητών. Ελέγξτε ονόματα, τεχνικούς όρους, αριθμούς, όρια εναλλαγών και αποδόσεις λόγων σε ομιλητές έναντι της ηχογράφησης. Διατηρήστε τον ήχο, την επιλεγμένη μορφή αποτελέσματος, τις αναφορές και την ολοκληρωμένη απομαγνητοφώνηση, ώστε μια διόρθωση να μπορεί να αφορά μια συγκεκριμένη φράση ή ανάθεση ομιλητή.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι</h3><details class=\"card-method\" open><summary><b>Ailoot 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>transcription</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>openai/gpt-4o-transcribe-diarize</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\">file</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>file</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>Τύποι MIME: audio/mpeg</div><div>Επέκταση αρχείου: .mp3</div><div>Μέγιστη διάρκεια, δευτερόλεπτα: 30</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>diarized_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>diarized_transcription</b></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>multipart/form-data</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, file, response_format</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>file_formats</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>mp3</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>max_audio_seconds</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>30</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>max_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>response_format</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>diarized_json</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>other_options</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>false</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>material_types</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>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>form_string_maximum_bytes</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>256</td></tr></tbody></table></div><p>Εναλλακτικά ονόματα μεθόδου: <code>/audio/transcriptions</code></p><p>Κύκλος ζωής: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p><p class=\"note-s\">Χρησιμοποιήστε πραγματική ηχογράφηση και αντίστοιχη μορφή.</p><p class=\"note-s\">Διατηρήστε ολόκληρη την απομαγνητοφώνηση, τα τμήματα, τα ID ομιλητών και τους χρόνους.</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>Ultra</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>—</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>/ 1K token ήχου</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · token ήχου εισόδου</span> <b>$0.012</b> <span class=\"price-unit\">/ 1K token ήχου</span></div></td></tr><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Ultra</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>—</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>/ 1K token ήχου</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Έξοδος · token ήχου εξόδου</span> <b>$0.02</b> <span class=\"price-unit\">/ 1K token ήχου</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. <a href=\"/docs/el/billing/reserve/\">Πώς λειτουργούν η δέσμευση και η εκκαθάριση →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Παραδείγματα αιτημάτων</h3><h4>Ailoot Ultra · Αναγνώριση ομιλίας</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-2050-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2050-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · ακριβές διατηρημένο αίτημα δημιουργίας</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2050-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2050-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 the path to your actual MP3 recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport os\nfrom pathlib import Path\np=Path(os.environ[&quot;AILOOT_AUDIO_FILE&quot;])\nif not p.is_file() or p.suffix.lower()!=&quot;.mp3&quot;:raise SystemExit(&quot;Choose an existing MP3 recording&quot;)\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; \\\n  --form-string model=openai/gpt-4o-transcribe-diarize -F &quot;file=@$AILOOT_AUDIO_FILE&quot; --form-string response_format=diarized_json \\\n  -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;result.json&quot;).read_text())))\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><details class=\"card-about\"><summary>Άλλες ανακτήσεις περιεχομένου</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-2051-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2051-panel-0\" aria-selected=\"true\" tabindex=\"0\">Αποθηκεύστε κάθε απομαγνητοφώνηση που επιστρέφεται και σας ανήκει</button><button class=\"cg-tab\" id=\"model-code-2051-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2051-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Βιβλιοθήκη πολυμέσων</button><button class=\"cg-tab\" id=\"model-code-2051-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2051-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Κατάσταση εργασίας</button><button class=\"cg-tab\" id=\"model-code-2051-tab-3\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2051-panel-3\" aria-selected=\"false\" tabindex=\"-1\">Στοιχεία αρχείου</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2051-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2051-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nurls=[]\nif isinstance(r.get(&#39;asset_url&#39;),str) and r[&#39;asset_url&#39;]:urls.append((&#39;transcript&#39;,r[&#39;asset_url&#39;]))\nfor label,path in urls:\n    u=urljoin(&#39;https://api.ailoot.ai&#39;,path);z=urlsplit(u)\n    if z.scheme!=&#39;https&#39; or z.netloc!=&#39;api.ailoot.ai&#39; or z.username or z.password:raise SystemExit(&#39;Use the actual returned Ailoot owned content URL&#39;)\n    target=Path(&#39;owned-&#39;+label+&#39;.bin&#39;)\n    subprocess.run([&#39;curl&#39;,&#39;--fail-with-body&#39;,&#39;--silent&#39;,&#39;--show-error&#39;,u,&#39;-H&#39;,&#39;Authorization: Bearer &#39;+os.environ[&#39;AILOOT_API_KEY&#39;],&#39;-D&#39;,str(target)+&#39;.headers&#39;,&#39;-o&#39;,str(target)],check=True)\nprint(&#39;All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.&#39;)\nPY_ASSETS\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2051-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2051-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-assets.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2051-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-2051-tab-2\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}&quot;\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_MEDIA_TASK_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/media/tasks/$resource_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-task.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;media-task.json&quot;).read_text())))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2051-panel-3\" role=\"tabpanel\" aria-labelledby=\"model-code-2051-tab-3\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}&quot;\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_ASSET_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/media/assets/$resource_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-asset.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;media-asset.json&quot;).read_text())))\nPY_RESULT\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα</h5><p class=\"note-s\">Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.</p><p class=\"note-s\">Διατηρήστε ολόκληρο το JSON, όχι μόνο το κείμενο· διατηρήστε κάθε διαθέσιμο τμήμα, ομιλητή, χρονική σήμανση και πραγματική ταυτότητα εργασίας ή αρχείου πολυμέσων.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Αν χρειάζεται έλεγχος της αρχικής απάντησης</h5><p class=\"note-s\">Διατηρήστε το αρχικό operation_id/X-Client-Request-ID για τη συμφωνία των εγγραφών χωρίς νέα υποβολή· δεν υπάρχει ειδική διαδρομή περιοδικού ελέγχου για τον ήχο.</p></div><details class=\"card-about\" data-output-fields><summary>Πεδία απάντησης</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Πεδίο</th><th>Τύπος</th></tr></thead><tbody><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">text</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">segments[]</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>object</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></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></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></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">segments[].speaker</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>string</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">segments[].start</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>number</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">segments[].end</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span>number</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=openai%2Fgpt-4o-transcribe-diarize&amp;route=Ultra&amp;caller=openai%2Fgpt-4o-transcribe-diarize&amp;fmt=transcriptions\"><code>openai/gpt-4o-transcribe-diarize</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\"><code>/audio/transcriptions</code></p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=openai%2Fgpt-4o-transcribe-diarize&amp;route=Ultra&amp;caller=openai%2Fgpt-4o-transcribe-diarize&amp;fmt=transcriptions\"><code>openai/gpt-4o-transcribe-diarize</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/gpt-4o-transcribe-diarize",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "openai/gpt-4o-transcribe-diarize",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fgpt-4o-transcribe-diarize",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain complete JSON, not only text; preserve every available segment/speaker/timestamp and actual task/asset identity.",
            "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": "multipart/form-data",
                "file_formats": [
                  "mp3"
                ],
                "maximum_seconds": 30,
                "mode": "diarized_transcription"
              }
            ],
            "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": [
              "diarized_transcription"
            ],
            "outputs": {
              "all_results": "Διατηρήστε ολόκληρο το JSON, όχι μόνο το κείμενο· διατηρήστε κάθε διαθέσιμο τμήμα, ομιλητή, χρονική σήμανση και πραγματική ταυτότητα εργασίας ή αρχείου πολυμέσων.",
              "family": "transcription",
              "fields": [
                {
                  "description": null,
                  "name": "text",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "segments[]",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "task_id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "asset_url",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "segments[].speaker",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "segments[].start",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "segments[].end",
                  "type": "number"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "openai/gpt-4o-transcribe-diarize"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "file_extension": ".mp3",
                "maximum_bytes": 26214400,
                "maximum_seconds": 30,
                "mime_types": [
                  "audio/mpeg"
                ],
                "name": "file",
                "required": true,
                "type": "file"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "diarized_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "JSONinput_audio",
              "nonMP3",
              "audioover30seconds",
              "otheroptions"
            ]
          },
          "hints": [
            "Χρησιμοποιήστε πραγματική ηχογράφηση και αντίστοιχη μορφή.",
            "Διατηρήστε ολόκληρη την απομαγνητοφώνηση, τα τμήματα, τα ID ομιλητών και τους χρόνους."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "multipart/form-data",
            "file_formats": [
              "mp3"
            ],
            "form_string_maximum_bytes": 256,
            "material_types": [
              "audio"
            ],
            "max_audio_seconds": 30,
            "max_bytes": 26214400,
            "other_options": false,
            "required": [
              "model",
              "file",
              "response_format"
            ],
            "response_format": [
              "diarized_json"
            ]
          },
          "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": [
            "/audio/transcriptions"
          ],
          "operation_modes": [
            "diarized_transcription"
          ],
          "output": {
            "all_results": "Retain complete JSON, not only text; preserve every available segment/speaker/timestamp and actual task/asset identity.",
            "family": "transcription",
            "fields": [
              {
                "description": null,
                "name": "text",
                "type": "string"
              },
              {
                "description": null,
                "name": "segments[]",
                "type": "object"
              },
              {
                "description": null,
                "name": "task_id",
                "type": "string"
              },
              {
                "description": null,
                "name": "asset_url",
                "type": "string"
              },
              {
                "description": null,
                "name": "usage",
                "type": "object"
              },
              {
                "description": null,
                "name": "segments[].speaker",
                "type": "string"
              },
              {
                "description": null,
                "name": "segments[].start",
                "type": "number"
              },
              {
                "description": null,
                "name": "segments[].end",
                "type": "number"
              }
            ],
            "format": "json",
            "owned_result_extra_fields": [
              "task_id",
              "asset_url"
            ],
            "preserve_original_json_fields": [
              "text",
              "task",
              "duration",
              "segments",
              "usage"
            ],
            "segment_fields": [
              "type",
              "text",
              "speaker",
              "start",
              "end",
              "id"
            ]
          }
        },
        "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": "/ 1K audio tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_token",
                "label": "audio input token",
                "native_amount_usd_per_unit": "0.000012",
                "native_quantity": 1,
                "native_unit": "audio_input_token",
                "public_unit_label": "/ 1K audio tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K audio tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.02000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_token",
                "label": "audio output token",
                "native_amount_usd_per_unit": "0.00002",
                "native_quantity": 1,
                "native_unit": "audio_output_token",
                "public_unit_label": "/ 1K audio tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual MP3 recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport os\nfrom pathlib import Path\np=Path(os.environ[\"AILOOT_AUDIO_FILE\"])\nif not p.is_file() or p.suffix.lower()!=\".mp3\":raise SystemExit(\"Choose an existing MP3 recording\")\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  --form-string model=openai/gpt-4o-transcribe-diarize -F \"file=@$AILOOT_AUDIO_FILE\" --form-string response_format=diarized_json \\\n  -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"result.json\").read_text())))\nPY_RESULT\n",
            "label": "curl · exact retained creation",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('result.json').read_text())\nurls=[]\nif isinstance(r.get('asset_url'),str) and r['asset_url']:urls.append(('transcript',r['asset_url']))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every returned owned transcript",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-assets.json\n",
            "label": "List actual media assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_MEDIA_TASK_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/tasks/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-task.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-task.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual media task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_ASSET_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/assets/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-asset.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-asset.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual asset metadata",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use actual recording and matching format.",
          "Preserve full transcript, segments, speaker IDs and timing."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/audio/transcriptions"
        ],
        "out": null,
        "output": [
          "transcription"
        ],
        "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_token": 1.2e-05,
            "audio_output_token": 2e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K audio tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_token",
                "label": "audio input token",
                "native_amount_usd_per_unit": "0.000012",
                "native_quantity": 1,
                "native_unit": "audio_input_token",
                "public_unit_label": "/ 1K audio tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K audio tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.02000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_token",
                "label": "audio output token",
                "native_amount_usd_per_unit": "0.00002",
                "native_quantity": 1,
                "native_unit": "audio_output_token",
                "public_unit_label": "/ 1K audio tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_token"
              }
            ]
          }
        ],
        "request_model_id": "openai/gpt-4o-transcribe-diarize",
        "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.012000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_token",
            "label": "audio input token",
            "native_amount_usd_per_unit": "0.000012",
            "native_quantity": 1,
            "native_unit": "audio_input_token",
            "public_unit_label": "/ 1K audio tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_token"
          },
          {
            "amount": "0.02000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_output_token",
            "label": "audio output token",
            "native_amount_usd_per_unit": "0.00002",
            "native_quantity": 1,
            "native_unit": "audio_output_token",
            "public_unit_label": "/ 1K audio tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "audio_output_token"
          }
        ]
      }
    }
  ],
  "model_id": "openai/gpt-4o-transcribe-diarize",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "f54345904e167c5f11541cc30167e1e90d34f41ec5b18e4509c876dbb405fa00",
    "input_html_sha256": "eac5f34bc44c60f2bf5901459a01dc0a665c55423823cfcedfa42d62e7ee5b64",
    "private_audit_sha256": "204f0913c44467d76165ce3a75e2e898691cab5cd3ef4ccca641bb494b05ed98",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/openai-gpt-4o-transcribe-diarize/",
    "description": "Το GPT-4o Transcribe Diarize μετατρέπει ηχογραφημένη ομιλία σε κείμενο με τμήματα που φέρουν ετικέτες ομιλητών και χρονικές σημάνσεις. Ταιριάζει σε συναντήσεις, συνεντεύξεις και ηχογραφήσεις πολλών ατόμων όπου η απομαγνητοφώνηση πρέπει να δείχνει ποιος μίλησε πότε, με προαιρετικές σύντομες φωνητικές αναφορές για γνωστούς ομιλητές.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/openai-gpt-4o-transcribe-diarize/index.md",
    "title": "gpt-4o-transcribe-diarize — Ailoot",
    "url": "https://ailoot.ai/models/el/openai-gpt-4o-transcribe-diarize/"
  },
  "rawModel": {
    "about": "Το GPT-4o Transcribe Diarize είναι το μοντέλο αυτόματης αναγνώρισης ομιλίας της OpenAI με ενσωματωμένη διάκριση ομιλητών. Συσχετίζει απομαγνητοφωνημένα τμήματα ήχου με διαφορετικούς ομιλητές σε μια συνομιλία. Το χρήσιμο αποτέλεσμα είναι μια απομαγνητοφώνηση οργανωμένη ανά ομιλητή και χρόνο, αντί μόνο ενός συνεχούς συνόλου λέξεων. Προορίζεται για ηχογραφημένη ομιλία που χρειάζεται ετικέτες ομιλητών, όπως μια συνάντηση, συνέντευξη ή συζήτηση πολλών ατόμων.\n\n### Προετοιμάστε την ολοκληρωμένη ηχογράφηση\n\nΔώστε την ηχογράφηση που πρέπει να απομαγνητοφωνηθεί. Η τεκμηριωμένη ροή αρχείων δέχεται MP3, MP4, MPEG, MPGA, M4A, WAV και WebM, με όριο μεγέθους αρχείου 25 MB. Διατηρήστε διαθέσιμη την αρχική ηχογράφηση, ώστε μια εναλλαγή ομιλητή, ένα όνομα ή μια ασαφής φράση να μπορεί να ελεγχθεί έναντι του πραγματικού ήχου.\n\nΓια μια συνάντηση, διατηρήστε τη σειρά της συνομιλίας αντί να αφαιρείτε τις μικρές παύσεις που βοηθούν στη διάκριση των εναλλαγών. Για μια συνέντευξη, διατηρήστε την ερώτηση και την απάντηση μαζί όταν η εργασία χρειάζεται τη σχέση τους. Η προετοιμασία του ήχου πρέπει να κάνει την ομιλία ευδιάκριτη χωρίς να αφαιρεί πληροφορίες σημαντικές για το αποτέλεσμα με ετικέτες ομιλητών.\n\nΑυτή είναι ροή απομαγνητοφώνησης αρχείων. Η επεξεργασία μιας ολοκληρωμένης ηχογράφησης και η αναγνώριση μιας ροής ήχου που εξακολουθεί να φτάνει είναι διαφορετικές εργασίες· οι ετικέτες ομιλητών του μοντέλου δεν υποστηρίζονται σε συνεδρίες απομαγνητοφώνησης Realtime.\n\n### Ζητήστε απομαγνητοφώνηση με ετικέτες ομιλητών\n\nΗ μορφή αποτελέσματος `diarized_json` επιστρέφει τμήματα με ετικέτες ταυτότητας ομιλητή και χρονικές σημάνσεις έναρξης και λήξης. Κάθε τμήμα περιέχει επίσης το απομαγνητοφωνημένο κείμενό του. Διατηρήστε αυτά τα πεδία μαζί, ώστε οι λέξεις να μπορούν να συνδεθούν με το σχετικό μέρος της ηχογράφησης.\n\nΓια μια χρήσιμη απομαγνητοφώνηση συνάντησης, διατηρήστε τη σειρά των τμημάτων και εμφανίστε τα λόγια κάθε ομιλητή με τις χρονικές σημάνσεις τους. Μια μεταγενέστερη εργασία μπορεί να χρησιμοποιήσει αυτήν την απομαγνητοφώνηση για να προετοιμάσει πρακτικά ή ενέργειες προς εκτέλεση, αλλά η διάκριση ομιλητών από μόνη της δεν αποφασίζει τι συμφώνησε η συνάντηση ούτε παράγει επαληθευμένη σύνοψη.\n\nΟι ετικέτες ομιλητών περιγράφουν την ομαδοποίηση της ομιλίας από το μοντέλο. Εξετάστε τις μεταβάσεις όπου οι άνθρωποι διακόπτουν ο ένας τον άλλο, μιλούν σύντομα ή επικαλύπτονται. Ένα καλά δομημένο αποτέλεσμα βοηθά στην πλοήγηση και στον έλεγχο, ενώ μια συγκεκριμένη απόδοση λόγων σε ομιλητή μπορεί να εξακολουθεί να χρειάζεται ακρόαση του αρχικού ήχου.\n\n### Αναφορές γνωστών ομιλητών\n\nΗ τεκμηριωμένη ροή μπορεί να δεχτεί έως τέσσερις αναφορές ομιλητών με ονόματα. Κάθε αναφορά είναι ένα σύντομο απόσπασμα ήχου 2–10 δευτερολέπτων σε μορφή που υποστηρίζεται από την κύρια μεταφόρτωση. Τα ονόματα και οι αναφορές δίνονται μαζί, ώστε τα τμήματα να μπορούν να συσχετιστούν με γνωστούς ομιλητές.\n\nΠροετοιμάστε μια αναφορά που περιέχει καθαρά τον επιδιωκόμενο ομιλητή και διατηρήστε το όνομά της συνεπές με τις επιδιωκόμενες ετικέτες της απομαγνητοφώνησης. Για μια συνέντευξη, μια αναφορά του παρουσιαστή μπορεί να βοηθήσει στην οργάνωση του αποτελέσματος με ετικέτες ομιλητών χωρίς να μετατρέπει κάθε συμμετέχοντα σε ανώνυμη ετικέτα. Η αναφορά είναι είσοδος για την απόδοση των τμημάτων στους ομιλητές· δεν είναι γενική λειτουργία κλωνοποίησης φωνής ούτε απόδειξη της ταυτότητας ενός προσώπου.\n\nΜη συγχέετε την ονομασία ενός ομιλητή με την επεξεργασία των λέξεων που ειπώθηκαν. Η χρήσιμη έξοδος εξακολουθεί να χρειάζεται διατήρηση του περιεχομένου της ηχογράφησης και της πραγματικής σειράς των εναλλαγών.\n\n### Τμηματοποίηση και όρια μοντέλου\n\nΓια ήχο μεγαλύτερο από 30 δευτερόλεπτα, ο πάροχος απαιτεί στρατηγική τμηματοποίησης, είτε αυτόματη τμηματοποίηση είτε διαμόρφωση ανίχνευσης δραστηριότητας φωνής. Αυτή η απαίτηση δεν είναι μέγιστη διάρκεια ηχογράφησης. Περιγράφει πώς διαιρείται η μεγαλύτερη είσοδος για επεξεργασία.\n\nΗ κάρτα του μοντέλου αναφέρει παράθυρο συμφραζομένων 16.000 tokens και μέγιστη έξοδο 2.000 tokens. Αυτά είναι όρια tokens του μοντέλου, χωριστά από το όριο μεταφόρτωσης 25 MB της ροής αρχείων και το κατώφλι τμηματοποίησης. Δεν πρέπει να μετατραπούν σε επινοημένο αριθμό λεπτών που εφαρμόζεται σε κάθε ηχογράφηση.\n\nΔιατηρήστε τις χρονικές σημάνσεις και την ταυτότητα των τμημάτων όταν συνθέτετε ή εξετάζετε μια μεγαλύτερη απομαγνητοφώνηση. Αν μια ηχογράφηση έχει χωριστεί πριν από την υποβολή, διατηρήστε τη σχέση κάθε μέρους με τον αρχικό ήχο, ώστε μια τοπική χρονική σήμανση να μη συγχέεται με τη θέση της στην πλήρη συνομιλία.\n\n### Συνεχής ροή οριστικοποιημένων τμημάτων\n\nΗ ροή απομαγνητοφώνησης αρχείων μπορεί να μεταδίδει κείμενο σταδιακά ενώ γίνεται η επεξεργασία της ηχογράφησης. Στη συνεχή ροή με ετικέτες ομιλητών, τα ολοκληρωμένα τμήματα παράγουν συμβάντα τμημάτων. Οι σταδιακές προσθήκες κειμένου περιλαμβάνουν αναγνωριστικό τμήματος, αλλά δεν περιέχουν ενδιάμεσες αναθέσεις σε ομιλητές· ο ομιλητής ανατίθεται όταν οριστικοποιείται το τμήμα.\n\nΑυτή η διάκριση έχει σημασία για την παρουσίαση. Εμφανίστε το προσωρινό κείμενο και την οριστικοποιημένη εναλλαγή ομιλητή ως διαφορετικές καταστάσεις, αντί να προσθέτετε αβέβαιη ετικέτα ομιλητή πριν το μοντέλο ολοκληρώσει το τμήμα. Διατηρήστε το ολοκληρωμένο αποτέλεσμα όταν η απομαγνητοφώνηση χρειάζεται για μεταγενέστερη επεξεργασία ή ανάλυση.\n\n### Όρια μοντέλου και εξόδου\n\nΑυτό το προφίλ είναι το μοντέλο διάκρισης ομιλητών, χωριστά από τη συνηθισμένη απομαγνητοφώνηση GPT-4o, την απομαγνητοφώνηση Mini, τη σύνθεση ομιλίας και τα μοντέλα ζωντανής συνομιλίας. Δεν υποστηρίζει οδηγίες απομαγνητοφώνησης· διατηρήστε κάθε έλεγχο ή διόρθωση ορολογίας ως ξεχωριστό βήμα που ελέγχεται έναντι του αρχικού ήχου. Η διεπαφή του παρόχου του αφορά την απομαγνητοφώνηση ηχογραφημένου ήχου σε κείμενο. Δεν παράγει ηχητική απάντηση ούτε μεταφράζει μια ηχογράφηση μέσω της ξεχωριστής ροής μετάφρασης ήχου.\n\nΧρησιμοποιήστε το για απομαγνητοφωνήσεις που χρειάζονται τόσο περιεχόμενο όσο και δομή ομιλητών. Ελέγξτε ονόματα, τεχνικούς όρους, αριθμούς, όρια εναλλαγών και αποδόσεις λόγων σε ομιλητές έναντι της ηχογράφησης. Διατηρήστε τον ήχο, την επιλεγμένη μορφή αποτελέσματος, τις αναφορές και την ολοκληρωμένη απομαγνητοφώνηση, ώστε μια διόρθωση να μπορεί να αφορά μια συγκεκριμένη φράση ή ανάθεση ομιλητή.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "available": null,
    "canonical_model": "openai/gpt-4o-transcribe-diarize",
    "capabilities": {
      "context_length": 16000,
      "manufacturer_input": [],
      "manufacturer_output": []
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.012000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_token",
            "label": "audio input token",
            "native_amount_usd_per_unit": "0.000012",
            "native_quantity": 1,
            "native_unit": "audio_input_token",
            "public_unit_label": "/ 1K audio tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_token"
          },
          {
            "amount": "0.02000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_output_token",
            "label": "audio output token",
            "native_amount_usd_per_unit": "0.00002",
            "native_quantity": 1,
            "native_unit": "audio_output_token",
            "public_unit_label": "/ 1K audio tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "audio_output_token"
          }
        ],
        "summary": "Πλήρης τιμολόγηση της διαμόρφωσης στις λεπτομέρειες."
      }
    ],
    "ctx": null,
    "entity_type": "model",
    "formats": [
      "transcriptions"
    ],
    "id": "openai/gpt-4o-transcribe-diarize",
    "input": [
      "audio"
    ],
    "kind": "unresolved_method_or_category",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain complete JSON, not only text; preserve every available segment/speaker/timestamp and actual task/asset identity.",
            "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": "multipart/form-data",
                "file_formats": [
                  "mp3"
                ],
                "maximum_seconds": 30,
                "mode": "diarized_transcription"
              }
            ],
            "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": [
              "diarized_transcription"
            ],
            "outputs": {
              "all_results": "Διατηρήστε ολόκληρο το JSON, όχι μόνο το κείμενο· διατηρήστε κάθε διαθέσιμο τμήμα, ομιλητή, χρονική σήμανση και πραγματική ταυτότητα εργασίας ή αρχείου πολυμέσων.",
              "family": "transcription",
              "fields": [
                {
                  "description": null,
                  "name": "text",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "segments[]",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "task_id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "asset_url",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "segments[].speaker",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "segments[].start",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "segments[].end",
                  "type": "number"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "openai/gpt-4o-transcribe-diarize"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "file_extension": ".mp3",
                "maximum_bytes": 26214400,
                "maximum_seconds": 30,
                "mime_types": [
                  "audio/mpeg"
                ],
                "name": "file",
                "required": true,
                "type": "file"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "diarized_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "JSONinput_audio",
              "nonMP3",
              "audioover30seconds",
              "otheroptions"
            ]
          },
          "hints": [
            "Χρησιμοποιήστε πραγματική ηχογράφηση και αντίστοιχη μορφή.",
            "Διατηρήστε ολόκληρη την απομαγνητοφώνηση, τα τμήματα, τα ID ομιλητών και τους χρόνους."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "multipart/form-data",
            "file_formats": [
              "mp3"
            ],
            "form_string_maximum_bytes": 256,
            "material_types": [
              "audio"
            ],
            "max_audio_seconds": 30,
            "max_bytes": 26214400,
            "other_options": false,
            "required": [
              "model",
              "file",
              "response_format"
            ],
            "response_format": [
              "diarized_json"
            ]
          },
          "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": [
            "/audio/transcriptions"
          ],
          "operation_modes": [
            "diarized_transcription"
          ],
          "output": {
            "all_results": "Retain complete JSON, not only text; preserve every available segment/speaker/timestamp and actual task/asset identity.",
            "family": "transcription",
            "fields": [
              {
                "description": null,
                "name": "text",
                "type": "string"
              },
              {
                "description": null,
                "name": "segments[]",
                "type": "object"
              },
              {
                "description": null,
                "name": "task_id",
                "type": "string"
              },
              {
                "description": null,
                "name": "asset_url",
                "type": "string"
              },
              {
                "description": null,
                "name": "usage",
                "type": "object"
              },
              {
                "description": null,
                "name": "segments[].speaker",
                "type": "string"
              },
              {
                "description": null,
                "name": "segments[].start",
                "type": "number"
              },
              {
                "description": null,
                "name": "segments[].end",
                "type": "number"
              }
            ],
            "format": "json",
            "owned_result_extra_fields": [
              "task_id",
              "asset_url"
            ],
            "preserve_original_json_fields": [
              "text",
              "task",
              "duration",
              "segments",
              "usage"
            ],
            "segment_fields": [
              "type",
              "text",
              "speaker",
              "start",
              "end",
              "id"
            ]
          }
        },
        "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": "/ 1K audio tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_token",
                "label": "audio input token",
                "native_amount_usd_per_unit": "0.000012",
                "native_quantity": 1,
                "native_unit": "audio_input_token",
                "public_unit_label": "/ 1K audio tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K audio tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.02000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_token",
                "label": "audio output token",
                "native_amount_usd_per_unit": "0.00002",
                "native_quantity": 1,
                "native_unit": "audio_output_token",
                "public_unit_label": "/ 1K audio tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual MP3 recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport os\nfrom pathlib import Path\np=Path(os.environ[\"AILOOT_AUDIO_FILE\"])\nif not p.is_file() or p.suffix.lower()!=\".mp3\":raise SystemExit(\"Choose an existing MP3 recording\")\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  --form-string model=openai/gpt-4o-transcribe-diarize -F \"file=@$AILOOT_AUDIO_FILE\" --form-string response_format=diarized_json \\\n  -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"result.json\").read_text())))\nPY_RESULT\n",
            "label": "curl · exact retained creation",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('result.json').read_text())\nurls=[]\nif isinstance(r.get('asset_url'),str) and r['asset_url']:urls.append(('transcript',r['asset_url']))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every returned owned transcript",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-assets.json\n",
            "label": "List actual media assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_MEDIA_TASK_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/tasks/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-task.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-task.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual media task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_ASSET_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/assets/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-asset.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-asset.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual asset metadata",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use actual recording and matching format.",
          "Preserve full transcript, segments, speaker IDs and timing."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/audio/transcriptions"
        ],
        "out": null,
        "output": [
          "transcription"
        ],
        "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_token": 1.2e-05,
            "audio_output_token": 2e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K audio tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_token",
                "label": "audio input token",
                "native_amount_usd_per_unit": "0.000012",
                "native_quantity": 1,
                "native_unit": "audio_input_token",
                "public_unit_label": "/ 1K audio tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K audio tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.02000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_token",
                "label": "audio output token",
                "native_amount_usd_per_unit": "0.00002",
                "native_quantity": 1,
                "native_unit": "audio_output_token",
                "public_unit_label": "/ 1K audio tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_token"
              }
            ]
          }
        ],
        "request_model_id": "openai/gpt-4o-transcribe-diarize",
        "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.012000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_token",
            "label": "audio input token",
            "native_amount_usd_per_unit": "0.000012",
            "native_quantity": 1,
            "native_unit": "audio_input_token",
            "public_unit_label": "/ 1K audio tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_token"
          },
          {
            "amount": "0.02000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_output_token",
            "label": "audio output token",
            "native_amount_usd_per_unit": "0.00002",
            "native_quantity": 1,
            "native_unit": "audio_output_token",
            "public_unit_label": "/ 1K audio tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "audio_output_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "openai/gpt-4o-transcribe-diarize",
        "request_model_id": "openai/gpt-4o-transcribe-diarize",
        "route_label": "Ultra"
      }
    ],
    "name": "gpt-4o-transcribe-diarize",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.02,
      "out_label": "/ 1K audio tokens",
      "sort_in": null,
      "sort_out": 0.02,
      "varies": true
    },
    "pricing_profiles": [],
    "public_id": "openai/gpt-4o-transcribe-diarize",
    "short": "Το GPT-4o Transcribe Diarize μετατρέπει ηχογραφημένη ομιλία σε κείμενο με τμήματα που φέρουν ετικέτες ομιλητών και χρονικές σημάνσεις. Ταιριάζει σε συναντήσεις, συνεντεύξεις και ηχογραφήσεις πολλών ατόμων όπου η απομαγνητοφώνηση πρέπει να δείχνει ποιος μίλησε πότε, με προαιρετικές σύντομες φωνητικές αναφορές για γνωστούς ομιλητές."
  },
  "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": "Το GPT-4o Transcribe Diarize μετατρέπει ηχογραφημένη ομιλία σε κείμενο με τμήματα που φέρουν ετικέτες ομιλητών και χρονικές σημάνσεις. Ταιριάζει σε συναντήσεις, συνεντεύξεις και ηχογραφήσεις πολλών ατόμων όπου η απομαγνητοφώνηση πρέπει να δείχνει ποιος μίλησε πότε, με προαιρετικές σύντομες φωνητικές αναφορές για γνωστούς ομιλητές.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "bc2c2884e40631b736ab8bb7efa1830b7fe3a6e09cc17b6c26115302e5073481",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "b00f8db5cb0ab10069f45768360067403173b5c5c4fe88c17c3d36b8c86d4475"
}
