{
  "aboutHtml": "<h4>Ηχογράφηση συνομιλίας σε κείμενο</h4><p>Το MiniMax ASR 1.0 αναγνωρίζει ομιλία σε αρχείο ήχου. Ο κατασκευαστής περιγράφει χρήσεις για συναντήσεις, συνεντεύξεις, podcast, ηχητικό μέρος βίντεο, έλεγχο περιεχομένου και ανάλυση συνομιλιών. Το μοντέλο έχει προσαρμοστεί για προφορικό λόγο, θόρυβο και επαγγελματική ορολογία, με έμφαση στη μείωση επινοημένων αποσπασμάτων. Σε αυτή την κάρτα του Ailoot, η είσοδος είναι ήχος και το αποτέλεσμα κείμενο.</p><h4>Γλώσσα και πολλοί συμμετέχοντες</h4><p>Υποστηρίζονται ρωσικά και ουκρανικά, αγγλικά, γαλλικά, γερμανικά, ισπανικά, ιταλικά, πορτογαλικά και πολωνικά· επίσης κινεζικά, καντονέζικα, ιαπωνικά, κορεατικά, ταϊλανδικά, βιετναμικά, ινδονησιακά, μαλαϊκά, φιλιππινέζικα, αραβικά και τουρκικά. Αν δεν οριστεί γλώσσα, το μοντέλο ανιχνεύει αυτόματα την κύρια γλώσσα· ο κατασκευαστής περιγράφει χωριστά τον συνδυασμό κινεζικής και αγγλικής ομιλίας.</p><p>Στην εκτεταμένη παρουσίαση αποτελέσματος, το μοντέλο μπορεί να διακρίνει ομιλητές και να συνδέει τις ατάκες με τον χρόνο. Επιστρέφονται ο συνολικός αριθμός συμμετεχόντων και τμήματα με ετικέτα ομιλητή, αρχή, τέλος και κείμενο. Αυτό βοηθά να διαπιστωθεί ποιος και πότε είπε μια συγκεκριμένη τοποθέτηση, χωρίς ανάμειξη τοποθετήσεων διαφορετικών συμμετεχόντων.</p><h4>Παρουσίαση αποτελέσματος</h4><p>Ο κατασκευαστής προβλέπει κανονικό JSON με κείμενο και διάρκεια, εκτεταμένο <code>verbose_json</code>, καθώς και υπότιτλους SRT και WebVTT. Για χρονικές σημάνσεις χρησιμοποιείται από προεπιλογή επίπεδο πρότασης ή τμήματος. Σημάνσεις μεμονωμένων λέξεων περιγράφονται για τα αγγλικά και μεμονωμένων χαρακτήρων για τα κινεζικά· αυτές οι σημάνσεις αφορούν μορφές με χρονική ευθυγράμμιση.</p><p>Είναι δυνατή η σταδιακή έξοδος κειμένου, αλλά δεν μπορεί να συνδυαστεί με διαχωρισμό ομιλητών και μορφές υποτίτλων. Αυτή η λειτουργία επιστρέφει νέα αποσπάσματα αναγνωρισμένου κειμένου καθώς επεξεργάζεται το ήδη παρεχόμενο αρχείο. Πρόκειται για ροή αποτελέσματος και όχι συνεχή αποστολή ήχου από μικρόφωνο.</p><h4>Απαιτήσεις ηχογράφησης</h4><p>Οι δηλωμένες μορφές εισόδου είναι WAV, AIFF, FLAC, ALAC σε περιέκτη M4A, MP3, AAC, Opus και Ogg. Το αρχείο πρέπει να περιέχει το πολύ <strong>500 δευτερόλεπτα</strong> ήχου και να έχει μέγεθος το πολύ <strong>50 MB</strong>. Η υπέρβαση διάρκειας απορρίπτεται και δεν περικόπτεται απαρατήρητα. Το ακατέργαστο PCM χωρίς περιέκτη δεν υποστηρίζεται.</p><p>Για προετοιμασία της ηχογράφησης, ο κατασκευαστής συνιστά μονοφωνικό ήχο 16 kHz ή συμπιεσμένη μορφή ήχου: η υψηλή συχνότητα και ο στερεοφωνικός ήχος δεν χρειάζονται για αναγνώριση και αυξάνουν το μέγεθος αρχείου. Οι δυνατότητες εκτεταμένης εξόδου και επεξεργασίας σε ροή αφορούν το ASR 1.0· η διαθέσιμη μορφή απάντησης του συγκεκριμένου αιτήματος καθορίζεται από τα μέσα του Ailoot.</p>",
  "aboutText": "### Ηχογράφηση συνομιλίας σε κείμενο\n\nΤο MiniMax ASR 1.0 αναγνωρίζει ομιλία σε αρχείο ήχου. Ο κατασκευαστής περιγράφει χρήσεις για συναντήσεις, συνεντεύξεις, podcast, ηχητικό μέρος βίντεο, έλεγχο περιεχομένου και ανάλυση συνομιλιών. Το μοντέλο έχει προσαρμοστεί για προφορικό λόγο, θόρυβο και επαγγελματική ορολογία, με έμφαση στη μείωση επινοημένων αποσπασμάτων. Σε αυτή την κάρτα του Ailoot, η είσοδος είναι ήχος και το αποτέλεσμα κείμενο.\n\n### Γλώσσα και πολλοί συμμετέχοντες\n\nΥποστηρίζονται ρωσικά και ουκρανικά, αγγλικά, γαλλικά, γερμανικά, ισπανικά, ιταλικά, πορτογαλικά και πολωνικά· επίσης κινεζικά, καντονέζικα, ιαπωνικά, κορεατικά, ταϊλανδικά, βιετναμικά, ινδονησιακά, μαλαϊκά, φιλιππινέζικα, αραβικά και τουρκικά. Αν δεν οριστεί γλώσσα, το μοντέλο ανιχνεύει αυτόματα την κύρια γλώσσα· ο κατασκευαστής περιγράφει χωριστά τον συνδυασμό κινεζικής και αγγλικής ομιλίας.\n\nΣτην εκτεταμένη παρουσίαση αποτελέσματος, το μοντέλο μπορεί να διακρίνει ομιλητές και να συνδέει τις ατάκες με τον χρόνο. Επιστρέφονται ο συνολικός αριθμός συμμετεχόντων και τμήματα με ετικέτα ομιλητή, αρχή, τέλος και κείμενο. Αυτό βοηθά να διαπιστωθεί ποιος και πότε είπε μια συγκεκριμένη τοποθέτηση, χωρίς ανάμειξη τοποθετήσεων διαφορετικών συμμετεχόντων.\n\n### Παρουσίαση αποτελέσματος\n\nΟ κατασκευαστής προβλέπει κανονικό JSON με κείμενο και διάρκεια, εκτεταμένο `verbose_json`, καθώς και υπότιτλους SRT και WebVTT. Για χρονικές σημάνσεις χρησιμοποιείται από προεπιλογή επίπεδο πρότασης ή τμήματος. Σημάνσεις μεμονωμένων λέξεων περιγράφονται για τα αγγλικά και μεμονωμένων χαρακτήρων για τα κινεζικά· αυτές οι σημάνσεις αφορούν μορφές με χρονική ευθυγράμμιση.\n\nΕίναι δυνατή η σταδιακή έξοδος κειμένου, αλλά δεν μπορεί να συνδυαστεί με διαχωρισμό ομιλητών και μορφές υποτίτλων. Αυτή η λειτουργία επιστρέφει νέα αποσπάσματα αναγνωρισμένου κειμένου καθώς επεξεργάζεται το ήδη παρεχόμενο αρχείο. Πρόκειται για ροή αποτελέσματος και όχι συνεχή αποστολή ήχου από μικρόφωνο.\n\n### Απαιτήσεις ηχογράφησης\n\nΟι δηλωμένες μορφές εισόδου είναι WAV, AIFF, FLAC, ALAC σε περιέκτη M4A, MP3, AAC, Opus και Ogg. Το αρχείο πρέπει να περιέχει το πολύ **500 δευτερόλεπτα** ήχου και να έχει μέγεθος το πολύ **50 MB**. Η υπέρβαση διάρκειας απορρίπτεται και δεν περικόπτεται απαρατήρητα. Το ακατέργαστο PCM χωρίς περιέκτη δεν υποστηρίζεται.\n\nΓια προετοιμασία της ηχογράφησης, ο κατασκευαστής συνιστά μονοφωνικό ήχο 16 kHz ή συμπιεσμένη μορφή ήχου: η υψηλή συχνότητα και ο στερεοφωνικός ήχος δεν χρειάζονται για αναγνώριση και αυξάνουν το μέγεθος αρχείου. Οι δυνατότητες εκτεταμένης εξόδου και επεξεργασίας σε ροή αφορούν το ASR 1.0· η διαθέσιμη μορφή απάντησης του συγκεκριμένου αιτήματος καθορίζεται από τα μέσα του Ailoot.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "4e8989380453d580061d183d2f9d9ee17251923c59091f4f0aeb476d576bbfd1",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "el",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">MM</span><h2 id=\"sheet-title\">asr-1.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>asr-1.0</code><button type=\"button\" id=\"copy-id\">Αντιγραφή ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Ενότητες κάρτας μοντέλου\"><button type=\"button\" data-card-jump=\"overview\">Εισαγωγή</button><button type=\"button\" data-card-jump=\"methods\">Είσοδοι και μέθοδοι</button><button type=\"button\" data-card-jump=\"pricing\">Τιμολόγηση</button><button type=\"button\" data-card-jump=\"examples\">Παραδείγματα</button><button type=\"button\" data-card-jump=\"results\">Αποτελέσματα</button><button type=\"button\" data-card-jump=\"aliases\">Εναλλακτικά ονόματα</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Μέθοδοι API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Core|transcriptions|/v1/audio/transcriptions|asr-1.0\">Αναγνώριση</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\">Το MiniMax ASR 1.0 μετατρέπει ήχο σε κείμενο, υποστηρίζει ρωσικά, διαχωρισμό ατάκων ανά ομιλητή και χρονικές σημάνσεις.</p><dl class=\"card-io\" data-card-io><div><dt>Αποδεκτές είσοδοι</dt><dd>Ήχος</dd></div><div><dt>Αποτελέσματα</dt><dd>Κείμενο</dd></div></dl><details class=\"card-about\"><summary>Σχετικά με το μοντέλο</summary><p class=\"note-s\" data-model-method-boundary>Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.</p><div class=\"mabout\" id=\"m-about\"><h4>Ηχογράφηση συνομιλίας σε κείμενο</h4><p>Το MiniMax ASR 1.0 αναγνωρίζει ομιλία σε αρχείο ήχου. Ο κατασκευαστής περιγράφει χρήσεις για συναντήσεις, συνεντεύξεις, podcast, ηχητικό μέρος βίντεο, έλεγχο περιεχομένου και ανάλυση συνομιλιών. Το μοντέλο έχει προσαρμοστεί για προφορικό λόγο, θόρυβο και επαγγελματική ορολογία, με έμφαση στη μείωση επινοημένων αποσπασμάτων. Σε αυτή την κάρτα του Ailoot, η είσοδος είναι ήχος και το αποτέλεσμα κείμενο.</p><h4>Γλώσσα και πολλοί συμμετέχοντες</h4><p>Υποστηρίζονται ρωσικά και ουκρανικά, αγγλικά, γαλλικά, γερμανικά, ισπανικά, ιταλικά, πορτογαλικά και πολωνικά· επίσης κινεζικά, καντονέζικα, ιαπωνικά, κορεατικά, ταϊλανδικά, βιετναμικά, ινδονησιακά, μαλαϊκά, φιλιππινέζικα, αραβικά και τουρκικά. Αν δεν οριστεί γλώσσα, το μοντέλο ανιχνεύει αυτόματα την κύρια γλώσσα· ο κατασκευαστής περιγράφει χωριστά τον συνδυασμό κινεζικής και αγγλικής ομιλίας.</p><p>Στην εκτεταμένη παρουσίαση αποτελέσματος, το μοντέλο μπορεί να διακρίνει ομιλητές και να συνδέει τις ατάκες με τον χρόνο. Επιστρέφονται ο συνολικός αριθμός συμμετεχόντων και τμήματα με ετικέτα ομιλητή, αρχή, τέλος και κείμενο. Αυτό βοηθά να διαπιστωθεί ποιος και πότε είπε μια συγκεκριμένη τοποθέτηση, χωρίς ανάμειξη τοποθετήσεων διαφορετικών συμμετεχόντων.</p><h4>Παρουσίαση αποτελέσματος</h4><p>Ο κατασκευαστής προβλέπει κανονικό JSON με κείμενο και διάρκεια, εκτεταμένο <code>verbose_json</code>, καθώς και υπότιτλους SRT και WebVTT. Για χρονικές σημάνσεις χρησιμοποιείται από προεπιλογή επίπεδο πρότασης ή τμήματος. Σημάνσεις μεμονωμένων λέξεων περιγράφονται για τα αγγλικά και μεμονωμένων χαρακτήρων για τα κινεζικά· αυτές οι σημάνσεις αφορούν μορφές με χρονική ευθυγράμμιση.</p><p>Είναι δυνατή η σταδιακή έξοδος κειμένου, αλλά δεν μπορεί να συνδυαστεί με διαχωρισμό ομιλητών και μορφές υποτίτλων. Αυτή η λειτουργία επιστρέφει νέα αποσπάσματα αναγνωρισμένου κειμένου καθώς επεξεργάζεται το ήδη παρεχόμενο αρχείο. Πρόκειται για ροή αποτελέσματος και όχι συνεχή αποστολή ήχου από μικρόφωνο.</p><h4>Απαιτήσεις ηχογράφησης</h4><p>Οι δηλωμένες μορφές εισόδου είναι WAV, AIFF, FLAC, ALAC σε περιέκτη M4A, MP3, AAC, Opus και Ogg. Το αρχείο πρέπει να περιέχει το πολύ <strong>500 δευτερόλεπτα</strong> ήχου και να έχει μέγεθος το πολύ <strong>50 MB</strong>. Η υπέρβαση διάρκειας απορρίπτεται και δεν περικόπτεται απαρατήρητα. Το ακατέργαστο PCM χωρίς περιέκτη δεν υποστηρίζεται.</p><p>Για προετοιμασία της ηχογράφησης, ο κατασκευαστής συνιστά μονοφωνικό ήχο 16 kHz ή συμπιεσμένη μορφή ήχου: η υψηλή συχνότητα και ο στερεοφωνικός ήχος δεν χρειάζονται για αναγνώριση και αυξάνουν το μέγεθος αρχείου. Οι δυνατότητες εκτεταμένης εξόδου και επεξεργασίας σε ροή αφορούν το ASR 1.0· η διαθέσιμη μορφή απάντησης του συγκεκριμένου αιτήματος καθορίζεται από τα μέσα του Ailoot.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι</h3><details class=\"card-method\" open><summary><b>Ailoot · Ομιλία σε κείμενο</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Είσοδος</dt><dd><code>audio</code></dd></div><div><dt>Έξοδος</dt><dd><code>text</code></dd></div><div><dt>Μορφή εξόδου</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Πεδίο</th><th>Τύπος</th><th>Απαίτηση</th><th>Τιμές και όρια</th><th>Προεπιλογή</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>asr-1.0</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: 52.428.800</div><div>Μορφές αρχείων: wav, mp3, m4a, ogg, webm, flac</div><div>Τύπος περιεχομένου: multipart/form-data</div><div>Μέγιστη διάρκεια (αποκλειστική), δευτερόλεπτα: 500</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Προαιρετικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>json</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Συνδυασμοί υλικών εισόδου</summary><p class=\"note-s\"><b>speech_to_text</b> · Υποχρεωτικό: actual audio file</p></details><details class=\"note-s\" data-method-contract><summary>Παράμετροι και κύκλος ζωής μεθόδου</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Παράμετρος</th><th>Σύμβαση</th></tr></thead><tbody><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>material_types</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>audio</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>required</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>null</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>optional_controls</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>null</td></tr></tbody></table></div><p>Κύκλος ζωής: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p><p class=\"note-s\">Οι δομές και τα ID των μεθόδων είναι ακριβή· η δυνατότητα του προμηθευτή είναι ξεχωριστή από την αποδοχή αιτημάτων.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Τιμολόγηση</h3><h4>Χρεώσεις μεθόδων Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Ομιλία σε κείμενο</b><code>POST /v1/audio/transcriptions</code></header><dl><div><dt>Είσοδος</dt><dd>0,38 $ <em>ανά ώρα ήχου</em></dd></div></dl></section><p class=\"note-s\">Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. <a href=\"/docs/el/billing/reserve/\">Πώς λειτουργούν η δέσμευση και η εκκαθάριση →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Παραδείγματα αιτημάτων</h3><h4>Ailoot · Ομιλία σε κείμενο</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-369-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-369-panel-0\" aria-selected=\"true\" tabindex=\"0\">Παράδειγμα απομαγνητοφώνησης</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-369-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-369-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set your actual MP3 recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport os\nfrom pathlib import Path\nf=Path(os.environ[&quot;AILOOT_AUDIO_FILE&quot;])\nif not f.is_file() or f.suffix.lower()!=&quot;.mp3&quot;:raise SystemExit(&quot;Choose your actual 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=asr-1.0 -F &quot;file=@$AILOOT_AUDIO_FILE&quot; \\\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()),ensure_ascii=False,indent=2))\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Λήψη και αποθήκευση αποτελεσμάτων</h3><h4>Ailoot · Ομιλία σε κείμενο</h4><p class=\"note-s\">json</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα</h5><p class=\"note-s\">Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.</p><p class=\"note-s\">Διατηρήστε ολόκληρο το JSON, όχι μόνο το κείμενο· διατηρήστε κάθε διαθέσιμο τμήμα, ομιλητή, χρονική σήμανση και πραγματική ταυτότητα εργασίας ή αρχείου πολυμέσων.</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></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Σφάλματα και επόμενα βήματα</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Απάντηση</th><th>Συνθήκη</th><th>Επόμενο βήμα</th></tr></thead><tbody><tr><th data-cell-label=\"Απάντηση\" scope=\"row\"><span class=\"card-cell-label\">Απάντηση</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Συνθήκη\"><span class=\"card-cell-label\">Συνθήκη</span>Μη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου</td><td data-cell-label=\"Επόμενο βήμα\"><span class=\"card-cell-label\">Επόμενο βήμα</span>Διορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.</td></tr><tr><th data-cell-label=\"Απάντηση\" scope=\"row\"><span class=\"card-cell-label\">Απάντηση</span><code>server_error</code></th><td data-cell-label=\"Συνθήκη\"><span class=\"card-cell-label\">Συνθήκη</span>Η απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο</td><td data-cell-label=\"Επόμενο βήμα\"><span class=\"card-cell-label\">Επόμενο βήμα</span>Διατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Εναλλακτικά ονόματα</h3><h4>Εναλλακτικά ονόματα μοντέλου</h4><p class=\"note-s\"><span data-model-alias-route=\"Core\"><b>Ailoot</b> <a href=\"#m=asr-1.0&amp;route=Core&amp;caller=asr-1.0&amp;fmt=transcriptions\"><code>asr-1.0</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\">Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.</p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=asr-1.0&amp;route=Core&amp;caller=asr-1.0&amp;fmt=transcriptions\"><code>asr-1.0</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "asr-1.0",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "asr-1.0",
        "route_label": "Core"
      },
      "method_key": "Core|transcriptions|/v1/audio/transcriptions|asr-1.0",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": 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": [
              "The adapter uses its own JSON/word-timestamp/non-stream wire settings; no additional caller parameter is introduced."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Διατηρήστε το αρχικό operation_id/X-Client-Request-ID για τη συμφωνία των εγγραφών χωρίς νέα υποβολή· δεν υπάρχει ειδική διαδρομή περιοδικού ελέγχου για τον ήχο."
            },
            "material_combinations": [
              {
                "content_type": "multipart/form-data",
                "mode": "speech_to_text",
                "required": [
                  "actual audio file"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "speech_to_text"
            ],
            "outputs": {
              "all_results": "Διατηρήστε ολόκληρο το JSON, όχι μόνο το κείμενο· διατηρήστε κάθε διαθέσιμο τμήμα, ομιλητή, χρονική σήμανση και πραγματική ταυτότητα εργασίας ή αρχείου πολυμέσων.",
              "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"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "asr-1.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "content_type": "multipart/form-data",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "file_formats": [
                  "wav",
                  "mp3",
                  "m4a",
                  "ogg",
                  "webm",
                  "flac"
                ],
                "maximum_bytes": 52428800,
                "maximum_seconds_exclusive": 500,
                "name": "file",
                "required": true,
                "type": "file"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Οι δομές και τα ID των μεθόδων είναι ακριβή· η δυνατότητα του προμηθευτή είναι ξεχωριστή από την αποδοχή αιτημάτων."
          ],
          "input": {
            "material_types": [
              "audio"
            ],
            "optional_controls": null,
            "required": null
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "operation_modes": [
            "audio_transcriptions"
          ],
          "output": {
            "family": [
              "text"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set your actual MP3 recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport os\nfrom pathlib import Path\nf=Path(os.environ[\"AILOOT_AUDIO_FILE\"])\nif not f.is_file() or f.suffix.lower()!=\".mp3\":raise SystemExit(\"Choose your actual 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=asr-1.0 -F \"file=@$AILOOT_AUDIO_FILE\" \\\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()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Transcribe your actual recording",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Ομιλία σε κείμενο",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.38,
                "amount_unit": "usd_per_display_unit",
                "key": "stt_hour",
                "label": "per hour of audio",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "asr-1.0",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "stt_hour",
        "units": [
          {
            "key": "stt_hour",
            "label": "per hour of audio",
            "side": "in",
            "usd": 0.38
          }
        ]
      }
    }
  ],
  "model_id": "asr-1.0",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "0220e165ea00637bba61db4d337ac51bbfc6a94fec408097f2392218094f76e5",
    "input_html_sha256": "8e16bec65a3134631d32a86ec38e9cfdff9c6409916e55cee1d063389d18ffd6",
    "private_audit_sha256": "23118eae56a4d0e10da81cafde8b6ee5a56552962792a3d4c75327d35629cf14",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/asr-1-0/",
    "description": "Το MiniMax ASR 1.0 μετατρέπει ήχο σε κείμενο, υποστηρίζει ρωσικά, διαχωρισμό ατάκων ανά ομιλητή και χρονικές σημάνσεις.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/asr-1-0/index.md",
    "title": "asr-1.0 — Ailoot",
    "url": "https://ailoot.ai/models/el/asr-1-0/"
  },
  "rawModel": {
    "about": "### Ηχογράφηση συνομιλίας σε κείμενο\n\nΤο MiniMax ASR 1.0 αναγνωρίζει ομιλία σε αρχείο ήχου. Ο κατασκευαστής περιγράφει χρήσεις για συναντήσεις, συνεντεύξεις, podcast, ηχητικό μέρος βίντεο, έλεγχο περιεχομένου και ανάλυση συνομιλιών. Το μοντέλο έχει προσαρμοστεί για προφορικό λόγο, θόρυβο και επαγγελματική ορολογία, με έμφαση στη μείωση επινοημένων αποσπασμάτων. Σε αυτή την κάρτα του Ailoot, η είσοδος είναι ήχος και το αποτέλεσμα κείμενο.\n\n### Γλώσσα και πολλοί συμμετέχοντες\n\nΥποστηρίζονται ρωσικά και ουκρανικά, αγγλικά, γαλλικά, γερμανικά, ισπανικά, ιταλικά, πορτογαλικά και πολωνικά· επίσης κινεζικά, καντονέζικα, ιαπωνικά, κορεατικά, ταϊλανδικά, βιετναμικά, ινδονησιακά, μαλαϊκά, φιλιππινέζικα, αραβικά και τουρκικά. Αν δεν οριστεί γλώσσα, το μοντέλο ανιχνεύει αυτόματα την κύρια γλώσσα· ο κατασκευαστής περιγράφει χωριστά τον συνδυασμό κινεζικής και αγγλικής ομιλίας.\n\nΣτην εκτεταμένη παρουσίαση αποτελέσματος, το μοντέλο μπορεί να διακρίνει ομιλητές και να συνδέει τις ατάκες με τον χρόνο. Επιστρέφονται ο συνολικός αριθμός συμμετεχόντων και τμήματα με ετικέτα ομιλητή, αρχή, τέλος και κείμενο. Αυτό βοηθά να διαπιστωθεί ποιος και πότε είπε μια συγκεκριμένη τοποθέτηση, χωρίς ανάμειξη τοποθετήσεων διαφορετικών συμμετεχόντων.\n\n### Παρουσίαση αποτελέσματος\n\nΟ κατασκευαστής προβλέπει κανονικό JSON με κείμενο και διάρκεια, εκτεταμένο `verbose_json`, καθώς και υπότιτλους SRT και WebVTT. Για χρονικές σημάνσεις χρησιμοποιείται από προεπιλογή επίπεδο πρότασης ή τμήματος. Σημάνσεις μεμονωμένων λέξεων περιγράφονται για τα αγγλικά και μεμονωμένων χαρακτήρων για τα κινεζικά· αυτές οι σημάνσεις αφορούν μορφές με χρονική ευθυγράμμιση.\n\nΕίναι δυνατή η σταδιακή έξοδος κειμένου, αλλά δεν μπορεί να συνδυαστεί με διαχωρισμό ομιλητών και μορφές υποτίτλων. Αυτή η λειτουργία επιστρέφει νέα αποσπάσματα αναγνωρισμένου κειμένου καθώς επεξεργάζεται το ήδη παρεχόμενο αρχείο. Πρόκειται για ροή αποτελέσματος και όχι συνεχή αποστολή ήχου από μικρόφωνο.\n\n### Απαιτήσεις ηχογράφησης\n\nΟι δηλωμένες μορφές εισόδου είναι WAV, AIFF, FLAC, ALAC σε περιέκτη M4A, MP3, AAC, Opus και Ogg. Το αρχείο πρέπει να περιέχει το πολύ **500 δευτερόλεπτα** ήχου και να έχει μέγεθος το πολύ **50 MB**. Η υπέρβαση διάρκειας απορρίπτεται και δεν περικόπτεται απαρατήρητα. Το ακατέργαστο PCM χωρίς περιέκτη δεν υποστηρίζεται.\n\nΓια προετοιμασία της ηχογράφησης, ο κατασκευαστής συνιστά μονοφωνικό ήχο 16 kHz ή συμπιεσμένη μορφή ήχου: η υψηλή συχνότητα και ο στερεοφωνικός ήχος δεν χρειάζονται για αναγνώριση και αυξάνουν το μέγεθος αρχείου. Οι δυνατότητες εκτεταμένης εξόδου και επεξεργασίας σε ροή αφορούν το ASR 1.0· η διαθέσιμη μορφή απάντησης του συγκεκριμένου αιτήματος καθορίζεται από τα μέσα του Ailoot.",
    "alias_of": null,
    "aliases": [],
    "author": "MiniMax",
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "asr-1.0",
    "input": [
      "audio"
    ],
    "kind": "transcription",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "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": [
              "The adapter uses its own JSON/word-timestamp/non-stream wire settings; no additional caller parameter is introduced."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Διατηρήστε το αρχικό operation_id/X-Client-Request-ID για τη συμφωνία των εγγραφών χωρίς νέα υποβολή· δεν υπάρχει ειδική διαδρομή περιοδικού ελέγχου για τον ήχο."
            },
            "material_combinations": [
              {
                "content_type": "multipart/form-data",
                "mode": "speech_to_text",
                "required": [
                  "actual audio file"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "speech_to_text"
            ],
            "outputs": {
              "all_results": "Διατηρήστε ολόκληρο το JSON, όχι μόνο το κείμενο· διατηρήστε κάθε διαθέσιμο τμήμα, ομιλητή, χρονική σήμανση και πραγματική ταυτότητα εργασίας ή αρχείου πολυμέσων.",
              "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"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "asr-1.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "content_type": "multipart/form-data",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "file_formats": [
                  "wav",
                  "mp3",
                  "m4a",
                  "ogg",
                  "webm",
                  "flac"
                ],
                "maximum_bytes": 52428800,
                "maximum_seconds_exclusive": 500,
                "name": "file",
                "required": true,
                "type": "file"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Οι δομές και τα ID των μεθόδων είναι ακριβή· η δυνατότητα του προμηθευτή είναι ξεχωριστή από την αποδοχή αιτημάτων."
          ],
          "input": {
            "material_types": [
              "audio"
            ],
            "optional_controls": null,
            "required": null
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "operation_modes": [
            "audio_transcriptions"
          ],
          "output": {
            "family": [
              "text"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set your actual MP3 recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport os\nfrom pathlib import Path\nf=Path(os.environ[\"AILOOT_AUDIO_FILE\"])\nif not f.is_file() or f.suffix.lower()!=\".mp3\":raise SystemExit(\"Choose your actual 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=asr-1.0 -F \"file=@$AILOOT_AUDIO_FILE\" \\\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()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Transcribe your actual recording",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Ομιλία σε κείμενο",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.38,
                "amount_unit": "usd_per_display_unit",
                "key": "stt_hour",
                "label": "per hour of audio",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "asr-1.0",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "stt_hour",
        "units": [
          {
            "key": "stt_hour",
            "label": "per hour of audio",
            "side": "in",
            "usd": 0.38
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "asr-1.0",
        "request_model_id": "asr-1.0",
        "route_label": "Core"
      }
    ],
    "name": "asr-1.0",
    "price": {
      "in": 0.38,
      "in_label": "per hour of audio",
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": false
    },
    "short": "Το MiniMax ASR 1.0 μετατρέπει ήχο σε κείμενο, υποστηρίζει ρωσικά, διαχωρισμό ατάκων ανά ομιλητή και χρονικές σημάνσεις."
  },
  "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": "Το MiniMax ASR 1.0 μετατρέπει ήχο σε κείμενο, υποστηρίζει ρωσικά, διαχωρισμό ατάκων ανά ομιλητή και χρονικές σημάνσεις.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "2d0c79e96b7b137d13e9d3c9340a8c71ed74ac9969dc6baea682eb09bf9a094d",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "74f635b3f7349e900104ade4b01e5acc8902095d30cfbcf8b4f5d198afba6d22"
}
