{
  "aboutHtml": "<p>Whisper large-v3 là checkpoint nhận dạng giọng nói do OpenAI phát hành, có khoảng 1,55 tỷ tham số. Đây là mô hình mã hóa–giải mã đa ngôn ngữ: âm thanh đi vào bộ mã hóa và bộ giải mã dự đoán văn bản cùng token liên quan đến nhiệm vụ. Các nhiệm vụ chính là chép lời bằng ngôn ngữ nguồn và dịch giọng nói sang tiếng Anh. Đây là định danh mô hình có trọng số mở, tách biệt với mã định danh mô hình của dịch vụ do nhà cung cấp vận hành hoặc quy tắc tải lên, định dạng phản hồi của dịch vụ đó.</p><p>Large-v3 giữ kiến trúc của các checkpoint Whisper large trước đó với hai thay đổi được nêu: đầu vào phổ âm dùng 128 dải tần Mel thay vì 80 và bổ sung token ngôn ngữ Quảng Đông. Thẻ mô hình của nhà sản xuất mô tả quá trình huấn luyện trên một triệu giờ âm thanh gán nhãn yếu và bốn triệu giờ âm thanh gán nhãn giả được chuẩn bị bằng Whisper large-v2. Hỗn hợp này được dùng trong hai vòng huấn luyện. Bản phát hành là checkpoint large-v3 cụ thể, không phải tên chung cho mọi mô hình thuộc họ Whisper.</p><p>Quy trình suy luận được công bố mặc định thực hiện chép lời, giữ ngôn ngữ được nói trong bản ghi. Quy trình có thể tự phát hiện ngôn ngữ nguồn hoặc nhận lựa chọn ngôn ngữ đã biết. Để dịch, mô hình large đa ngôn ngữ cung cấp kết quả văn bản tiếng Anh từ lời nói không phải tiếng Anh. Chọn rõ nhiệm vụ đó: bản chép lời cùng ngôn ngữ và bản dịch tiếng Anh là các sản phẩm khác nhau. Với phỏng vấn, giữ câu chữ ngôn ngữ gốc; với tài liệu tham khảo tiếng Anh, chỉ rõ kết quả mong muốn là bản dịch nội dung được nói.</p><p>Chuẩn bị âm thanh là một phần của đường đầu vào. Bộ tải của OpenAI giải mã bản ghi thành dạng sóng mono và lấy mẫu lại ở 16 kHz. Trường tiếp nhận âm học của mô hình là 30 giây. Đây là cửa sổ xử lý, không phải độ dài tối đa của cả cuộc phỏng vấn hoặc bài giảng. Suy luận nội dung dài có thể tiến tuần tự qua cửa sổ trượt, hoặc chia bản ghi dài thành các đoạn chồng lấn rồi nối bản chép lời. Thẻ mô hình của nhà sản xuất mô tả xử lý tuần tự khi ưu tiên độ chính xác và xử lý theo đoạn khi thời gian hoàn thành một bản ghi dài quan trọng hơn.</p><p>Cấu hình được phát hành liệt kê 448 vị trí bộ giải mã cho một chuỗi giải mã riêng lẻ. Bản ghi dài hơn được xử lý bằng quy trình nội dung dài thay vì coi con số đó là giới hạn chung cho bản chép lời. Quy trình được công bố có thể trả về mốc thời gian cấp đoạn hoặc cấp từ cùng văn bản nhận dạng. Các đầu ra thời gian đó hữu ích cho việc tìm vị trí trong bản ghi và chuẩn bị phụ đề, còn bộ chứa phụ đề cuối cùng hoặc định dạng tệp chép lời là lựa chọn định dạng đầu ra riêng. Giữ thời gian của bản ghi khi chuẩn bị âm thanh nếu bản chép lời sẽ được căn chỉnh với tài liệu gốc.</p><p>Vai trò dự kiến của Whisper là nhận dạng và dịch giọng nói. Bản chép bài giảng, biên bản phỏng vấn hoặc bộ sưu tập nội dung lời nói có thể tìm kiếm là đầu ra thực tế; tóm tắt hoặc diễn giải có thể tiếp nối bằng bước khác trên văn bản. Thẻ mô hình không xác lập phân loại người nói hay phân đoạn theo người nói tự động có độ tin cậy cao là đầu ra tiêu chuẩn của checkpoint cơ sở. Nếu nhiệm vụ cần nhãn người nói, yêu cầu đó phải được xử lý riêng với việc khẳng định bản chép lời chính xác. Yêu cầu hữu ích nêu ngôn ngữ nguồn, cần chép lời hay dịch sang tiếng Anh, và có cần thông tin thời gian hay không.</p><p>Các hạn chế đáng kể gồm văn bản bịa ra chưa từng được nói và văn bản lặp lại, liên quan đến huấn luyện giám sát yếu trên dữ liệu nhiễu và thiết kế chuỗi sang chuỗi. Chất lượng nhận dạng thay đổi giữa các ngôn ngữ, chất giọng vùng miền và phương ngữ, với kết quả kém hơn nơi có ít tài liệu huấn luyện hơn. Vì vậy, mẫu dùng để đánh giá mức phù hợp nên có tiếng ồn, từ vựng chuyên môn và lời nói chồng lấn. Đối chiếu tên riêng, số lượng và phát biểu quan trọng với bản ghi, đồng thời kiểm tra đoạn không có lời nói hoặc câu lặp lại thay vì coi bản chép lời trôi chảy là bằng chứng mọi từ đều đã được nghe.</p><p>Kết quả hoàn chỉnh giữ văn bản nhận dạng, ngôn ngữ và mọi thông tin thời gian được yêu cầu, cùng tham chiếu đến bản ghi gốc. Tách chép lời khỏi chỉnh sửa sau đó: bản chép để xuất bản đã sửa có thể bỏ từ đệm, còn bản chép nhận dạng giữ những gì mô hình thực sự trả về. Định danh và khả năng dịch của large-v3 cũng cần tách biệt với phiên bản Turbo nhanh hơn. Tốc độ xử lý thực tế phụ thuộc vào ngôn ngữ, tốc độ nói, phần cứng và phương pháp suy luận; chỉ từ tên checkpoint không thể suy ra độ trễ dịch vụ, kích thước tải lên tối đa hoặc tuyến ứng dụng đã bật cụ thể nào.</p>",
  "aboutText": "Whisper large-v3 là checkpoint nhận dạng giọng nói do OpenAI phát hành, có khoảng 1,55 tỷ tham số. Đây là mô hình mã hóa–giải mã đa ngôn ngữ: âm thanh đi vào bộ mã hóa và bộ giải mã dự đoán văn bản cùng token liên quan đến nhiệm vụ. Các nhiệm vụ chính là chép lời bằng ngôn ngữ nguồn và dịch giọng nói sang tiếng Anh. Đây là định danh mô hình có trọng số mở, tách biệt với mã định danh mô hình của dịch vụ do nhà cung cấp vận hành hoặc quy tắc tải lên, định dạng phản hồi của dịch vụ đó.\n\nLarge-v3 giữ kiến trúc của các checkpoint Whisper large trước đó với hai thay đổi được nêu: đầu vào phổ âm dùng 128 dải tần Mel thay vì 80 và bổ sung token ngôn ngữ Quảng Đông. Thẻ mô hình của nhà sản xuất mô tả quá trình huấn luyện trên một triệu giờ âm thanh gán nhãn yếu và bốn triệu giờ âm thanh gán nhãn giả được chuẩn bị bằng Whisper large-v2. Hỗn hợp này được dùng trong hai vòng huấn luyện. Bản phát hành là checkpoint large-v3 cụ thể, không phải tên chung cho mọi mô hình thuộc họ Whisper.\n\nQuy trình suy luận được công bố mặc định thực hiện chép lời, giữ ngôn ngữ được nói trong bản ghi. Quy trình có thể tự phát hiện ngôn ngữ nguồn hoặc nhận lựa chọn ngôn ngữ đã biết. Để dịch, mô hình large đa ngôn ngữ cung cấp kết quả văn bản tiếng Anh từ lời nói không phải tiếng Anh. Chọn rõ nhiệm vụ đó: bản chép lời cùng ngôn ngữ và bản dịch tiếng Anh là các sản phẩm khác nhau. Với phỏng vấn, giữ câu chữ ngôn ngữ gốc; với tài liệu tham khảo tiếng Anh, chỉ rõ kết quả mong muốn là bản dịch nội dung được nói.\n\nChuẩn bị âm thanh là một phần của đường đầu vào. Bộ tải của OpenAI giải mã bản ghi thành dạng sóng mono và lấy mẫu lại ở 16 kHz. Trường tiếp nhận âm học của mô hình là 30 giây. Đây là cửa sổ xử lý, không phải độ dài tối đa của cả cuộc phỏng vấn hoặc bài giảng. Suy luận nội dung dài có thể tiến tuần tự qua cửa sổ trượt, hoặc chia bản ghi dài thành các đoạn chồng lấn rồi nối bản chép lời. Thẻ mô hình của nhà sản xuất mô tả xử lý tuần tự khi ưu tiên độ chính xác và xử lý theo đoạn khi thời gian hoàn thành một bản ghi dài quan trọng hơn.\n\nCấu hình được phát hành liệt kê 448 vị trí bộ giải mã cho một chuỗi giải mã riêng lẻ. Bản ghi dài hơn được xử lý bằng quy trình nội dung dài thay vì coi con số đó là giới hạn chung cho bản chép lời. Quy trình được công bố có thể trả về mốc thời gian cấp đoạn hoặc cấp từ cùng văn bản nhận dạng. Các đầu ra thời gian đó hữu ích cho việc tìm vị trí trong bản ghi và chuẩn bị phụ đề, còn bộ chứa phụ đề cuối cùng hoặc định dạng tệp chép lời là lựa chọn định dạng đầu ra riêng. Giữ thời gian của bản ghi khi chuẩn bị âm thanh nếu bản chép lời sẽ được căn chỉnh với tài liệu gốc.\n\nVai trò dự kiến của Whisper là nhận dạng và dịch giọng nói. Bản chép bài giảng, biên bản phỏng vấn hoặc bộ sưu tập nội dung lời nói có thể tìm kiếm là đầu ra thực tế; tóm tắt hoặc diễn giải có thể tiếp nối bằng bước khác trên văn bản. Thẻ mô hình không xác lập phân loại người nói hay phân đoạn theo người nói tự động có độ tin cậy cao là đầu ra tiêu chuẩn của checkpoint cơ sở. Nếu nhiệm vụ cần nhãn người nói, yêu cầu đó phải được xử lý riêng với việc khẳng định bản chép lời chính xác. Yêu cầu hữu ích nêu ngôn ngữ nguồn, cần chép lời hay dịch sang tiếng Anh, và có cần thông tin thời gian hay không.\n\nCác hạn chế đáng kể gồm văn bản bịa ra chưa từng được nói và văn bản lặp lại, liên quan đến huấn luyện giám sát yếu trên dữ liệu nhiễu và thiết kế chuỗi sang chuỗi. Chất lượng nhận dạng thay đổi giữa các ngôn ngữ, chất giọng vùng miền và phương ngữ, với kết quả kém hơn nơi có ít tài liệu huấn luyện hơn. Vì vậy, mẫu dùng để đánh giá mức phù hợp nên có tiếng ồn, từ vựng chuyên môn và lời nói chồng lấn. Đối chiếu tên riêng, số lượng và phát biểu quan trọng với bản ghi, đồng thời kiểm tra đoạn không có lời nói hoặc câu lặp lại thay vì coi bản chép lời trôi chảy là bằng chứng mọi từ đều đã được nghe.\n\nKết quả hoàn chỉnh giữ văn bản nhận dạng, ngôn ngữ và mọi thông tin thời gian được yêu cầu, cùng tham chiếu đến bản ghi gốc. Tách chép lời khỏi chỉnh sửa sau đó: bản chép để xuất bản đã sửa có thể bỏ từ đệm, còn bản chép nhận dạng giữ những gì mô hình thực sự trả về. Định danh và khả năng dịch của large-v3 cũng cần tách biệt với phiên bản Turbo nhanh hơn. Tốc độ xử lý thực tế phụ thuộc vào ngôn ngữ, tốc độ nói, phần cứng và phương pháp suy luận; chỉ từ tên checkpoint không thể suy ra độ trễ dịch vụ, kích thước tải lên tối đa hoặc tuyến ứng dụng đã bật cụ thể nào.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "5ad2e4a0bd9746af251188d5ff11eace136db139b9f28f834e76952d53eca9a0",
    "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</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</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\">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 là checkpoint nhận dạng giọng nói đa ngôn ngữ có trọng số mở của OpenAI để chép lời và dịch giọng nói sang tiếng Anh. Mô hình chuyển lời nói đã ghi thành văn bản, với lựa chọn ngôn ngữ, mốc thời gian và xử lý nội dung dài vượt ngoài cửa sổ âm học 30 giây được công bố.</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>transcription</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 là checkpoint nhận dạng giọng nói do OpenAI phát hành, có khoảng 1,55 tỷ tham số. Đây là mô hình mã hóa–giải mã đa ngôn ngữ: âm thanh đi vào bộ mã hóa và bộ giải mã dự đoán văn bản cùng token liên quan đến nhiệm vụ. Các nhiệm vụ chính là chép lời bằng ngôn ngữ nguồn và dịch giọng nói sang tiếng Anh. Đây là định danh mô hình có trọng số mở, tách biệt với mã định danh mô hình của dịch vụ do nhà cung cấp vận hành hoặc quy tắc tải lên, định dạng phản hồi của dịch vụ đó.</p><p>Large-v3 giữ kiến trúc của các checkpoint Whisper large trước đó với hai thay đổi được nêu: đầu vào phổ âm dùng 128 dải tần Mel thay vì 80 và bổ sung token ngôn ngữ Quảng Đông. Thẻ mô hình của nhà sản xuất mô tả quá trình huấn luyện trên một triệu giờ âm thanh gán nhãn yếu và bốn triệu giờ âm thanh gán nhãn giả được chuẩn bị bằng Whisper large-v2. Hỗn hợp này được dùng trong hai vòng huấn luyện. Bản phát hành là checkpoint large-v3 cụ thể, không phải tên chung cho mọi mô hình thuộc họ Whisper.</p><p>Quy trình suy luận được công bố mặc định thực hiện chép lời, giữ ngôn ngữ được nói trong bản ghi. Quy trình có thể tự phát hiện ngôn ngữ nguồn hoặc nhận lựa chọn ngôn ngữ đã biết. Để dịch, mô hình large đa ngôn ngữ cung cấp kết quả văn bản tiếng Anh từ lời nói không phải tiếng Anh. Chọn rõ nhiệm vụ đó: bản chép lời cùng ngôn ngữ và bản dịch tiếng Anh là các sản phẩm khác nhau. Với phỏng vấn, giữ câu chữ ngôn ngữ gốc; với tài liệu tham khảo tiếng Anh, chỉ rõ kết quả mong muốn là bản dịch nội dung được nói.</p><p>Chuẩn bị âm thanh là một phần của đường đầu vào. Bộ tải của OpenAI giải mã bản ghi thành dạng sóng mono và lấy mẫu lại ở 16 kHz. Trường tiếp nhận âm học của mô hình là 30 giây. Đây là cửa sổ xử lý, không phải độ dài tối đa của cả cuộc phỏng vấn hoặc bài giảng. Suy luận nội dung dài có thể tiến tuần tự qua cửa sổ trượt, hoặc chia bản ghi dài thành các đoạn chồng lấn rồi nối bản chép lời. Thẻ mô hình của nhà sản xuất mô tả xử lý tuần tự khi ưu tiên độ chính xác và xử lý theo đoạn khi thời gian hoàn thành một bản ghi dài quan trọng hơn.</p><p>Cấu hình được phát hành liệt kê 448 vị trí bộ giải mã cho một chuỗi giải mã riêng lẻ. Bản ghi dài hơn được xử lý bằng quy trình nội dung dài thay vì coi con số đó là giới hạn chung cho bản chép lời. Quy trình được công bố có thể trả về mốc thời gian cấp đoạn hoặc cấp từ cùng văn bản nhận dạng. Các đầu ra thời gian đó hữu ích cho việc tìm vị trí trong bản ghi và chuẩn bị phụ đề, còn bộ chứa phụ đề cuối cùng hoặc định dạng tệp chép lời là lựa chọn định dạng đầu ra riêng. Giữ thời gian của bản ghi khi chuẩn bị âm thanh nếu bản chép lời sẽ được căn chỉnh với tài liệu gốc.</p><p>Vai trò dự kiến của Whisper là nhận dạng và dịch giọng nói. Bản chép bài giảng, biên bản phỏng vấn hoặc bộ sưu tập nội dung lời nói có thể tìm kiếm là đầu ra thực tế; tóm tắt hoặc diễn giải có thể tiếp nối bằng bước khác trên văn bản. Thẻ mô hình không xác lập phân loại người nói hay phân đoạn theo người nói tự động có độ tin cậy cao là đầu ra tiêu chuẩn của checkpoint cơ sở. Nếu nhiệm vụ cần nhãn người nói, yêu cầu đó phải được xử lý riêng với việc khẳng định bản chép lời chính xác. Yêu cầu hữu ích nêu ngôn ngữ nguồn, cần chép lời hay dịch sang tiếng Anh, và có cần thông tin thời gian hay không.</p><p>Các hạn chế đáng kể gồm văn bản bịa ra chưa từng được nói và văn bản lặp lại, liên quan đến huấn luyện giám sát yếu trên dữ liệu nhiễu và thiết kế chuỗi sang chuỗi. Chất lượng nhận dạng thay đổi giữa các ngôn ngữ, chất giọng vùng miền và phương ngữ, với kết quả kém hơn nơi có ít tài liệu huấn luyện hơn. Vì vậy, mẫu dùng để đánh giá mức phù hợp nên có tiếng ồn, từ vựng chuyên môn và lời nói chồng lấn. Đối chiếu tên riêng, số lượng và phát biểu quan trọng với bản ghi, đồng thời kiểm tra đoạn không có lời nói hoặc câu lặp lại thay vì coi bản chép lời trôi chảy là bằng chứng mọi từ đều đã được nghe.</p><p>Kết quả hoàn chỉnh giữ văn bản nhận dạng, ngôn ngữ và mọi thông tin thời gian được yêu cầu, cùng tham chiếu đến bản ghi gốc. Tách chép lời khỏi chỉnh sửa sau đó: bản chép để xuất bản đã sửa có thể bỏ từ đệm, còn bản chép nhận dạng giữ những gì mô hình thực sự trả về. Định danh và khả năng dịch của large-v3 cũng cần tách biệt với phiên bản Turbo nhanh hơn. Tốc độ xử lý thực tế phụ thuộc vào ngôn ngữ, tốc độ nói, phần cứng và phương pháp suy luận; chỉ từ tên checkpoint không thể suy ra độ trễ dịch vụ, kích thước tải lên tối đa hoặc tuyến ứng dụng đã bật cụ thể nào.</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 · Nhận dạng giọng nói</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>transcription</code></dd></div><div><dt>Định dạng đầu ra</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Trường</th><th>Loại</th><th>Yêu cầu</th><th>Giá trị &amp; giới hạn</th><th>Mặc định</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>openai/whisper-large-v3</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">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><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">language</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">temperature</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>number</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>Tối thiểu: 0</div><div>Tối đa: 1</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>json, verbose_json</div></td><td data-cell-label=\"Mặc định\" data-default=\"known\"><span class=\"card-cell-label\">Mặc định</span>json</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">timestamp_granularities</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>array</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">provider</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>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Tổ hợp tư liệu đầu vào</summary><p class=\"note-s\"><b>speech_to_text</b> · Bắt buộc: actual matching-format audio file</p></details><details class=\"note-s\" data-method-contract><summary>Tham số phương thức và vòng đời</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Tham số</th><th>Hợp đồng</th></tr></thead><tbody><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>content_types</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>application/json, multipart/form-data</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>JSON_audio</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>byte âm thanh thô thực tế ở dạng base64 cùng định dạng phù hợp</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>multipart_required</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>model, file</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>multipart_cap_bytes</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>26214400</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>optional_controls</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>language, temperature, response_format, timestamp_granularities, provider</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>default_response_format</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>json</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>optional_features</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>Đầu ra chi tiết, diarize/keyterms và âm thanh qua URL hoặc âm thanh nội tuyến dung lượng lớn hơn yêu cầu đúng khả năng và biểu giá của mô hình/nhà cung cấp.</td></tr></tbody></table></div><p>Vòng đời: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p><p class=\"note-s\">Dùng mô hình chính xác và các trường đầu vào theo tài liệu.</p><p class=\"note-s\">Giữ lại toàn bộ phản hồi, mọi đầu ra thực tế và các ID gốc được trả về.</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>Ultra</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.000015</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><div data-declared-reference-pricing><h4>Chi tiết giá cước tham chiếu</h4><p class=\"note-s\">Biểu tham chiếu cấp mô hình không thay đổi việc chọn phương thức, báo giá hoặc khoản phí. Khoản phí đang áp dụng dùng mức phí phương thức Ailoot đã chọn.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>OpenAI: Whisper Large V3</summary><h4>Giá theo cấu hình</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Cấu hình</th><th>Điều kiện 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>OpenAI: Whisper Large V3 · Cấu hình mặc định</th><td data-cell-label=\"Điều kiện tính phí\"><span class=\"card-cell-label\">Điều kiện tính phí</span>Cấu hình mặc định</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,000015 US$</b> <span class=\"price-unit\">mỗi giây âm thanh đầu vào</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Ví dụ yêu cầu</h3><h4>Ailoot Ultra · Nhận dạng giọng nói</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-2185-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2185-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · nội dung yêu cầu nguyên bản chính xác và kết quả đầ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-2185-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2185-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 WAV recording}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nimport base64\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;): raise SystemExit(&#39;Supply an actual WAV audio file&#39;)\nif len(audio)&gt;26214400: raise SystemExit(&#39;Use a documented supported large-file flow&#39;)\nrequest={&#39;model&#39;: &#39;openai/whisper-large-v3&#39;, &#39;input_audio&#39;: {&#39;data&#39;: &#39;${BASE64_ACTUAL_WAV_BYTES}&#39;, &#39;format&#39;: &#39;wav&#39;}}\nrequest[&#39;input_audio&#39;][&#39;data&#39;]=base64.b64encode(audio).decode(&#39;ascii&#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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\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 · Nhận dạng giọng nói</h4><p class=\"note-s\">json</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>Lưu tất cả kết quả đã hoàn tất</h5><p class=\"note-s\">Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.</p><p class=\"note-s\">Toàn bộ JSON gốc, mọi văn bản/đoạn/từ/người nói/dấu thời gian và mức sử dụng hiện có.</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ữ nguyên operation_id/X-Client-Request-ID và phản hồi ban đầu. Đọc các bản ghi tác vụ/tài sản thực tế thuộc quyền sở hữu mà không gửi lại; không dựng URL thăm dò âm thanh riêng.</p></div><details class=\"card-about\" data-output-fields><summary>Trường phản hồi</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Trường</th><th>Loại</th></tr></thead><tbody><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">text</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>string</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>object</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">segments[]</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>object</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">words[]</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>object</td></tr></tbody></table></div></details></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&amp;route=Ultra&amp;caller=openai%2Fwhisper-large-v3&amp;fmt=transcriptions\"><code>openai/whisper-large-v3</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&amp;route=Ultra&amp;caller=openai%2Fwhisper-large-v3&amp;fmt=transcriptions\"><code>openai/whisper-large-v3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/whisper-large-v3",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "openai/whisper-large-v3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fwhisper-large-v3",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Giữ nguyên operation_id/X-Client-Request-ID và phản hồi ban đầu. Đọc các bản ghi tác vụ/tài sản thực tế thuộc quyền sở hữu mà không gửi lại; không dựng URL thăm dò âm thanh riêng."
            },
            "material_combinations": [
              {
                "content_types": [
                  "application/json",
                  "multipart/form-data"
                ],
                "mode": "speech_to_text",
                "required": [
                  "actual matching-format audio file"
                ]
              }
            ],
            "outputs": {
              "all_results": "Toàn bộ JSON gốc, mọi văn bản/đoạn/từ/người nói/dấu thời gian và mức sử dụng hiện có.",
              "family": "transcription",
              "fields": [
                {
                  "name": "text",
                  "type": "string"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "segments[]",
                  "optional": true,
                  "type": "object"
                },
                {
                  "name": "words[]",
                  "optional": true,
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "enum": [
                  "openai/whisper-large-v3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "data_encoding": "base64 raw actual audio bytes, not data URI",
                "fields": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "ISO-639-1 code; omitted means auto-detection",
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "retained_official_STTRequest",
                "default": "json",
                "default_known": true,
                "description": "verbose_json requires exact model/provider support",
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Only used with supported verbose_json",
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "enum": [
                        "wav",
                        "mp3",
                        "flac",
                        "m4a",
                        "ogg",
                        "webm",
                        "aac"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "language": {
                  "description": "ISO-639-1 code; omitted means auto-detection",
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "openai/whisper-large-v3"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "json",
                  "description": "verbose_json requires exact model/provider support",
                  "enum": [
                    "json",
                    "verbose_json"
                  ],
                  "type": "string"
                },
                "temperature": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "timestamp_granularities": {
                  "description": "Only used with supported verbose_json",
                  "items": {
                    "enum": [
                      "segment",
                      "word"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "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"
              },
              "content_type": "application/json"
            }
          },
          "hints": [
            "Dùng mô hình chính xác và các trường đầu vào theo tài liệu.",
            "Giữ lại toàn bộ phản hồi, mọi đầu ra thực tế và các ID gốc được trả về."
          ],
          "input": {
            "JSON_audio": "byte âm thanh thô thực tế ở dạng base64 cùng định dạng phù hợp",
            "content_types": [
              "application/json",
              "multipart/form-data"
            ],
            "default_response_format": "json",
            "material_types": [
              "audio"
            ],
            "multipart_cap_bytes": 26214400,
            "multipart_required": [
              "model",
              "file"
            ],
            "optional_controls": [
              "language",
              "temperature",
              "response_format",
              "timestamp_granularities",
              "provider"
            ],
            "optional_features": "Đầu ra chi tiết, diarize/keyterms và âm thanh qua URL hoặc âm thanh nội tuyến dung lượng lớn hơn yêu cầu đúng khả năng và biểu giá của mô hình/nhà cung cấp.",
            "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 URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID and original response. Read actual owned task/asset records without resubmitting; no dedicated audio poll URL is constructed."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "family": "transcription",
            "format": "json"
          }
        },
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input 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 WAV recording}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nimport base64\naudio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')\nif len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')\nrequest={'model': 'openai/whisper-large-v3', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}\nrequest['input_audio']['data']=base64.b64encode(audio).decode('ascii')\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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact model and documented input fields.",
          "Keep the complete response, every actual output and original returned IDs."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "transcription"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 1.5e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input 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",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.000015",
            "amount_unit": "usd_per_audio_input_second",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "audio input second",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "per audio input 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",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "24e3ccae12b4681ed9d0400e3497686e44df8576e2662d50b01b75dc7813f787",
    "input_html_sha256": "46a8af3deca68e96d5cdfd8214d2664281e435950de2a99a8fcb05f3051f2b4c",
    "private_audit_sha256": "90d7b68ff86a2b41284f65e1e2a1cda0d9b82678150b3c706e278e3a103070d8",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/vi/openai-whisper-large-v3/",
    "description": "Whisper large-v3 là checkpoint nhận dạng giọng nói đa ngôn ngữ có trọng số mở của OpenAI để chép lời và dịch giọng nói sang tiếng Anh. Mô hình chuyển lời nói đã ghi thành văn bản, với lựa chọn ngôn ngữ, mốc thời gian và xử lý nội dung dài vượt ngoài cửa sổ âm học 30 giây được công bố.",
    "locale": "vi",
    "md_url": "https://ailoot.ai/models/vi/openai-whisper-large-v3/index.md",
    "title": "OpenAI: Whisper Large V3 — Ailoot",
    "url": "https://ailoot.ai/models/vi/openai-whisper-large-v3/"
  },
  "rawModel": {
    "about": "Whisper large-v3 là checkpoint nhận dạng giọng nói do OpenAI phát hành, có khoảng 1,55 tỷ tham số. Đây là mô hình mã hóa–giải mã đa ngôn ngữ: âm thanh đi vào bộ mã hóa và bộ giải mã dự đoán văn bản cùng token liên quan đến nhiệm vụ. Các nhiệm vụ chính là chép lời bằng ngôn ngữ nguồn và dịch giọng nói sang tiếng Anh. Đây là định danh mô hình có trọng số mở, tách biệt với mã định danh mô hình của dịch vụ do nhà cung cấp vận hành hoặc quy tắc tải lên, định dạng phản hồi của dịch vụ đó.\n\nLarge-v3 giữ kiến trúc của các checkpoint Whisper large trước đó với hai thay đổi được nêu: đầu vào phổ âm dùng 128 dải tần Mel thay vì 80 và bổ sung token ngôn ngữ Quảng Đông. Thẻ mô hình của nhà sản xuất mô tả quá trình huấn luyện trên một triệu giờ âm thanh gán nhãn yếu và bốn triệu giờ âm thanh gán nhãn giả được chuẩn bị bằng Whisper large-v2. Hỗn hợp này được dùng trong hai vòng huấn luyện. Bản phát hành là checkpoint large-v3 cụ thể, không phải tên chung cho mọi mô hình thuộc họ Whisper.\n\nQuy trình suy luận được công bố mặc định thực hiện chép lời, giữ ngôn ngữ được nói trong bản ghi. Quy trình có thể tự phát hiện ngôn ngữ nguồn hoặc nhận lựa chọn ngôn ngữ đã biết. Để dịch, mô hình large đa ngôn ngữ cung cấp kết quả văn bản tiếng Anh từ lời nói không phải tiếng Anh. Chọn rõ nhiệm vụ đó: bản chép lời cùng ngôn ngữ và bản dịch tiếng Anh là các sản phẩm khác nhau. Với phỏng vấn, giữ câu chữ ngôn ngữ gốc; với tài liệu tham khảo tiếng Anh, chỉ rõ kết quả mong muốn là bản dịch nội dung được nói.\n\nChuẩn bị âm thanh là một phần của đường đầu vào. Bộ tải của OpenAI giải mã bản ghi thành dạng sóng mono và lấy mẫu lại ở 16 kHz. Trường tiếp nhận âm học của mô hình là 30 giây. Đây là cửa sổ xử lý, không phải độ dài tối đa của cả cuộc phỏng vấn hoặc bài giảng. Suy luận nội dung dài có thể tiến tuần tự qua cửa sổ trượt, hoặc chia bản ghi dài thành các đoạn chồng lấn rồi nối bản chép lời. Thẻ mô hình của nhà sản xuất mô tả xử lý tuần tự khi ưu tiên độ chính xác và xử lý theo đoạn khi thời gian hoàn thành một bản ghi dài quan trọng hơn.\n\nCấu hình được phát hành liệt kê 448 vị trí bộ giải mã cho một chuỗi giải mã riêng lẻ. Bản ghi dài hơn được xử lý bằng quy trình nội dung dài thay vì coi con số đó là giới hạn chung cho bản chép lời. Quy trình được công bố có thể trả về mốc thời gian cấp đoạn hoặc cấp từ cùng văn bản nhận dạng. Các đầu ra thời gian đó hữu ích cho việc tìm vị trí trong bản ghi và chuẩn bị phụ đề, còn bộ chứa phụ đề cuối cùng hoặc định dạng tệp chép lời là lựa chọn định dạng đầu ra riêng. Giữ thời gian của bản ghi khi chuẩn bị âm thanh nếu bản chép lời sẽ được căn chỉnh với tài liệu gốc.\n\nVai trò dự kiến của Whisper là nhận dạng và dịch giọng nói. Bản chép bài giảng, biên bản phỏng vấn hoặc bộ sưu tập nội dung lời nói có thể tìm kiếm là đầu ra thực tế; tóm tắt hoặc diễn giải có thể tiếp nối bằng bước khác trên văn bản. Thẻ mô hình không xác lập phân loại người nói hay phân đoạn theo người nói tự động có độ tin cậy cao là đầu ra tiêu chuẩn của checkpoint cơ sở. Nếu nhiệm vụ cần nhãn người nói, yêu cầu đó phải được xử lý riêng với việc khẳng định bản chép lời chính xác. Yêu cầu hữu ích nêu ngôn ngữ nguồn, cần chép lời hay dịch sang tiếng Anh, và có cần thông tin thời gian hay không.\n\nCác hạn chế đáng kể gồm văn bản bịa ra chưa từng được nói và văn bản lặp lại, liên quan đến huấn luyện giám sát yếu trên dữ liệu nhiễu và thiết kế chuỗi sang chuỗi. Chất lượng nhận dạng thay đổi giữa các ngôn ngữ, chất giọng vùng miền và phương ngữ, với kết quả kém hơn nơi có ít tài liệu huấn luyện hơn. Vì vậy, mẫu dùng để đánh giá mức phù hợp nên có tiếng ồn, từ vựng chuyên môn và lời nói chồng lấn. Đối chiếu tên riêng, số lượng và phát biểu quan trọng với bản ghi, đồng thời kiểm tra đoạn không có lời nói hoặc câu lặp lại thay vì coi bản chép lời trôi chảy là bằng chứng mọi từ đều đã được nghe.\n\nKết quả hoàn chỉnh giữ văn bản nhận dạng, ngôn ngữ và mọi thông tin thời gian được yêu cầu, cùng tham chiếu đến bản ghi gốc. Tách chép lời khỏi chỉnh sửa sau đó: bản chép để xuất bản đã sửa có thể bỏ từ đệm, còn bản chép nhận dạng giữ những gì mô hình thực sự trả về. Định danh và khả năng dịch của large-v3 cũng cần tách biệt với phiên bản Turbo nhanh hơn. Tốc độ xử lý thực tế phụ thuộc vào ngôn ngữ, tốc độ nói, phần cứng và phương pháp suy luận; chỉ từ tên checkpoint không thể suy ra độ trễ dịch vụ, kích thước tải lên tối đa hoặc tuyến ứng dụng đã bật cụ thể nào.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "available": null,
    "canonical_model": "openai/whisper-large-v3",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.000015",
            "amount_unit": "usd_per_audio_input_second",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "audio input second",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "per audio input 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,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "ee57dbbfe5ae56bdd0d7",
        "label": "OpenAI: Whisper Large V3",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Cấu hình mặc định"
            },
            "label": "OpenAI: Whisper Large V3 · Cấu hình mặc định",
            "units": [
              {
                "amount": "0.0000150",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "e474c121b23c5635611dfde4",
                "label": "Input audio seconds",
                "public_unit_label": "per input audio second",
                "quantity": "1",
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "input_audio_second"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "transcriptions"
    ],
    "id": "openai/whisper-large-v3",
    "input": [
      "audio"
    ],
    "kind": "transcription",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Giữ nguyên operation_id/X-Client-Request-ID và phản hồi ban đầu. Đọc các bản ghi tác vụ/tài sản thực tế thuộc quyền sở hữu mà không gửi lại; không dựng URL thăm dò âm thanh riêng."
            },
            "material_combinations": [
              {
                "content_types": [
                  "application/json",
                  "multipart/form-data"
                ],
                "mode": "speech_to_text",
                "required": [
                  "actual matching-format audio file"
                ]
              }
            ],
            "outputs": {
              "all_results": "Toàn bộ JSON gốc, mọi văn bản/đoạn/từ/người nói/dấu thời gian và mức sử dụng hiện có.",
              "family": "transcription",
              "fields": [
                {
                  "name": "text",
                  "type": "string"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "segments[]",
                  "optional": true,
                  "type": "object"
                },
                {
                  "name": "words[]",
                  "optional": true,
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "enum": [
                  "openai/whisper-large-v3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "data_encoding": "base64 raw actual audio bytes, not data URI",
                "fields": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "ISO-639-1 code; omitted means auto-detection",
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "retained_official_STTRequest",
                "default": "json",
                "default_known": true,
                "description": "verbose_json requires exact model/provider support",
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Only used with supported verbose_json",
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "enum": [
                        "wav",
                        "mp3",
                        "flac",
                        "m4a",
                        "ogg",
                        "webm",
                        "aac"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "language": {
                  "description": "ISO-639-1 code; omitted means auto-detection",
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "openai/whisper-large-v3"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "json",
                  "description": "verbose_json requires exact model/provider support",
                  "enum": [
                    "json",
                    "verbose_json"
                  ],
                  "type": "string"
                },
                "temperature": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "timestamp_granularities": {
                  "description": "Only used with supported verbose_json",
                  "items": {
                    "enum": [
                      "segment",
                      "word"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "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"
              },
              "content_type": "application/json"
            }
          },
          "hints": [
            "Dùng mô hình chính xác và các trường đầu vào theo tài liệu.",
            "Giữ lại toàn bộ phản hồi, mọi đầu ra thực tế và các ID gốc được trả về."
          ],
          "input": {
            "JSON_audio": "byte âm thanh thô thực tế ở dạng base64 cùng định dạng phù hợp",
            "content_types": [
              "application/json",
              "multipart/form-data"
            ],
            "default_response_format": "json",
            "material_types": [
              "audio"
            ],
            "multipart_cap_bytes": 26214400,
            "multipart_required": [
              "model",
              "file"
            ],
            "optional_controls": [
              "language",
              "temperature",
              "response_format",
              "timestamp_granularities",
              "provider"
            ],
            "optional_features": "Đầu ra chi tiết, diarize/keyterms và âm thanh qua URL hoặc âm thanh nội tuyến dung lượng lớn hơn yêu cầu đúng khả năng và biểu giá của mô hình/nhà cung cấp.",
            "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 URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID and original response. Read actual owned task/asset records without resubmitting; no dedicated audio poll URL is constructed."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "family": "transcription",
            "format": "json"
          }
        },
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input 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 WAV recording}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nimport base64\naudio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')\nif len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')\nrequest={'model': 'openai/whisper-large-v3', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}\nrequest['input_audio']['data']=base64.b64encode(audio).decode('ascii')\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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact model and documented input fields.",
          "Keep the complete response, every actual output and original returned IDs."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "transcription"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 1.5e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input 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",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.000015",
            "amount_unit": "usd_per_audio_input_second",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "audio input second",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "per audio input 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",
        "request_model_id": "openai/whisper-large-v3",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: Whisper Large V3",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "hosted_reference"
        },
        "dimensions": {
          "variant": null
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000616666666666",
            "amount_unit": "usd_per_audio_input_second",
            "conditions": {
              "variant": null
            },
            "key": "pricing.prompt",
            "label": "prompt",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "audio_input_second"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_not_separately_charged_output",
            "conditions": {
              "variant": null
            },
            "key": "pricing.completion",
            "label": "completion",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "not_separately_charged_output"
          }
        ]
      }
    ],
    "public_id": "openai/whisper-large-v3",
    "short": "Whisper large-v3 là checkpoint nhận dạng giọng nói đa ngôn ngữ có trọng số mở của OpenAI để chép lời và dịch giọng nói sang tiếng Anh. Mô hình chuyển lời nói đã ghi thành văn bản, với lựa chọn ngôn ngữ, mốc thời gian và xử lý nội dung dài vượt ngoài cửa sổ âm học 30 giây được công bố."
  },
  "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 là checkpoint nhận dạng giọng nói đa ngôn ngữ có trọng số mở của OpenAI để chép lời và dịch giọng nói sang tiếng Anh. Mô hình chuyển lời nói đã ghi thành văn bản, với lựa chọn ngôn ngữ, mốc thời gian và xử lý nội dung dài vượt ngoài cửa sổ âm học 30 giây được công bố.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "fd9a709b0388a8f78cb7fdd1d5027f2587f3f974bd11a0e06f12dd82fdb3d89e",
    "renderer_sha256": "64a62299639eb843877e9ec5c95e32bf22bac3acfe230f6f502c5c3aa186f9c1"
  },
  "sourceRevision": "2e0ba20da1411a0e6ce94ebf2ad88734fb558050b2050f04f261f9adabac96bb"
}
