{
  "aboutHtml": "<p>Whisper large-v3-turbo, còn gọi là Turbo, là mô hình chép lời được OpenAI tối ưu từ Whisper large-v3. Bộ giải mã được giảm từ 32 lớp xuống bốn, còn bộ mã hóa vẫn có 32 lớp. Mô hình được phát hành có khoảng 809 triệu tham số. Mục đích của nhà sản xuất là nhận dạng lời nói nhanh hơn với đánh đổi nhỏ về độ chính xác, không phải chế độ tạo âm thanh khác. Lời nói được ghi âm là đầu vào và văn bản nhận dạng là kết quả.</p><p>Thông báo phát hành phân biệt cách chuẩn bị Turbo với một mô hình Whisper được chưng cất riêng: Turbo được tinh chỉnh thêm hai vòng huấn luyện trên dữ liệu chép lời đa ngôn ngữ, không gồm dữ liệu dịch. Sự khác biệt này quan trọng trong vận hành. Kho mã của OpenAI nêu Turbo không được huấn luyện để dịch lời nói không phải tiếng Anh sang tiếng Anh và có thể trả về ngôn ngữ gốc ngay cả khi được yêu cầu thực hiện tác vụ dịch. Dùng phiên bản này cho bản chép lời cùng ngôn ngữ; yêu cầu dịch thuộc mô hình phù hợp khác hoặc bước riêng sau chép lời.</p><p>Nhận diện ngôn ngữ nguồn và chọn ngôn ngữ rõ ràng vẫn là lựa chọn chép lời hữu ích. Nếu đã biết ngôn ngữ ghi âm, nêu trong bản giao việc; nếu chưa, quy trình được công bố có thể nhận diện. Giữ tên, số lượng và từ đã được nói trước khi yêu cầu chỉnh sửa biên tập. Biên bản cuộc họp, bản chép phỏng vấn hoặc văn bản bài giảng sau đó có thể được tìm kiếm, chú giải hoặc tóm tắt ở thao tác tiếp theo. Không nên nhầm nhiệm vụ nhận dạng của Turbo với tổng hợp giọng nói, bắt chước giọng hoặc đánh giá ngữ nghĩa về người trong bản ghi.</p><p>Bộ đọc âm thanh của OpenAI giải mã tệp đầu vào thành mẫu đơn âm ở 16 kHz, và mô hình dùng cửa sổ âm học 30 giây với 128 dải tần Mel. Bản ghi dài hơn cần suy luận âm thanh dài. Xử lý tuần tự đi qua các cửa sổ theo thứ tự; cách chia đoạn chép các phần chồng lấn và nối ranh giới của chúng. Thẻ mô hình giới thiệu cách sau hữu ích khi xử lý một tệp dài và ưu tiên chính là thời gian trả kết quả, còn xử lý tuần tự là phương án hướng đến độ chính xác. Cả cửa sổ lẫn tên mô hình đều không xác lập kích thước tệp tải lên tối đa cố định cho dịch vụ lưu trữ mô hình.</p><p>Cấu hình Turbo chính xác liệt kê 448 vị trí giải mã cho một chuỗi giải mã. Quy trình suy luận được công bố có thể kèm thời gian đoạn hoặc từ cùng bản chép lời; thông tin thời gian hỗ trợ điều hướng và định dạng phụ đề về sau. Điều đó không tự thêm định dạng tệp phụ đề hoặc nhãn người nói đáng tin cậy. Nêu cần bản chép lời thuần hay đoạn có thời gian, đồng thời giữ bản ghi gốc để kiểm tra đoạn còn tranh cãi. Xử lý âm thanh dài và mọi định dạng cuối là các phần tách biệt với định danh bản chụp mô hình.</p><p>Turbo giảm công việc giải mã, nhưng thời gian thực tế phụ thuộc phần cứng, độ dài bản ghi, ngôn ngữ, tốc độ nói và lựa chọn suy luận. Nhà sản xuất lưu ý chất lượng giảm nhiều hơn với một số ngôn ngữ, gồm tiếng Thái và tiếng Quảng Đông, thay vì hành vi đồng nhất ở mọi nơi. So sánh đoạn đại diện bằng ngôn ngữ dự kiến trước khi xem đánh đổi hướng đến tốc độ là phù hợp với mọi tài liệu. Với nhiệm vụ xử lý kho lưu trữ, đưa từ vựng khó, khoảng dừng và đoạn nhiễu hoặc lời nói chồng lấn vào mẫu xem xét, không chỉ câu mở đầu rõ ràng.</p><p>Thẻ được công bố giữ các hạn chế nhận dạng đáng kể của Whisper: văn bản dự đoán có thể gồm từ không được nói, và văn bản lặp lại có thể xuất hiện. Kết quả thay đổi theo ngôn ngữ, giọng và phương ngữ, đặc biệt nơi dữ liệu huấn luyện có độ bao phủ hạn chế. Thẻ không xác lập phân đoạn theo người nói hoặc phân loại người nói ở mô hình nền là khả năng tiêu chuẩn vững chắc. Xem xét thực tế tập trung vào độ trung thành với nguồn: tên và số quan trọng, lời nói bị bỏ sót, văn bản bất ngờ khi im lặng và đoạn lặp. Bản chép lời đọc được vẫn là kết quả để đối chiếu với bản ghi, không phải bảo đảm nhận dạng chính xác.</p><p>Sản phẩm hoàn chỉnh hữu ích là bản chép lời bằng ngôn ngữ nguồn kèm thời gian nếu được yêu cầu và liên kết rõ với bản ghi. Giữ bản nhận dạng tách biệt với bản đã biên tập để xuất bản nhằm truy vết thay đổi. Giữ tên large-v3-turbo khi so sánh phiên bản: đây không phải mô hình large-v3 đầy đủ và không nên âm thầm kế thừa nhiệm vụ dịch sang tiếng Anh của large-v3. Định danh trọng số mở này cũng không mang theo giới hạn tải lên, định dạng phản hồi hoặc cam kết truyền luồng trực tiếp của dịch vụ whisper-1 được lưu trữ. Chọn Turbo khi đánh đổi chép lời được công bố phù hợp với tài liệu thực tế và thời gian trả kết quả mong muốn.</p>",
  "aboutText": "Whisper large-v3-turbo, còn gọi là Turbo, là mô hình chép lời được OpenAI tối ưu từ Whisper large-v3. Bộ giải mã được giảm từ 32 lớp xuống bốn, còn bộ mã hóa vẫn có 32 lớp. Mô hình được phát hành có khoảng 809 triệu tham số. Mục đích của nhà sản xuất là nhận dạng lời nói nhanh hơn với đánh đổi nhỏ về độ chính xác, không phải chế độ tạo âm thanh khác. Lời nói được ghi âm là đầu vào và văn bản nhận dạng là kết quả.\n\nThông báo phát hành phân biệt cách chuẩn bị Turbo với một mô hình Whisper được chưng cất riêng: Turbo được tinh chỉnh thêm hai vòng huấn luyện trên dữ liệu chép lời đa ngôn ngữ, không gồm dữ liệu dịch. Sự khác biệt này quan trọng trong vận hành. Kho mã của OpenAI nêu Turbo không được huấn luyện để dịch lời nói không phải tiếng Anh sang tiếng Anh và có thể trả về ngôn ngữ gốc ngay cả khi được yêu cầu thực hiện tác vụ dịch. Dùng phiên bản này cho bản chép lời cùng ngôn ngữ; yêu cầu dịch thuộc mô hình phù hợp khác hoặc bước riêng sau chép lời.\n\nNhận diện ngôn ngữ nguồn và chọn ngôn ngữ rõ ràng vẫn là lựa chọn chép lời hữu ích. Nếu đã biết ngôn ngữ ghi âm, nêu trong bản giao việc; nếu chưa, quy trình được công bố có thể nhận diện. Giữ tên, số lượng và từ đã được nói trước khi yêu cầu chỉnh sửa biên tập. Biên bản cuộc họp, bản chép phỏng vấn hoặc văn bản bài giảng sau đó có thể được tìm kiếm, chú giải hoặc tóm tắt ở thao tác tiếp theo. Không nên nhầm nhiệm vụ nhận dạng của Turbo với tổng hợp giọng nói, bắt chước giọng hoặc đánh giá ngữ nghĩa về người trong bản ghi.\n\nBộ đọc âm thanh của OpenAI giải mã tệp đầu vào thành mẫu đơn âm ở 16 kHz, và mô hình dùng cửa sổ âm học 30 giây với 128 dải tần Mel. Bản ghi dài hơn cần suy luận âm thanh dài. Xử lý tuần tự đi qua các cửa sổ theo thứ tự; cách chia đoạn chép các phần chồng lấn và nối ranh giới của chúng. Thẻ mô hình giới thiệu cách sau hữu ích khi xử lý một tệp dài và ưu tiên chính là thời gian trả kết quả, còn xử lý tuần tự là phương án hướng đến độ chính xác. Cả cửa sổ lẫn tên mô hình đều không xác lập kích thước tệp tải lên tối đa cố định cho dịch vụ lưu trữ mô hình.\n\nCấu hình Turbo chính xác liệt kê 448 vị trí giải mã cho một chuỗi giải mã. Quy trình suy luận được công bố có thể kèm thời gian đoạn hoặc từ cùng bản chép lời; thông tin thời gian hỗ trợ điều hướng và định dạng phụ đề về sau. Điều đó không tự thêm định dạng tệp phụ đề hoặc nhãn người nói đáng tin cậy. Nêu cần bản chép lời thuần hay đoạn có thời gian, đồng thời giữ bản ghi gốc để kiểm tra đoạn còn tranh cãi. Xử lý âm thanh dài và mọi định dạng cuối là các phần tách biệt với định danh bản chụp mô hình.\n\nTurbo giảm công việc giải mã, nhưng thời gian thực tế phụ thuộc phần cứng, độ dài bản ghi, ngôn ngữ, tốc độ nói và lựa chọn suy luận. Nhà sản xuất lưu ý chất lượng giảm nhiều hơn với một số ngôn ngữ, gồm tiếng Thái và tiếng Quảng Đông, thay vì hành vi đồng nhất ở mọi nơi. So sánh đoạn đại diện bằng ngôn ngữ dự kiến trước khi xem đánh đổi hướng đến tốc độ là phù hợp với mọi tài liệu. Với nhiệm vụ xử lý kho lưu trữ, đưa từ vựng khó, khoảng dừng và đoạn nhiễu hoặc lời nói chồng lấn vào mẫu xem xét, không chỉ câu mở đầu rõ ràng.\n\nThẻ được công bố giữ các hạn chế nhận dạng đáng kể của Whisper: văn bản dự đoán có thể gồm từ không được nói, và văn bản lặp lại có thể xuất hiện. Kết quả thay đổi theo ngôn ngữ, giọng và phương ngữ, đặc biệt nơi dữ liệu huấn luyện có độ bao phủ hạn chế. Thẻ không xác lập phân đoạn theo người nói hoặc phân loại người nói ở mô hình nền là khả năng tiêu chuẩn vững chắc. Xem xét thực tế tập trung vào độ trung thành với nguồn: tên và số quan trọng, lời nói bị bỏ sót, văn bản bất ngờ khi im lặng và đoạn lặp. Bản chép lời đọc được vẫn là kết quả để đối chiếu với bản ghi, không phải bảo đảm nhận dạng chính xác.\n\nSản phẩm hoàn chỉnh hữu ích là bản chép lời bằng ngôn ngữ nguồn kèm thời gian nếu được yêu cầu và liên kết rõ với bản ghi. Giữ bản nhận dạng tách biệt với bản đã biên tập để xuất bản nhằm truy vết thay đổi. Giữ tên large-v3-turbo khi so sánh phiên bản: đây không phải mô hình large-v3 đầy đủ và không nên âm thầm kế thừa nhiệm vụ dịch sang tiếng Anh của large-v3. Định danh trọng số mở này cũng không mang theo giới hạn tải lên, định dạng phản hồi hoặc cam kết truyền luồng trực tiếp của dịch vụ whisper-1 được lưu trữ. Chọn Turbo khi đánh đổi chép lời được công bố phù hợp với tài liệu thực tế và thời gian trả kết quả mong muốn.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "ef3ffdfe586d960d32abc5b9e4c120baede9f363008fafa1e653b773de2c804b",
    "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\">O</span><h2 id=\"sheet-title\">OpenAI: Whisper Large V3 Turbo</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Đóng\">×</button></div><div class=\"idline\"><span>OpenAI /</span><code>openai/whisper-large-v3-turbo</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=\"Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fwhisper-large-v3-turbo\">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\">Whisper large-v3-turbo là phiên bản chép lời có trọng số mở, nhanh hơn của OpenAI, phát triển từ large-v3, với bốn lớp giải mã và 809 triệu tham số. Mô hình hướng đến chuyển lời nói đa ngôn ngữ thành văn bản; tài liệu chính thức của nhà sản xuất loại trừ dịch lời nói sang tiếng Anh khỏi nhiệm vụ Turbo đã được huấn luyện.</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\"><p>Whisper large-v3-turbo, còn gọi là Turbo, là mô hình chép lời được OpenAI tối ưu từ Whisper large-v3. Bộ giải mã được giảm từ 32 lớp xuống bốn, còn bộ mã hóa vẫn có 32 lớp. Mô hình được phát hành có khoảng 809 triệu tham số. Mục đích của nhà sản xuất là nhận dạng lời nói nhanh hơn với đánh đổi nhỏ về độ chính xác, không phải chế độ tạo âm thanh khác. Lời nói được ghi âm là đầu vào và văn bản nhận dạng là kết quả.</p><p>Thông báo phát hành phân biệt cách chuẩn bị Turbo với một mô hình Whisper được chưng cất riêng: Turbo được tinh chỉnh thêm hai vòng huấn luyện trên dữ liệu chép lời đa ngôn ngữ, không gồm dữ liệu dịch. Sự khác biệt này quan trọng trong vận hành. Kho mã của OpenAI nêu Turbo không được huấn luyện để dịch lời nói không phải tiếng Anh sang tiếng Anh và có thể trả về ngôn ngữ gốc ngay cả khi được yêu cầu thực hiện tác vụ dịch. Dùng phiên bản này cho bản chép lời cùng ngôn ngữ; yêu cầu dịch thuộc mô hình phù hợp khác hoặc bước riêng sau chép lời.</p><p>Nhận diện ngôn ngữ nguồn và chọn ngôn ngữ rõ ràng vẫn là lựa chọn chép lời hữu ích. Nếu đã biết ngôn ngữ ghi âm, nêu trong bản giao việc; nếu chưa, quy trình được công bố có thể nhận diện. Giữ tên, số lượng và từ đã được nói trước khi yêu cầu chỉnh sửa biên tập. Biên bản cuộc họp, bản chép phỏng vấn hoặc văn bản bài giảng sau đó có thể được tìm kiếm, chú giải hoặc tóm tắt ở thao tác tiếp theo. Không nên nhầm nhiệm vụ nhận dạng của Turbo với tổng hợp giọng nói, bắt chước giọng hoặc đánh giá ngữ nghĩa về người trong bản ghi.</p><p>Bộ đọc âm thanh của OpenAI giải mã tệp đầu vào thành mẫu đơn âm ở 16 kHz, và mô hình dùng cửa sổ âm học 30 giây với 128 dải tần Mel. Bản ghi dài hơn cần suy luận âm thanh dài. Xử lý tuần tự đi qua các cửa sổ theo thứ tự; cách chia đoạn chép các phần chồng lấn và nối ranh giới của chúng. Thẻ mô hình giới thiệu cách sau hữu ích khi xử lý một tệp dài và ưu tiên chính là thời gian trả kết quả, còn xử lý tuần tự là phương án hướng đến độ chính xác. Cả cửa sổ lẫn tên mô hình đều không xác lập kích thước tệp tải lên tối đa cố định cho dịch vụ lưu trữ mô hình.</p><p>Cấu hình Turbo chính xác liệt kê 448 vị trí giải mã cho một chuỗi giải mã. Quy trình suy luận được công bố có thể kèm thời gian đoạn hoặc từ cùng bản chép lời; thông tin thời gian hỗ trợ điều hướng và định dạng phụ đề về sau. Điều đó không tự thêm định dạng tệp phụ đề hoặc nhãn người nói đáng tin cậy. Nêu cần bản chép lời thuần hay đoạn có thời gian, đồng thời giữ bản ghi gốc để kiểm tra đoạn còn tranh cãi. Xử lý âm thanh dài và mọi định dạng cuối là các phần tách biệt với định danh bản chụp mô hình.</p><p>Turbo giảm công việc giải mã, nhưng thời gian thực tế phụ thuộc phần cứng, độ dài bản ghi, ngôn ngữ, tốc độ nói và lựa chọn suy luận. Nhà sản xuất lưu ý chất lượng giảm nhiều hơn với một số ngôn ngữ, gồm tiếng Thái và tiếng Quảng Đông, thay vì hành vi đồng nhất ở mọi nơi. So sánh đoạn đại diện bằng ngôn ngữ dự kiến trước khi xem đánh đổi hướng đến tốc độ là phù hợp với mọi tài liệu. Với nhiệm vụ xử lý kho lưu trữ, đưa từ vựng khó, khoảng dừng và đoạn nhiễu hoặc lời nói chồng lấn vào mẫu xem xét, không chỉ câu mở đầu rõ ràng.</p><p>Thẻ được công bố giữ các hạn chế nhận dạng đáng kể của Whisper: văn bản dự đoán có thể gồm từ không được nói, và văn bản lặp lại có thể xuất hiện. Kết quả thay đổi theo ngôn ngữ, giọng và phương ngữ, đặc biệt nơi dữ liệu huấn luyện có độ bao phủ hạn chế. Thẻ không xác lập phân đoạn theo người nói hoặc phân loại người nói ở mô hình nền là khả năng tiêu chuẩn vững chắc. Xem xét thực tế tập trung vào độ trung thành với nguồn: tên và số quan trọng, lời nói bị bỏ sót, văn bản bất ngờ khi im lặng và đoạn lặp. Bản chép lời đọc được vẫn là kết quả để đối chiếu với bản ghi, không phải bảo đảm nhận dạng chính xác.</p><p>Sản phẩm hoàn chỉnh hữu ích là bản chép lời bằng ngôn ngữ nguồn kèm thời gian nếu được yêu cầu và liên kết rõ với bản ghi. Giữ bản nhận dạng tách biệt với bản đã biên tập để xuất bản nhằm truy vết thay đổi. Giữ tên large-v3-turbo khi so sánh phiên bản: đây không phải mô hình large-v3 đầy đủ và không nên âm thầm kế thừa nhiệm vụ dịch sang tiếng Anh của large-v3. Định danh trọng số mở này cũng không mang theo giới hạn tải lên, định dạng phản hồi hoặc cam kết truyền luồng trực tiếp của dịch vụ whisper-1 được lưu trữ. Chọn Turbo khi đánh đổi chép lời được công bố phù hợp với tài liệu thực tế và thời gian trả kết quả mong muốn.</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 Ultra · Phiên âm</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></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><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>openai/whisper-large-v3-turbo</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>object</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></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=\"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>content_type</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>application/json</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>model, input_audio</td></tr><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>material_conditions</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>Ví dụ đọc tệp PCM WAV thực tế, không rỗng của bạn, mã hóa toàn bộ byte của tệp thành base64 và gửi input_audio.format với giá trị wav.</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> · task_id chính xác từ bản ghi đa phương tiện hiện có thuộc quyền sở hữu</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Bảng giá</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.</p><dl data-price-conditions><dt>Chế độ nhanh</dt><dd>Chưa chỉ định <span class=\"note-s\">Khi chọn chế độ nhanh</span></dd><dt>Chế độ Flex</dt><dd>Chưa chỉ định <span class=\"note-s\">Khi chọn chế độ flex</span></dd><dt>Mức độ suy luận tối đa</dt><dd>Chưa chỉ định <span class=\"note-s\">Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa</span></dd></dl></div><div data-declared-tariff-pricing><h4>Mức phí Ailoot</h4><h4>Giá theo cấu hình</h4><p class=\"note-s\">Đối chiếu từng khoản phí với điều kiện hiển thị. Dùng một mức phí cho mỗi nhóm cấu hình thay thế.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Cấu hình</th><th>Biểu mức phí</th><th>Đơn vị tính phí</th><th>Phí</th></tr></thead><tbody><tr><th data-cell-label=\"Cấu hình\" scope=\"row\"><span class=\"card-cell-label\">Cấu hình</span>Giá cơ sở cho token</th><td data-cell-label=\"Biểu mức phí\"><span class=\"card-cell-label\">Biểu mức phí</span>Mức phí cơ bản</td><td data-cell-label=\"Đơn vị tính phí\"><span class=\"card-cell-label\">Đơn vị tính phí</span>—</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu vào · Token đầu vào</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu ra · Token đầu ra</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Đọc bộ nhớ đệm</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Ghi bộ nhớ đệm</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Ghi bộ nhớ đệm, 1 giờ</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Cấu hình\" scope=\"row\"><span class=\"card-cell-label\">Cấu hình</span>Giây âm thanh đầu vào</th><td data-cell-label=\"Biểu mức phí\"><span class=\"card-cell-label\">Biểu mức phí</span>—</td><td data-cell-label=\"Đơn vị tính phí\"><span class=\"card-cell-label\">Đơn vị tính phí</span>mỗi giây âm thanh đầu vào</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu vào · Giây âm thanh đầu vào</span> <b>$0.00000666</b> <span class=\"price-unit\">mỗi giây âm thanh đầu vào</span></div></td></tr></tbody></table></div></div><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 Ultra · Phiên âm</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-2186-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2186-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · tệp WAV thực tế và kết quả gốc đầy đủ</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-2186-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2186-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4] == b&#39;RIFF&#39; and audio[8:12] == b&#39;WAVE&#39;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;openai/whisper-large-v3-turbo&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#39;}}\nPath(&#39;request.json&#39;).write_text(json.dumps(request, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\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 Ultra · Phiên âm</h4><p class=\"note-s\">Toàn bộ nội dung phản hồi gốc, trạng thái và các tiêu đề được chuyển tiếp. Trình xử lý này không bổ sung cấu trúc JSON chung, trường văn bản hoặc cấu trúc bao tác vụ.</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ộ phản hồi và các header, mọi đầu ra thực tế, các định danh gốc đã trả về và mọi trường usage. Khôi phục thao tác gốc mà không gửi lại yêu cầu tạo.</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 X-Client-Request-ID thực tế và toàn bộ phản hồi. Đọc các tài sản gốc thuộc quyền sở hữu và URL nội dung đã ký chính xác của chúng; tuyệt đối không gửi lại yêu cầu tạo chưa rõ kết quả.</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 (when present)</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span></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 (when present)</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span></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>Nội dung JSON hoặc ID mô hình chuẩn được chỉ định rõ 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>Giữ lại phản hồi và sửa trường yêu cầu được chỉ ra.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Khóa API Ailoot 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>Dùng khóa API Ailoot được cấp phép của bạn.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>403 · <code>permission_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Nhóm của khóa không được phép sử dụng phương thức này.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Giữ lại chi tiết lỗi được trả về.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Phương thức đã chọn chưa có tuyến được phép sử dụng.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Giữ lại chi tiết lỗi được trả về.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Biểu giá đã chấp nhận không thể xác định số lượng đầu vào hoặc giới hạn cần thiết.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Giữ lại phản hồi; dùng biểu diễn đầu vào mà biểu giá đã chấp nhận yêu cầu.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>503 · <code></code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Kho lưu trữ, tuyến, giá phương thức hoặc khoản tiền giữ trước cần thiết không khả dụng.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Giữ lại toàn bộ phản hồi ban đầu. Khoản giữ trước chưa rõ trạng thái không cho phép gửi lại.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>502 · <code>server_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Kết quả, mức sử dụng hoặc quyết toán ban đầu 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 yêu cầu thực tế và phản hồi ban đầu. Đọc bản ghi hiện có thuộc quyền sở hữu; 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=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=openai%2Fwhisper-large-v3-turbo&amp;route=Ultra&amp;caller=openai%2Fwhisper-large-v3-turbo&amp;fmt=transcriptions\"><code>openai/whisper-large-v3-turbo</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=openai%2Fwhisper-large-v3-turbo&amp;route=Ultra&amp;caller=openai%2Fwhisper-large-v3-turbo&amp;fmt=transcriptions\"><code>openai/whisper-large-v3-turbo</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/whisper-large-v3-turbo",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "openai/whisper-large-v3-turbo",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fwhisper-large-v3-turbo",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Nội dung JSON hoặc ID mô hình chuẩn được chỉ định rõ không hợp lệ.",
                "http_status": 400,
                "recovery": "Giữ lại phản hồi và sửa trường yêu cầu được chỉ ra.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Khóa API Ailoot không hợp lệ.",
                "http_status": 401,
                "recovery": "Dùng khóa API Ailoot được cấp phép của bạn.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Nhóm của khóa không được phép sử dụng phương thức này.",
                "http_status": 403,
                "recovery": "Giữ lại chi tiết lỗi được trả về.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Phương thức đã chọn chưa có tuyến được phép sử dụng.",
                "http_status": 404,
                "recovery": "Giữ lại chi tiết lỗi được trả về.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Biểu giá đã chấp nhận không thể xác định số lượng đầu vào hoặc giới hạn cần thiết.",
                "http_status": 422,
                "recovery": "Giữ lại phản hồi; dùng biểu diễn đầu vào mà biểu giá đã chấp nhận yêu cầu.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Kho lưu trữ, tuyến, giá phương thức hoặc khoản tiền giữ trước cần thiết không khả dụng.",
                "http_status": 503,
                "recovery": "Giữ lại toàn bộ phản hồi ban đầu. Khoản giữ trước chưa rõ trạng thái không cho phép gửi lại.",
                "type": null
              },
              {
                "code": null,
                "condition": "Kết quả, mức sử dụng hoặc quyết toán ban đầu cần được kiểm tra.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Giữ lại ID yêu cầu thực tế và phản hồi ban đầu. Đọc bản ghi hiện có thuộc quyền sở hữu; không gửi lại yêu cầu tạo.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "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 content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Giữ lại X-Client-Request-ID thực tế và toàn bộ phản hồi. Đọc các tài sản gốc thuộc quyền sở hữu và URL nội dung đã ký chính xác của chúng; tuyệt đối không gửi lại yêu cầu tạo chưa rõ kết quả."
            },
            "outputs": {
              "all_results": "Giữ lại toàn bộ phản hồi và các header, mọi đầu ra thực tế, các định danh gốc đã trả về và mọi trường usage. Khôi phục thao tác gốc mà không gửi lại yêu cầu tạo.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Toàn bộ nội dung phản hồi gốc, trạng thái và các tiêu đề được chuyển tiếp. Trình xử lý này không bổ sung cấu trúc JSON chung, trường văn bản hoặc cấu trúc bao tác vụ."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "openai/whisper-large-v3-turbo"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "openai/whisper-large-v3-turbo"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "openai/whisper-large-v3-turbo"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Ví dụ đọc tệp PCM WAV thực tế, không rỗng của bạn, mã hóa toàn bộ byte của tệp thành base64 và gửi input_audio.format với giá trị wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "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 content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id chính xác từ bản ghi đa phương tiện hiện có thuộc quyền sở hữu",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00000666",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00000666",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'openai/whisper-large-v3-turbo', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Phiên âm",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 6.66e-06
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00000666",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00000666",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "openai/whisper-large-v3-turbo",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00000666",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.00000666",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "openai/whisper-large-v3-turbo",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "c53a23bd004e5b563139216bb70aa84cf2796e16c6515061d6f63fcea0d7bfbc",
    "input_html_sha256": "3a46ac0ee665e1f7786658ed71f157b9036af20064436b7289fd90735b0a04ff",
    "private_audit_sha256": "04bb7dc2ea707ccb179c422ee4537097d70f9da0bd415ac0678883d1b18dad3b",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/vi/openai-whisper-large-v3-turbo/",
    "description": "Whisper large-v3-turbo là phiên bản chép lời có trọng số mở, nhanh hơn của OpenAI, phát triển từ large-v3, với bốn lớp giải mã và 809 triệu tham số. Mô hình hướng đến chuyển lời nói đa ngôn ngữ thành văn bản; tài liệu chính thức của nhà sản xuất loại trừ dịch lời nói sang tiếng Anh khỏi nhiệm vụ Turbo đã được huấn luyện.",
    "locale": "vi",
    "md_url": "https://ailoot.ai/models/vi/openai-whisper-large-v3-turbo/index.md",
    "title": "OpenAI: Whisper Large V3 Turbo — Ailoot",
    "url": "https://ailoot.ai/models/vi/openai-whisper-large-v3-turbo/"
  },
  "rawModel": {
    "about": "Whisper large-v3-turbo, còn gọi là Turbo, là mô hình chép lời được OpenAI tối ưu từ Whisper large-v3. Bộ giải mã được giảm từ 32 lớp xuống bốn, còn bộ mã hóa vẫn có 32 lớp. Mô hình được phát hành có khoảng 809 triệu tham số. Mục đích của nhà sản xuất là nhận dạng lời nói nhanh hơn với đánh đổi nhỏ về độ chính xác, không phải chế độ tạo âm thanh khác. Lời nói được ghi âm là đầu vào và văn bản nhận dạng là kết quả.\n\nThông báo phát hành phân biệt cách chuẩn bị Turbo với một mô hình Whisper được chưng cất riêng: Turbo được tinh chỉnh thêm hai vòng huấn luyện trên dữ liệu chép lời đa ngôn ngữ, không gồm dữ liệu dịch. Sự khác biệt này quan trọng trong vận hành. Kho mã của OpenAI nêu Turbo không được huấn luyện để dịch lời nói không phải tiếng Anh sang tiếng Anh và có thể trả về ngôn ngữ gốc ngay cả khi được yêu cầu thực hiện tác vụ dịch. Dùng phiên bản này cho bản chép lời cùng ngôn ngữ; yêu cầu dịch thuộc mô hình phù hợp khác hoặc bước riêng sau chép lời.\n\nNhận diện ngôn ngữ nguồn và chọn ngôn ngữ rõ ràng vẫn là lựa chọn chép lời hữu ích. Nếu đã biết ngôn ngữ ghi âm, nêu trong bản giao việc; nếu chưa, quy trình được công bố có thể nhận diện. Giữ tên, số lượng và từ đã được nói trước khi yêu cầu chỉnh sửa biên tập. Biên bản cuộc họp, bản chép phỏng vấn hoặc văn bản bài giảng sau đó có thể được tìm kiếm, chú giải hoặc tóm tắt ở thao tác tiếp theo. Không nên nhầm nhiệm vụ nhận dạng của Turbo với tổng hợp giọng nói, bắt chước giọng hoặc đánh giá ngữ nghĩa về người trong bản ghi.\n\nBộ đọc âm thanh của OpenAI giải mã tệp đầu vào thành mẫu đơn âm ở 16 kHz, và mô hình dùng cửa sổ âm học 30 giây với 128 dải tần Mel. Bản ghi dài hơn cần suy luận âm thanh dài. Xử lý tuần tự đi qua các cửa sổ theo thứ tự; cách chia đoạn chép các phần chồng lấn và nối ranh giới của chúng. Thẻ mô hình giới thiệu cách sau hữu ích khi xử lý một tệp dài và ưu tiên chính là thời gian trả kết quả, còn xử lý tuần tự là phương án hướng đến độ chính xác. Cả cửa sổ lẫn tên mô hình đều không xác lập kích thước tệp tải lên tối đa cố định cho dịch vụ lưu trữ mô hình.\n\nCấu hình Turbo chính xác liệt kê 448 vị trí giải mã cho một chuỗi giải mã. Quy trình suy luận được công bố có thể kèm thời gian đoạn hoặc từ cùng bản chép lời; thông tin thời gian hỗ trợ điều hướng và định dạng phụ đề về sau. Điều đó không tự thêm định dạng tệp phụ đề hoặc nhãn người nói đáng tin cậy. Nêu cần bản chép lời thuần hay đoạn có thời gian, đồng thời giữ bản ghi gốc để kiểm tra đoạn còn tranh cãi. Xử lý âm thanh dài và mọi định dạng cuối là các phần tách biệt với định danh bản chụp mô hình.\n\nTurbo giảm công việc giải mã, nhưng thời gian thực tế phụ thuộc phần cứng, độ dài bản ghi, ngôn ngữ, tốc độ nói và lựa chọn suy luận. Nhà sản xuất lưu ý chất lượng giảm nhiều hơn với một số ngôn ngữ, gồm tiếng Thái và tiếng Quảng Đông, thay vì hành vi đồng nhất ở mọi nơi. So sánh đoạn đại diện bằng ngôn ngữ dự kiến trước khi xem đánh đổi hướng đến tốc độ là phù hợp với mọi tài liệu. Với nhiệm vụ xử lý kho lưu trữ, đưa từ vựng khó, khoảng dừng và đoạn nhiễu hoặc lời nói chồng lấn vào mẫu xem xét, không chỉ câu mở đầu rõ ràng.\n\nThẻ được công bố giữ các hạn chế nhận dạng đáng kể của Whisper: văn bản dự đoán có thể gồm từ không được nói, và văn bản lặp lại có thể xuất hiện. Kết quả thay đổi theo ngôn ngữ, giọng và phương ngữ, đặc biệt nơi dữ liệu huấn luyện có độ bao phủ hạn chế. Thẻ không xác lập phân đoạn theo người nói hoặc phân loại người nói ở mô hình nền là khả năng tiêu chuẩn vững chắc. Xem xét thực tế tập trung vào độ trung thành với nguồn: tên và số quan trọng, lời nói bị bỏ sót, văn bản bất ngờ khi im lặng và đoạn lặp. Bản chép lời đọc được vẫn là kết quả để đối chiếu với bản ghi, không phải bảo đảm nhận dạng chính xác.\n\nSản phẩm hoàn chỉnh hữu ích là bản chép lời bằng ngôn ngữ nguồn kèm thời gian nếu được yêu cầu và liên kết rõ với bản ghi. Giữ bản nhận dạng tách biệt với bản đã biên tập để xuất bản nhằm truy vết thay đổi. Giữ tên large-v3-turbo khi so sánh phiên bản: đây không phải mô hình large-v3 đầy đủ và không nên âm thầm kế thừa nhiệm vụ dịch sang tiếng Anh của large-v3. Định danh trọng số mở này cũng không mang theo giới hạn tải lên, định dạng phản hồi hoặc cam kết truyền luồng trực tiếp của dịch vụ whisper-1 được lưu trữ. Chọn Turbo khi đánh đổi chép lời được công bố phù hợp với tài liệu thực tế và thời gian trả kết quả mong muốn.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00000666",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.00000666",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "Giá theo cấu hình được trình bày đầy đủ trong phần chi tiết."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "openai/whisper-large-v3-turbo",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Nội dung JSON hoặc ID mô hình chuẩn được chỉ định rõ không hợp lệ.",
                "http_status": 400,
                "recovery": "Giữ lại phản hồi và sửa trường yêu cầu được chỉ ra.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Khóa API Ailoot không hợp lệ.",
                "http_status": 401,
                "recovery": "Dùng khóa API Ailoot được cấp phép của bạn.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Nhóm của khóa không được phép sử dụng phương thức này.",
                "http_status": 403,
                "recovery": "Giữ lại chi tiết lỗi được trả về.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Phương thức đã chọn chưa có tuyến được phép sử dụng.",
                "http_status": 404,
                "recovery": "Giữ lại chi tiết lỗi được trả về.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Biểu giá đã chấp nhận không thể xác định số lượng đầu vào hoặc giới hạn cần thiết.",
                "http_status": 422,
                "recovery": "Giữ lại phản hồi; dùng biểu diễn đầu vào mà biểu giá đã chấp nhận yêu cầu.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Kho lưu trữ, tuyến, giá phương thức hoặc khoản tiền giữ trước cần thiết không khả dụng.",
                "http_status": 503,
                "recovery": "Giữ lại toàn bộ phản hồi ban đầu. Khoản giữ trước chưa rõ trạng thái không cho phép gửi lại.",
                "type": null
              },
              {
                "code": null,
                "condition": "Kết quả, mức sử dụng hoặc quyết toán ban đầu cần được kiểm tra.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Giữ lại ID yêu cầu thực tế và phản hồi ban đầu. Đọc bản ghi hiện có thuộc quyền sở hữu; không gửi lại yêu cầu tạo.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "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 content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Giữ lại X-Client-Request-ID thực tế và toàn bộ phản hồi. Đọc các tài sản gốc thuộc quyền sở hữu và URL nội dung đã ký chính xác của chúng; tuyệt đối không gửi lại yêu cầu tạo chưa rõ kết quả."
            },
            "outputs": {
              "all_results": "Giữ lại toàn bộ phản hồi và các header, mọi đầu ra thực tế, các định danh gốc đã trả về và mọi trường usage. Khôi phục thao tác gốc mà không gửi lại yêu cầu tạo.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Toàn bộ nội dung phản hồi gốc, trạng thái và các tiêu đề được chuyển tiếp. Trình xử lý này không bổ sung cấu trúc JSON chung, trường văn bản hoặc cấu trúc bao tác vụ."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "openai/whisper-large-v3-turbo"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "openai/whisper-large-v3-turbo"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "openai/whisper-large-v3-turbo"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Ví dụ đọc tệp PCM WAV thực tế, không rỗng của bạn, mã hóa toàn bộ byte của tệp thành base64 và gửi input_audio.format với giá trị wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "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 content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id chính xác từ bản ghi đa phương tiện hiện có thuộc quyền sở hữu",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00000666",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00000666",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'openai/whisper-large-v3-turbo', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Phiên âm",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 6.66e-06
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00000666",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00000666",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "openai/whisper-large-v3-turbo",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00000666",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.00000666",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "openai/whisper-large-v3-turbo",
        "request_model_id": "openai/whisper-large-v3-turbo",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: Whisper Large V3 Turbo",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Whisper large-v3-turbo là phiên bản chép lời có trọng số mở, nhanh hơn của OpenAI, phát triển từ large-v3, với bốn lớp giải mã và 809 triệu tham số. Mô hình hướng đến chuyển lời nói đa ngôn ngữ thành văn bản; tài liệu chính thức của nhà sản xuất loại trừ dịch lời nói sang tiếng Anh khỏi nhiệm vụ Turbo đã được huấn luyện."
  },
  "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": "Whisper large-v3-turbo là phiên bản chép lời có trọng số mở, nhanh hơn của OpenAI, phát triển từ large-v3, với bốn lớp giải mã và 809 triệu tham số. Mô hình hướng đến chuyển lời nói đa ngôn ngữ thành văn bản; tài liệu chính thức của nhà sản xuất loại trừ dịch lời nói sang tiếng Anh khỏi nhiệm vụ Turbo đã được huấn luyện.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "770c4d9db6989f09170f5c29605bd49565536b0f0dc163fa4fe5549f4b6801aa",
    "renderer_sha256": "64a62299639eb843877e9ec5c95e32bf22bac3acfe230f6f502c5c3aa186f9c1"
  },
  "sourceRevision": "29a8aaecf111455afdacff5f8390a13359a9b4e73155d28bbd81e29014897921"
}
