{
  "aboutHtml": "<h4>Chuyển bản ghi hội thoại thành văn bản</h4><p>MiniMax ASR 1.0 nhận dạng lời nói trong tệp âm thanh. Nhà sản xuất mô tả ứng dụng cho cuộc họp, phỏng vấn, podcast, phần âm thanh của video, kiểm soát nội dung và phân tích hội thoại. Mô hình được điều chỉnh cho lời nói hội thoại, tiếng ồn và từ vựng chuyên môn, chú trọng giảm các đoạn bịa đặt. Trong thẻ Ailoot này, đầu vào là âm thanh, kết quả là văn bản.</p><h4>Ngôn ngữ và nhiều người tham gia</h4><p>Mô hình hỗ trợ tiếng Nga, Ukraine, Anh, Pháp, Đức, Tây Ban Nha, Italy, Bồ Đào Nha và Ba Lan; cùng tiếng Trung, Quảng Đông, Nhật, Hàn, Thái, Việt, Indonesia, Mã Lai, Philippines, Ả Rập và Thổ Nhĩ Kỳ. Nếu không đặt ngôn ngữ, mô hình tự xác định ngôn ngữ chính; nhà sản xuất mô tả riêng việc kết hợp lời nói tiếng Trung và tiếng Anh.</p><p>Ở dạng kết quả mở rộng, mô hình có thể phân biệt người nói và gắn lượt lời với thời gian. Kết quả trả về gồm tổng số người tham gia và các đoạn có nhãn người nói, thời điểm bắt đầu, kết thúc và văn bản. Điều này giúp phân tích ai nói một lượt lời cụ thể và nói lúc nào, không trộn lượt lời của những người khác nhau.</p><h4>Cách biểu diễn kết quả</h4><p>Nhà sản xuất cung cấp JSON thông thường với văn bản và thời lượng, <code>verbose_json</code> mở rộng, cùng phụ đề SRT và WebVTT. Dấu thời gian mặc định ở cấp câu hoặc đoạn. Dấu từng từ được mô tả cho tiếng Anh, từng ký tự cho tiếng Trung; những dấu này thuộc định dạng có căn chỉnh.</p><p>Có thể xuất văn bản dần, nhưng không thể kết hợp với phân biệt người nói và định dạng phụ đề. Chế độ này trả về những đoạn văn bản mới nhận dạng trong quá trình xử lý tệp đã được gửi. Đây là luồng kết quả, không phải gửi âm thanh liên tục từ micro.</p><h4>Yêu cầu đối với bản ghi</h4><p>Các định dạng đầu vào được công bố là WAV, AIFF, FLAC, ALAC trong tệp chứa M4A, MP3, AAC, Opus và Ogg. Tệp phải chứa không quá <strong>500 giây</strong> âm thanh và có dung lượng không quá <strong>50 MB</strong>. Nếu vượt thời lượng, yêu cầu bị từ chối thay vì âm thầm cắt bớt. PCM thô không có tệp chứa không được hỗ trợ.</p><p>Để chuẩn bị bản ghi, nhà sản xuất khuyến nghị âm thanh mono 16 kHz hoặc định dạng âm thanh nén: tần số cao và stereo không cần thiết cho nhận dạng, đồng thời làm tăng dung lượng tệp. Các khả năng đầu ra mở rộng và xử lý luồng thuộc ASR 1.0; định dạng câu trả lời sẵn có của từng yêu cầu cụ thể được đặt bằng các công cụ Ailoot.</p>",
  "aboutText": "### Chuyển bản ghi hội thoại thành văn bản\n\nMiniMax ASR 1.0 nhận dạng lời nói trong tệp âm thanh. Nhà sản xuất mô tả ứng dụng cho cuộc họp, phỏng vấn, podcast, phần âm thanh của video, kiểm soát nội dung và phân tích hội thoại. Mô hình được điều chỉnh cho lời nói hội thoại, tiếng ồn và từ vựng chuyên môn, chú trọng giảm các đoạn bịa đặt. Trong thẻ Ailoot này, đầu vào là âm thanh, kết quả là văn bản.\n\n### Ngôn ngữ và nhiều người tham gia\n\nMô hình hỗ trợ tiếng Nga, Ukraine, Anh, Pháp, Đức, Tây Ban Nha, Italy, Bồ Đào Nha và Ba Lan; cùng tiếng Trung, Quảng Đông, Nhật, Hàn, Thái, Việt, Indonesia, Mã Lai, Philippines, Ả Rập và Thổ Nhĩ Kỳ. Nếu không đặt ngôn ngữ, mô hình tự xác định ngôn ngữ chính; nhà sản xuất mô tả riêng việc kết hợp lời nói tiếng Trung và tiếng Anh.\n\nỞ dạng kết quả mở rộng, mô hình có thể phân biệt người nói và gắn lượt lời với thời gian. Kết quả trả về gồm tổng số người tham gia và các đoạn có nhãn người nói, thời điểm bắt đầu, kết thúc và văn bản. Điều này giúp phân tích ai nói một lượt lời cụ thể và nói lúc nào, không trộn lượt lời của những người khác nhau.\n\n### Cách biểu diễn kết quả\n\nNhà sản xuất cung cấp JSON thông thường với văn bản và thời lượng, `verbose_json` mở rộng, cùng phụ đề SRT và WebVTT. Dấu thời gian mặc định ở cấp câu hoặc đoạn. Dấu từng từ được mô tả cho tiếng Anh, từng ký tự cho tiếng Trung; những dấu này thuộc định dạng có căn chỉnh.\n\nCó thể xuất văn bản dần, nhưng không thể kết hợp với phân biệt người nói và định dạng phụ đề. Chế độ này trả về những đoạn văn bản mới nhận dạng trong quá trình xử lý tệp đã được gửi. Đây là luồng kết quả, không phải gửi âm thanh liên tục từ micro.\n\n### Yêu cầu đối với bản ghi\n\nCác định dạng đầu vào được công bố là WAV, AIFF, FLAC, ALAC trong tệp chứa M4A, MP3, AAC, Opus và Ogg. Tệp phải chứa không quá **500 giây** âm thanh và có dung lượng không quá **50 MB**. Nếu vượt thời lượng, yêu cầu bị từ chối thay vì âm thầm cắt bớt. PCM thô không có tệp chứa không được hỗ trợ.\n\nĐể chuẩn bị bản ghi, nhà sản xuất khuyến nghị âm thanh mono 16 kHz hoặc định dạng âm thanh nén: tần số cao và stereo không cần thiết cho nhận dạng, đồng thời làm tăng dung lượng tệp. Các khả năng đầu ra mở rộng và xử lý luồng thuộc ASR 1.0; định dạng câu trả lời sẵn có của từng yêu cầu cụ thể được đặt bằng các công cụ Ailoot.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "191d426e227fef40e06fbd861173a7e534353eb297f81c515b3cbe8f41bb3d1d",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "vi",
  "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=\"Đóng\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>asr-1.0</code><button type=\"button\" id=\"copy-id\">Sao chép ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Các phần của thẻ mô hình\"><button type=\"button\" data-card-jump=\"overview\">Bắt đầu</button><button type=\"button\" data-card-jump=\"methods\">Đầu vào &amp; phương thức</button><button type=\"button\" data-card-jump=\"pricing\">Bảng giá</button><button type=\"button\" data-card-jump=\"examples\">Ví dụ</button><button type=\"button\" data-card-jump=\"results\">Kết quả</button><button type=\"button\" data-card-jump=\"aliases\">Bí danh</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Phương thức 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\">Nhận dạng</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\">Bắt đầu</h3><p class=\"mdesc-full\">MiniMax ASR 1.0 chuyển âm thanh thành văn bản, hỗ trợ tiếng Nga, phân biệt lượt lời theo người nói và dấu thời gian.</p><dl class=\"card-io\" data-card-io><div><dt>Đầu vào được chấp nhận</dt><dd>Âm thanh</dd></div><div><dt>Kết quả</dt><dd>Văn bản</dd></div></dl><details class=\"card-about\"><summary>Về mô hình</summary><p class=\"note-s\" data-model-method-boundary>Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.</p><div class=\"mabout\" id=\"m-about\"><h4>Chuyển bản ghi hội thoại thành văn bản</h4><p>MiniMax ASR 1.0 nhận dạng lời nói trong tệp âm thanh. Nhà sản xuất mô tả ứng dụng cho cuộc họp, phỏng vấn, podcast, phần âm thanh của video, kiểm soát nội dung và phân tích hội thoại. Mô hình được điều chỉnh cho lời nói hội thoại, tiếng ồn và từ vựng chuyên môn, chú trọng giảm các đoạn bịa đặt. Trong thẻ Ailoot này, đầu vào là âm thanh, kết quả là văn bản.</p><h4>Ngôn ngữ và nhiều người tham gia</h4><p>Mô hình hỗ trợ tiếng Nga, Ukraine, Anh, Pháp, Đức, Tây Ban Nha, Italy, Bồ Đào Nha và Ba Lan; cùng tiếng Trung, Quảng Đông, Nhật, Hàn, Thái, Việt, Indonesia, Mã Lai, Philippines, Ả Rập và Thổ Nhĩ Kỳ. Nếu không đặt ngôn ngữ, mô hình tự xác định ngôn ngữ chính; nhà sản xuất mô tả riêng việc kết hợp lời nói tiếng Trung và tiếng Anh.</p><p>Ở dạng kết quả mở rộng, mô hình có thể phân biệt người nói và gắn lượt lời với thời gian. Kết quả trả về gồm tổng số người tham gia và các đoạn có nhãn người nói, thời điểm bắt đầu, kết thúc và văn bản. Điều này giúp phân tích ai nói một lượt lời cụ thể và nói lúc nào, không trộn lượt lời của những người khác nhau.</p><h4>Cách biểu diễn kết quả</h4><p>Nhà sản xuất cung cấp JSON thông thường với văn bản và thời lượng, <code>verbose_json</code> mở rộng, cùng phụ đề SRT và WebVTT. Dấu thời gian mặc định ở cấp câu hoặc đoạn. Dấu từng từ được mô tả cho tiếng Anh, từng ký tự cho tiếng Trung; những dấu này thuộc định dạng có căn chỉnh.</p><p>Có thể xuất văn bản dần, nhưng không thể kết hợp với phân biệt người nói và định dạng phụ đề. Chế độ này trả về những đoạn văn bản mới nhận dạng trong quá trình xử lý tệp đã được gửi. Đây là luồng kết quả, không phải gửi âm thanh liên tục từ micro.</p><h4>Yêu cầu đối với bản ghi</h4><p>Các định dạng đầu vào được công bố là WAV, AIFF, FLAC, ALAC trong tệp chứa M4A, MP3, AAC, Opus và Ogg. Tệp phải chứa không quá <strong>500 giây</strong> âm thanh và có dung lượng không quá <strong>50 MB</strong>. Nếu vượt thời lượng, yêu cầu bị từ chối thay vì âm thầm cắt bớt. PCM thô không có tệp chứa không được hỗ trợ.</p><p>Để chuẩn bị bản ghi, nhà sản xuất khuyến nghị âm thanh mono 16 kHz hoặc định dạng âm thanh nén: tần số cao và stereo không cần thiết cho nhận dạng, đồng thời làm tăng dung lượng tệp. Các khả năng đầu ra mở rộng và xử lý luồng thuộc ASR 1.0; định dạng câu trả lời sẵn có của từng yêu cầu cụ thể được đặt bằng các công cụ Ailoot.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Có trên Ailoot · đầu vào &amp; phương thức</h3><details class=\"card-method\" open><summary><b>Ailoot · Chuyển giọng nói thành văn bản</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Đầu vào</dt><dd><code>audio</code></dd></div><div><dt>Đầu ra</dt><dd><code>text</code></dd></div><div><dt>Định dạng đầu ra</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Trường</th><th>Loại</th><th>Yêu cầu</th><th>Giá trị &amp; giới hạn</th><th>Mặc định</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>asr-1.0</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">file</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>file</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>Số byte tối đa: 52.428.800</div><div>Định dạng tệp: wav, mp3, m4a, ogg, webm, flac</div><div>Loại nội dung: multipart/form-data</div><div>Thời lượng tối đa (không gồm ngưỡng), giây: 500</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>json</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Tổ hợp tư liệu đầu vào</summary><p class=\"note-s\"><b>speech_to_text</b> · Bắt buộc: actual audio file</p></details><details class=\"note-s\" data-method-contract><summary>Tham số phương thức và vòng đời</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Tham số</th><th>Hợp đồng</th></tr></thead><tbody><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>material_types</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>audio</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>required</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>null</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>optional_controls</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>null</td></tr></tbody></table></div><p>Vòng đời: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện</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\">Cấu trúc phương thức và ID là chính xác; khả năng của nhà cung cấp tách biệt với việc cho phép tiếp nhận yêu cầu.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Bảng giá</h3><h4>Mức phí phương thức Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Chuyển giọng nói thành văn bản</b><code>POST /v1/audio/transcriptions</code></header><dl><div><dt>Đầu vào</dt><dd>0,38 US$ <em>mỗi giờ âm thanh</em></dd></div></dl></section><p class=\"note-s\">Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. <a href=\"/docs/vi/billing/reserve/\">Cách hoạt động của cơ chế tạm giữ và quyết toán →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Ví dụ yêu cầu</h3><h4>Ailoot · Chuyển giọng nói thành văn bản</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Các phiên bản mã\"><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\">Ví dụ chép lời</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Sao chép mã\"><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\">Nhận và lưu kết quả</h3><h4>Ailoot · Chuyển giọng nói thành văn bản</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>Lưu tất cả kết quả đã hoàn tất</h5><p class=\"note-s\">Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.</p><p class=\"note-s\">Giữ lại toàn bộ JSON, không chỉ văn bản; giữ nguyên mọi đoạn/người nói/dấu thời gian hiện có và mã định danh tác vụ/tài sản thực tế.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Nếu cần kiểm tra phản hồi gốc</h5><p class=\"note-s\">Giữ lại operation_id/X-Client-Request-ID gốc để đối soát mà không gửi lại yêu cầu; không có tuyến truy vấn trạng thái riêng cho âm thanh.</p></div><details class=\"card-about\" data-output-fields><summary>Trường phản hồi</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Trường</th><th>Loại</th></tr></thead><tbody><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">text</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>string</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">segments[]</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>object</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">task_id</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>string</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">asset_url</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>string</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Lỗi và bước tiếp theo</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Phản hồi</th><th>Điều kiện</th><th>Bước tiếp theo</th></tr></thead><tbody><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span><code>server_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Phản hồi trả về cho biết thao tác hoặc kết quả cần được kiểm tra</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Giữ lại ID thao tác/tác vụ gốc đã trả về, các header của yêu cầu và toàn bộ phản hồi; tiếp tục truy xuất thao tác gốc đó bằng các phương thức được hỗ trợ. Không gửi lại yêu cầu tạo.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Bí danh</h3><h4>Bí danh mô hình</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>Bí danh đường dẫn phương thức</h4><p class=\"note-s\">Dùng các đường dẫn phương thức hiển thị ở trên.</p><h4>ID gọi liên quan</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": "Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ",
                "http_status": 400,
                "recovery": "Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Phản hồi trả về cho biết thao tác hoặc kết quả cần được kiểm tra",
                "http_status": null,
                "recovery": "Giữ lại ID thao tác/tác vụ gốc đã trả về, các header của yêu cầu và toàn bộ phản hồi; tiếp tục truy xuất thao tác gốc đó bằng các phương thức được hỗ trợ. Không gửi lại yêu cầu tạo.",
                "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": "Giữ lại operation_id/X-Client-Request-ID gốc để đối soát mà không gửi lại yêu cầu; không có tuyến truy vấn trạng thái riêng cho âm thanh."
            },
            "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": "Giữ lại toàn bộ JSON, không chỉ văn bản; giữ nguyên mọi đoạn/người nói/dấu thời gian hiện có và mã định danh tác vụ/tài sản thực tế.",
              "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": [
            "Cấu trúc phương thức và ID là chính xác; khả năng của nhà cung cấp tách biệt với việc cho phép tiếp nhận yêu cầu."
          ],
          "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": "Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện",
                "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": "Chuyển giọng nói thành văn bản",
        "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": "470a40491788d0027eab4b1ff2f14f4aaced4ecd80c6ca59a54a9d9ab26dc550",
    "input_html_sha256": "63de4ddb99a454760bd0bf0592b0d9f54a5054aed49cd6df71a3e520d48ba7b5",
    "private_audit_sha256": "365093ca57882ba3aaf37110441d5c8595f6ed3a916919cfd19409749bd909aa",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/vi/asr-1-0/",
    "description": "MiniMax ASR 1.0 chuyển âm thanh thành văn bản, hỗ trợ tiếng Nga, phân biệt lượt lời theo người nói và dấu thời gian.",
    "locale": "vi",
    "md_url": "https://ailoot.ai/models/vi/asr-1-0/index.md",
    "title": "asr-1.0 — Ailoot",
    "url": "https://ailoot.ai/models/vi/asr-1-0/"
  },
  "rawModel": {
    "about": "### Chuyển bản ghi hội thoại thành văn bản\n\nMiniMax ASR 1.0 nhận dạng lời nói trong tệp âm thanh. Nhà sản xuất mô tả ứng dụng cho cuộc họp, phỏng vấn, podcast, phần âm thanh của video, kiểm soát nội dung và phân tích hội thoại. Mô hình được điều chỉnh cho lời nói hội thoại, tiếng ồn và từ vựng chuyên môn, chú trọng giảm các đoạn bịa đặt. Trong thẻ Ailoot này, đầu vào là âm thanh, kết quả là văn bản.\n\n### Ngôn ngữ và nhiều người tham gia\n\nMô hình hỗ trợ tiếng Nga, Ukraine, Anh, Pháp, Đức, Tây Ban Nha, Italy, Bồ Đào Nha và Ba Lan; cùng tiếng Trung, Quảng Đông, Nhật, Hàn, Thái, Việt, Indonesia, Mã Lai, Philippines, Ả Rập và Thổ Nhĩ Kỳ. Nếu không đặt ngôn ngữ, mô hình tự xác định ngôn ngữ chính; nhà sản xuất mô tả riêng việc kết hợp lời nói tiếng Trung và tiếng Anh.\n\nỞ dạng kết quả mở rộng, mô hình có thể phân biệt người nói và gắn lượt lời với thời gian. Kết quả trả về gồm tổng số người tham gia và các đoạn có nhãn người nói, thời điểm bắt đầu, kết thúc và văn bản. Điều này giúp phân tích ai nói một lượt lời cụ thể và nói lúc nào, không trộn lượt lời của những người khác nhau.\n\n### Cách biểu diễn kết quả\n\nNhà sản xuất cung cấp JSON thông thường với văn bản và thời lượng, `verbose_json` mở rộng, cùng phụ đề SRT và WebVTT. Dấu thời gian mặc định ở cấp câu hoặc đoạn. Dấu từng từ được mô tả cho tiếng Anh, từng ký tự cho tiếng Trung; những dấu này thuộc định dạng có căn chỉnh.\n\nCó thể xuất văn bản dần, nhưng không thể kết hợp với phân biệt người nói và định dạng phụ đề. Chế độ này trả về những đoạn văn bản mới nhận dạng trong quá trình xử lý tệp đã được gửi. Đây là luồng kết quả, không phải gửi âm thanh liên tục từ micro.\n\n### Yêu cầu đối với bản ghi\n\nCác định dạng đầu vào được công bố là WAV, AIFF, FLAC, ALAC trong tệp chứa M4A, MP3, AAC, Opus và Ogg. Tệp phải chứa không quá **500 giây** âm thanh và có dung lượng không quá **50 MB**. Nếu vượt thời lượng, yêu cầu bị từ chối thay vì âm thầm cắt bớt. PCM thô không có tệp chứa không được hỗ trợ.\n\nĐể chuẩn bị bản ghi, nhà sản xuất khuyến nghị âm thanh mono 16 kHz hoặc định dạng âm thanh nén: tần số cao và stereo không cần thiết cho nhận dạng, đồng thời làm tăng dung lượng tệp. Các khả năng đầu ra mở rộng và xử lý luồng thuộc ASR 1.0; định dạng câu trả lời sẵn có của từng yêu cầu cụ thể được đặt bằng các công cụ 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": "Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ",
                "http_status": 400,
                "recovery": "Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Phản hồi trả về cho biết thao tác hoặc kết quả cần được kiểm tra",
                "http_status": null,
                "recovery": "Giữ lại ID thao tác/tác vụ gốc đã trả về, các header của yêu cầu và toàn bộ phản hồi; tiếp tục truy xuất thao tác gốc đó bằng các phương thức được hỗ trợ. Không gửi lại yêu cầu tạo.",
                "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": "Giữ lại operation_id/X-Client-Request-ID gốc để đối soát mà không gửi lại yêu cầu; không có tuyến truy vấn trạng thái riêng cho âm thanh."
            },
            "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": "Giữ lại toàn bộ JSON, không chỉ văn bản; giữ nguyên mọi đoạn/người nói/dấu thời gian hiện có và mã định danh tác vụ/tài sản thực tế.",
              "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": [
            "Cấu trúc phương thức và ID là chính xác; khả năng của nhà cung cấp tách biệt với việc cho phép tiếp nhận yêu cầu."
          ],
          "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": "Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện",
                "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": "Chuyển giọng nói thành văn bản",
        "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 chuyển âm thanh thành văn bản, hỗ trợ tiếng Nga, phân biệt lượt lời theo người nói và dấu thời gian."
  },
  "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 chuyển âm thanh thành văn bản, hỗ trợ tiếng Nga, phân biệt lượt lời theo người nói và dấu thời gian.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "c75aba51c909d3e76d2375659e13b486c7928c4dc9a09a19b67cb3a1e7b9eccc",
    "renderer_sha256": "64a62299639eb843877e9ec5c95e32bf22bac3acfe230f6f502c5c3aa186f9c1"
  },
  "sourceRevision": "0a98af371e6504593f1db59ca4b5a0bb1baedb0796cd134153bdb36a0c9af037"
}
