{
  "aboutHtml": "<p>Aura-2 là họ mô hình chuyển văn bản thành giọng nói của Deepgram với giọng ở bảy ngôn ngữ: tiếng Anh, Tây Ban Nha, Đức, Pháp, Hà Lan, Ý và Nhật. Mô hình chuyển văn bản được cung cấp thành lời nói cho phản hồi dịch vụ khách hàng, menu điện thoại, lời giải thích và lời dẫn. Nhà sản xuất mô tả nhịp đọc, mức biểu cảm và từ đệm hội thoại là phản ứng theo câu chữ và ngữ cảnh của văn bản được cung cấp.</p><h4>Chọn giọng phù hợp với ngôn ngữ và nhiệm vụ</h4><p>Mỗi giọng được xác định theo họ mô hình, người nói và ngôn ngữ. Danh mục phân biệt chất giọng vùng miền và đặc điểm thể hiện thay vì coi mọi người nói đều có thể thay thế cho nhau. Thalia là lựa chọn tiếng Anh giọng Mỹ đầy năng lượng; Draco là giọng Anh gắn với kể chuyện; Celeste là giọng tiếng Tây Ban Nha Colombia gắn với hội thoại và thông báo. Chọn giọng dựa trên kịch bản thực tế và người nghe.</p><p>Một số giọng tiếng Tây Ban Nha hỗ trợ chuyển đổi qua lại giữa tiếng Anh và Tây Ban Nha: Aquila, Carina, Diana, Javier và Selena. Khả năng này thuộc các giọng được nêu tên đó, không phải mọi giọng trong họ mô hình. Với đoạn văn trộn ngôn ngữ, giữ ngôn ngữ dự kiến của tên sản phẩm và cụm từ trích dẫn, đồng thời nghe điểm chuyển bằng người nói có hồ sơ được công bố hỗ trợ nhiệm vụ đó.</p><h4>Soạn văn bản để đọc thành lời</h4><p>Hướng dẫn định dạng Aura-2 khuyến nghị dấu câu kết thúc câu, dấu hỏi cho câu hỏi, dấu phẩy cho khoảng nghỉ tự nhiên và cụm từ ngắn đứng riêng. Cung cấp văn bản lời nói cuối cùng, không phải chỉ dẫn yêu cầu bộ tổng hợp viết thông điệp. Một kịch bản định hướng hữu ích là: “Chào mừng bạn. Chọn ngôn ngữ, sau đó chọn chủ đề bạn cần. Bạn có thể nghe lại hướng dẫn bất cứ lúc nào.” Dấu câu tách các hành động của người nghe và giúp mô hình có nhịp điệu rõ hơn.</p><p>Viết mã định danh thành các chữ cái riêng khi phải đọc từng ký tự. Giải thích từ viết tắt và tránh câu dài nối liên tục khi cần giải thích nhiều điều kiện. Nhà sản xuất cũng khuyến nghị đặt từ lệnh trong dấu ngoặc kép và đọc thử thành tiếng một đoạn trước khi tổng hợp. Với lời dẫn giáo dục hoặc sản phẩm, giữ các thuật ngữ quan trọng trong khi chuyển tiêu đề viết sẵn và danh sách dày đặc thành cụm lời hoàn chỉnh.</p><h4>Nhịp đọc và phát âm</h4><p>Nhà sản xuất công bố các điều khiển tốc độ và phát âm IPA cho tiếng Anh và Tây Ban Nha. Phạm vi tốc độ nói của Aura-2 là 0.7 đến 1.5; với tiếng Tây Ban Nha, hãng khuyến nghị 0.9 đến 1.5 vì thiết lập chậm hơn có thể khiến lời nói kém trôi chảy. Phát âm và tốc độ có thể kết hợp trong họ mô hình này. Thiết lập ghi đè IPA có thể nhắm đến tên hoặc thuật ngữ chuyên môn, và quy ước Aura-2 đặt dấu trọng âm ngay trước nguyên âm.</p><p>Đặc tả điều khiển phát âm cho phép tối đa năm trăm thiết lập ghi đè, với mỗi chuỗi IPA không dài quá 128 ký tự, và công bố giới hạn văn bản đầu vào 2.000 ký tự cho quy trình đó. Aura-2 không hỗ trợ tính năng điều khiển khoảng nghỉ tường minh được công bố cho Flux TTS. Dùng cấu trúc câu và dấu câu để chuẩn bị nhịp điệu, đồng thời chia nội dung dài hơn thành các đoạn mạch lạc khi quy trình đã chọn yêu cầu.</p><h4>Cung cấp và sử dụng âm thanh</h4><p>Nhà sản xuất cung cấp quy trình tổng hợp theo yêu cầu hoàn chỉnh và truyền luồng văn bản thành âm thanh. Hướng dẫn phương tiện phân biệt PCM, mu-law và A-law truyền luồng thô với các tùy chọn đầu ra dạng tệp như WAV, MP3, Opus, FLAC và AAC. Giá trị PCM/WAV mặc định được công bố cho quy trình yêu cầu Aura là 24 kHz. Bộ chứa tệp, tần số lấy mẫu và mã hóa tạo thành các tổ hợp hợp lệ; kết nối điện thoại và tệp lời dẫn tải xuống có thể cần lựa chọn khác nhau.</p><p>Aura-2 là họ mô hình riêng, tách biệt với Aura thế hệ đầu và Flux TTS. Trạng thái xuyên lượt, phản hồi khi ngắt lời và điều khiển khoảng nghỉ chỉ dành cho chế độ theo lô của Flux không phải những tính năng có thể suy ra từ tên giọng Aura-2. Đầu ra hữu ích là phiên bản đọc thành lời của kịch bản thực tế bằng ngôn ngữ, chất giọng vùng miền và cách biểu diễn âm thanh phù hợp. Kiểm tra tên riêng, điểm chuyển ngôn ngữ, nhịp đọc theo dấu câu và chỉ dẫn quan trọng với người nghe dự kiến trước khi tái sử dụng bản ghi.</p>",
  "aboutText": "Aura-2 là họ mô hình chuyển văn bản thành giọng nói của Deepgram với giọng ở bảy ngôn ngữ: tiếng Anh, Tây Ban Nha, Đức, Pháp, Hà Lan, Ý và Nhật. Mô hình chuyển văn bản được cung cấp thành lời nói cho phản hồi dịch vụ khách hàng, menu điện thoại, lời giải thích và lời dẫn. Nhà sản xuất mô tả nhịp đọc, mức biểu cảm và từ đệm hội thoại là phản ứng theo câu chữ và ngữ cảnh của văn bản được cung cấp.\n\n### Chọn giọng phù hợp với ngôn ngữ và nhiệm vụ\n\nMỗi giọng được xác định theo họ mô hình, người nói và ngôn ngữ. Danh mục phân biệt chất giọng vùng miền và đặc điểm thể hiện thay vì coi mọi người nói đều có thể thay thế cho nhau. Thalia là lựa chọn tiếng Anh giọng Mỹ đầy năng lượng; Draco là giọng Anh gắn với kể chuyện; Celeste là giọng tiếng Tây Ban Nha Colombia gắn với hội thoại và thông báo. Chọn giọng dựa trên kịch bản thực tế và người nghe.\n\nMột số giọng tiếng Tây Ban Nha hỗ trợ chuyển đổi qua lại giữa tiếng Anh và Tây Ban Nha: Aquila, Carina, Diana, Javier và Selena. Khả năng này thuộc các giọng được nêu tên đó, không phải mọi giọng trong họ mô hình. Với đoạn văn trộn ngôn ngữ, giữ ngôn ngữ dự kiến của tên sản phẩm và cụm từ trích dẫn, đồng thời nghe điểm chuyển bằng người nói có hồ sơ được công bố hỗ trợ nhiệm vụ đó.\n\n### Soạn văn bản để đọc thành lời\n\nHướng dẫn định dạng Aura-2 khuyến nghị dấu câu kết thúc câu, dấu hỏi cho câu hỏi, dấu phẩy cho khoảng nghỉ tự nhiên và cụm từ ngắn đứng riêng. Cung cấp văn bản lời nói cuối cùng, không phải chỉ dẫn yêu cầu bộ tổng hợp viết thông điệp. Một kịch bản định hướng hữu ích là: “Chào mừng bạn. Chọn ngôn ngữ, sau đó chọn chủ đề bạn cần. Bạn có thể nghe lại hướng dẫn bất cứ lúc nào.” Dấu câu tách các hành động của người nghe và giúp mô hình có nhịp điệu rõ hơn.\n\nViết mã định danh thành các chữ cái riêng khi phải đọc từng ký tự. Giải thích từ viết tắt và tránh câu dài nối liên tục khi cần giải thích nhiều điều kiện. Nhà sản xuất cũng khuyến nghị đặt từ lệnh trong dấu ngoặc kép và đọc thử thành tiếng một đoạn trước khi tổng hợp. Với lời dẫn giáo dục hoặc sản phẩm, giữ các thuật ngữ quan trọng trong khi chuyển tiêu đề viết sẵn và danh sách dày đặc thành cụm lời hoàn chỉnh.\n\n### Nhịp đọc và phát âm\n\nNhà sản xuất công bố các điều khiển tốc độ và phát âm IPA cho tiếng Anh và Tây Ban Nha. Phạm vi tốc độ nói của Aura-2 là 0.7 đến 1.5; với tiếng Tây Ban Nha, hãng khuyến nghị 0.9 đến 1.5 vì thiết lập chậm hơn có thể khiến lời nói kém trôi chảy. Phát âm và tốc độ có thể kết hợp trong họ mô hình này. Thiết lập ghi đè IPA có thể nhắm đến tên hoặc thuật ngữ chuyên môn, và quy ước Aura-2 đặt dấu trọng âm ngay trước nguyên âm.\n\nĐặc tả điều khiển phát âm cho phép tối đa năm trăm thiết lập ghi đè, với mỗi chuỗi IPA không dài quá 128 ký tự, và công bố giới hạn văn bản đầu vào 2.000 ký tự cho quy trình đó. Aura-2 không hỗ trợ tính năng điều khiển khoảng nghỉ tường minh được công bố cho Flux TTS. Dùng cấu trúc câu và dấu câu để chuẩn bị nhịp điệu, đồng thời chia nội dung dài hơn thành các đoạn mạch lạc khi quy trình đã chọn yêu cầu.\n\n### Cung cấp và sử dụng âm thanh\n\nNhà sản xuất cung cấp quy trình tổng hợp theo yêu cầu hoàn chỉnh và truyền luồng văn bản thành âm thanh. Hướng dẫn phương tiện phân biệt PCM, mu-law và A-law truyền luồng thô với các tùy chọn đầu ra dạng tệp như WAV, MP3, Opus, FLAC và AAC. Giá trị PCM/WAV mặc định được công bố cho quy trình yêu cầu Aura là 24 kHz. Bộ chứa tệp, tần số lấy mẫu và mã hóa tạo thành các tổ hợp hợp lệ; kết nối điện thoại và tệp lời dẫn tải xuống có thể cần lựa chọn khác nhau.\n\nAura-2 là họ mô hình riêng, tách biệt với Aura thế hệ đầu và Flux TTS. Trạng thái xuyên lượt, phản hồi khi ngắt lời và điều khiển khoảng nghỉ chỉ dành cho chế độ theo lô của Flux không phải những tính năng có thể suy ra từ tên giọng Aura-2. Đầu ra hữu ích là phiên bản đọc thành lời của kịch bản thực tế bằng ngôn ngữ, chất giọng vùng miền và cách biểu diễn âm thanh phù hợp. Kiểm tra tên riêng, điểm chuyển ngôn ngữ, nhịp đọc theo dấu câu và chỉ dẫn quan trọng với người nghe dự kiến trước khi tái sử dụng bản ghi.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "030063c9a875cf51edf4d52c871dcaa5a548f20ce353144751f98d6ca0453007",
    "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\">•</span><h2 id=\"sheet-title\">Deepgram: Aura-2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Đóng\">×</button></div><div class=\"idline\"><span>Deepgram /</span><code>deepgram/aura-2</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|speech|/v1/audio/speech|deepgram%2Faura-2\">Tổng hợp giọng nói</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\">Deepgram Aura-2 tạo giọng nói bằng tiếng Anh, Tây Ban Nha, Đức, Pháp, Hà Lan, Ý và Nhật. Danh mục giọng, nhịp đọc thích ứng với văn bản và điều khiển phát âm riêng theo ngôn ngữ hỗ trợ lời hướng dẫn bằng giọng nói, lời dẫn và ứng dụng đa ngôn ngữ.</p><dl class=\"card-io\" data-card-io><div><dt>Đầu vào được chấp nhận</dt><dd>Văn bản</dd></div><div><dt>Kết quả</dt><dd>Âm thanh</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>Aura-2 là họ mô hình chuyển văn bản thành giọng nói của Deepgram với giọng ở bảy ngôn ngữ: tiếng Anh, Tây Ban Nha, Đức, Pháp, Hà Lan, Ý và Nhật. Mô hình chuyển văn bản được cung cấp thành lời nói cho phản hồi dịch vụ khách hàng, menu điện thoại, lời giải thích và lời dẫn. Nhà sản xuất mô tả nhịp đọc, mức biểu cảm và từ đệm hội thoại là phản ứng theo câu chữ và ngữ cảnh của văn bản được cung cấp.</p><h4>Chọn giọng phù hợp với ngôn ngữ và nhiệm vụ</h4><p>Mỗi giọng được xác định theo họ mô hình, người nói và ngôn ngữ. Danh mục phân biệt chất giọng vùng miền và đặc điểm thể hiện thay vì coi mọi người nói đều có thể thay thế cho nhau. Thalia là lựa chọn tiếng Anh giọng Mỹ đầy năng lượng; Draco là giọng Anh gắn với kể chuyện; Celeste là giọng tiếng Tây Ban Nha Colombia gắn với hội thoại và thông báo. Chọn giọng dựa trên kịch bản thực tế và người nghe.</p><p>Một số giọng tiếng Tây Ban Nha hỗ trợ chuyển đổi qua lại giữa tiếng Anh và Tây Ban Nha: Aquila, Carina, Diana, Javier và Selena. Khả năng này thuộc các giọng được nêu tên đó, không phải mọi giọng trong họ mô hình. Với đoạn văn trộn ngôn ngữ, giữ ngôn ngữ dự kiến của tên sản phẩm và cụm từ trích dẫn, đồng thời nghe điểm chuyển bằng người nói có hồ sơ được công bố hỗ trợ nhiệm vụ đó.</p><h4>Soạn văn bản để đọc thành lời</h4><p>Hướng dẫn định dạng Aura-2 khuyến nghị dấu câu kết thúc câu, dấu hỏi cho câu hỏi, dấu phẩy cho khoảng nghỉ tự nhiên và cụm từ ngắn đứng riêng. Cung cấp văn bản lời nói cuối cùng, không phải chỉ dẫn yêu cầu bộ tổng hợp viết thông điệp. Một kịch bản định hướng hữu ích là: “Chào mừng bạn. Chọn ngôn ngữ, sau đó chọn chủ đề bạn cần. Bạn có thể nghe lại hướng dẫn bất cứ lúc nào.” Dấu câu tách các hành động của người nghe và giúp mô hình có nhịp điệu rõ hơn.</p><p>Viết mã định danh thành các chữ cái riêng khi phải đọc từng ký tự. Giải thích từ viết tắt và tránh câu dài nối liên tục khi cần giải thích nhiều điều kiện. Nhà sản xuất cũng khuyến nghị đặt từ lệnh trong dấu ngoặc kép và đọc thử thành tiếng một đoạn trước khi tổng hợp. Với lời dẫn giáo dục hoặc sản phẩm, giữ các thuật ngữ quan trọng trong khi chuyển tiêu đề viết sẵn và danh sách dày đặc thành cụm lời hoàn chỉnh.</p><h4>Nhịp đọc và phát âm</h4><p>Nhà sản xuất công bố các điều khiển tốc độ và phát âm IPA cho tiếng Anh và Tây Ban Nha. Phạm vi tốc độ nói của Aura-2 là 0.7 đến 1.5; với tiếng Tây Ban Nha, hãng khuyến nghị 0.9 đến 1.5 vì thiết lập chậm hơn có thể khiến lời nói kém trôi chảy. Phát âm và tốc độ có thể kết hợp trong họ mô hình này. Thiết lập ghi đè IPA có thể nhắm đến tên hoặc thuật ngữ chuyên môn, và quy ước Aura-2 đặt dấu trọng âm ngay trước nguyên âm.</p><p>Đặc tả điều khiển phát âm cho phép tối đa năm trăm thiết lập ghi đè, với mỗi chuỗi IPA không dài quá 128 ký tự, và công bố giới hạn văn bản đầu vào 2.000 ký tự cho quy trình đó. Aura-2 không hỗ trợ tính năng điều khiển khoảng nghỉ tường minh được công bố cho Flux TTS. Dùng cấu trúc câu và dấu câu để chuẩn bị nhịp điệu, đồng thời chia nội dung dài hơn thành các đoạn mạch lạc khi quy trình đã chọn yêu cầu.</p><h4>Cung cấp và sử dụng âm thanh</h4><p>Nhà sản xuất cung cấp quy trình tổng hợp theo yêu cầu hoàn chỉnh và truyền luồng văn bản thành âm thanh. Hướng dẫn phương tiện phân biệt PCM, mu-law và A-law truyền luồng thô với các tùy chọn đầu ra dạng tệp như WAV, MP3, Opus, FLAC và AAC. Giá trị PCM/WAV mặc định được công bố cho quy trình yêu cầu Aura là 24 kHz. Bộ chứa tệp, tần số lấy mẫu và mã hóa tạo thành các tổ hợp hợp lệ; kết nối điện thoại và tệp lời dẫn tải xuống có thể cần lựa chọn khác nhau.</p><p>Aura-2 là họ mô hình riêng, tách biệt với Aura thế hệ đầu và Flux TTS. Trạng thái xuyên lượt, phản hồi khi ngắt lời và điều khiển khoảng nghỉ chỉ dành cho chế độ theo lô của Flux không phải những tính năng có thể suy ra từ tên giọng Aura-2. Đầu ra hữu ích là phiên bản đọc thành lời của kịch bản thực tế bằng ngôn ngữ, chất giọng vùng miền và cách biểu diễn âm thanh phù hợp. Kiểm tra tên riêng, điểm chuyển ngôn ngữ, nhịp đọc theo dấu câu và chỉ dẫn quan trọng với người nghe dự kiến trước khi tái sử dụng bản ghi.</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 · Tổng hợp giọng nói</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>Đầu vào</dt><dd><code>text</code></dd></div><div><dt>Đầu ra</dt><dd><code>audio</code></dd></div><div><dt>Định dạng đầu ra</dt><dd>mp3</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>deepgram/aura-2</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</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>Độ dài tối thiểu: 1</div><div>Đơn vị: ký tự Unicode</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\">voice</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>aura-2-thalia-en, aura-2-agathe-fr, aura-2-agustina-es, aura-2-alvaro-es, aura-2-ama-ja, aura-2-amalthea-en, aura-2-andromeda-en, aura-2-antonia-es, aura-2-apollo-en, aura-2-aquila-es, aura-2-arcas-en, aura-2-aries-en, aura-2-asteria-en, aura-2-athena-en, aura-2-atlas-en, aura-2-aurelia-de, aura-2-aurora-en, aura-2-beatrix-nl, aura-2-callista-en, aura-2-carina-es, aura-2-celeste-es, aura-2-cesare-it, aura-2-cinzia-it, aura-2-cora-en, aura-2-cordelia-en, aura-2-cornelia-nl, aura-2-daphne-nl, aura-2-delia-en, aura-2-demetra-it, aura-2-diana-es, aura-2-dionisio-it, aura-2-draco-en, aura-2-ebisu-ja, aura-2-elara-de, aura-2-electra-en, aura-2-elio-it, aura-2-estrella-es, aura-2-fabian-de, aura-2-flavio-it, aura-2-fujin-ja, aura-2-gloria-es, aura-2-harmonia-en, aura-2-hector-fr, aura-2-helena-en, aura-2-hera-en, aura-2-hermes-en, aura-2-hestia-nl, aura-2-hyperion-en, aura-2-iris-en, aura-2-izanami-ja, aura-2-janus-en, aura-2-javier-es, aura-2-julius-de, aura-2-juno-en, aura-2-jupiter-en, aura-2-kara-de, aura-2-lara-de, aura-2-lars-nl, aura-2-leda-nl, aura-2-livia-it, aura-2-luciano-es, aura-2-luna-en, aura-2-maia-it, aura-2-mars-en, aura-2-melia-it, aura-2-minerva-en, aura-2-neptune-en, aura-2-nestor-es, aura-2-odysseus-en, aura-2-olivia-es, aura-2-ophelia-en, aura-2-orion-en, aura-2-orpheus-en, aura-2-pandora-en, aura-2-phoebe-en, aura-2-pluto-en, aura-2-rhea-nl, aura-2-roman-nl, aura-2-sander-nl, aura-2-saturn-en, aura-2-selena-es, aura-2-selene-en, aura-2-silvia-es, aura-2-sirio-es, aura-2-theia-en, aura-2-uzume-ja, aura-2-valerio-es, aura-2-vesta-en, aura-2-viktoria-de, aura-2-zeus-en</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>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>mp3</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Tổ hợp tư liệu đầu vào</summary><p class=\"note-s\"><b>text_to_speech</b> · Bắt buộc: input</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_type</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>application/json</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>required</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>model, input, voice, response_format</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>voice_ids</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>aura-2-thalia-en, aura-2-agathe-fr, aura-2-agustina-es, aura-2-alvaro-es, aura-2-ama-ja, aura-2-amalthea-en, aura-2-andromeda-en, aura-2-antonia-es, aura-2-apollo-en, aura-2-aquila-es, aura-2-arcas-en, aura-2-aries-en, aura-2-asteria-en, aura-2-athena-en, aura-2-atlas-en, aura-2-aurelia-de, aura-2-aurora-en, aura-2-beatrix-nl, aura-2-callista-en, aura-2-carina-es, aura-2-celeste-es, aura-2-cesare-it, aura-2-cinzia-it, aura-2-cora-en, aura-2-cordelia-en, aura-2-cornelia-nl, aura-2-daphne-nl, aura-2-delia-en, aura-2-demetra-it, aura-2-diana-es, aura-2-dionisio-it, aura-2-draco-en, aura-2-ebisu-ja, aura-2-elara-de, aura-2-electra-en, aura-2-elio-it, aura-2-estrella-es, aura-2-fabian-de, aura-2-flavio-it, aura-2-fujin-ja, aura-2-gloria-es, aura-2-harmonia-en, aura-2-hector-fr, aura-2-helena-en, aura-2-hera-en, aura-2-hermes-en, aura-2-hestia-nl, aura-2-hyperion-en, aura-2-iris-en, aura-2-izanami-ja, aura-2-janus-en, aura-2-javier-es, aura-2-julius-de, aura-2-juno-en, aura-2-jupiter-en, aura-2-kara-de, aura-2-lara-de, aura-2-lars-nl, aura-2-leda-nl, aura-2-livia-it, aura-2-luciano-es, aura-2-luna-en, aura-2-maia-it, aura-2-mars-en, aura-2-melia-it, aura-2-minerva-en, aura-2-neptune-en, aura-2-nestor-es, aura-2-odysseus-en, aura-2-olivia-es, aura-2-ophelia-en, aura-2-orion-en, aura-2-orpheus-en, aura-2-pandora-en, aura-2-phoebe-en, aura-2-pluto-en, aura-2-rhea-nl, aura-2-roman-nl, aura-2-sander-nl, aura-2-saturn-en, aura-2-selena-es, aura-2-selene-en, aura-2-silvia-es, aura-2-sirio-es, aura-2-theia-en, aura-2-uzume-ja, aura-2-valerio-es, aura-2-vesta-en, aura-2-viktoria-de, aura-2-zeus-en</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>response_format</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>mp3</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>max_input_characters</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>null</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>other_options</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>false</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>input</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>văn bản UTF-8 nguyên dạng; đếm ký tự Unicode mà không chuẩn hóa</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>text</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\">Chọn giọng nói chính xác từ hồ sơ mô hình này.</p><p class=\"note-s\">Ký tự đầu vào và giây âm thanh là các đơn vị đo tính phí khác nhau.</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>Ký tự đầu vào</th><td data-cell-label=\"Biểu mức phí\"><span class=\"card-cell-label\">Biểu mức phí</span>—</td><td data-cell-label=\"Đơn vị tính phí\"><span class=\"card-cell-label\">Đơn vị tính phí</span>mỗi ký tự đầu vào</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu vào · Ký tự đầu vào</span> <b>$0.00006</b> <span class=\"price-unit\">mỗi ký tự đầu vào</span></div></td></tr></tbody></table></div></div><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>Deepgram: Aura-2</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>Deepgram: Aura-2 · 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 · Ký tự đầu vào</span> <b>0,00006 US$</b> <span class=\"price-unit\">mỗi ký tự đầu vào</span></div></td></tr></tbody></table></div></details></div><p class=\"note-s\">Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. <a href=\"/docs/vi/billing/reserve/\">Cách hoạt động của cơ chế tạm giữ và quyết toán →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Ví dụ yêu cầu</h3><h4>Ailoot Ultra · Tổng hợp 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-1196-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1196-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</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-1196-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1196-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}&quot;\nexport AILOOT_VOICE_ID\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;deepgram/aura-2&quot;, &quot;input&quot;: &quot;Good afternoon! This is a short voice take.&quot;}&#39;)\nvoice=os.environ[&quot;AILOOT_VOICE_ID&quot;]\nallowed=json.loads(&#39;[&quot;aura-2-thalia-en&quot;, &quot;aura-2-agathe-fr&quot;, &quot;aura-2-agustina-es&quot;, &quot;aura-2-alvaro-es&quot;, &quot;aura-2-ama-ja&quot;, &quot;aura-2-amalthea-en&quot;, &quot;aura-2-andromeda-en&quot;, &quot;aura-2-antonia-es&quot;, &quot;aura-2-apollo-en&quot;, &quot;aura-2-aquila-es&quot;, &quot;aura-2-arcas-en&quot;, &quot;aura-2-aries-en&quot;, &quot;aura-2-asteria-en&quot;, &quot;aura-2-athena-en&quot;, &quot;aura-2-atlas-en&quot;, &quot;aura-2-aurelia-de&quot;, &quot;aura-2-aurora-en&quot;, &quot;aura-2-beatrix-nl&quot;, &quot;aura-2-callista-en&quot;, &quot;aura-2-carina-es&quot;, &quot;aura-2-celeste-es&quot;, &quot;aura-2-cesare-it&quot;, &quot;aura-2-cinzia-it&quot;, &quot;aura-2-cora-en&quot;, &quot;aura-2-cordelia-en&quot;, &quot;aura-2-cornelia-nl&quot;, &quot;aura-2-daphne-nl&quot;, &quot;aura-2-delia-en&quot;, &quot;aura-2-demetra-it&quot;, &quot;aura-2-diana-es&quot;, &quot;aura-2-dionisio-it&quot;, &quot;aura-2-draco-en&quot;, &quot;aura-2-ebisu-ja&quot;, &quot;aura-2-elara-de&quot;, &quot;aura-2-electra-en&quot;, &quot;aura-2-elio-it&quot;, &quot;aura-2-estrella-es&quot;, &quot;aura-2-fabian-de&quot;, &quot;aura-2-flavio-it&quot;, &quot;aura-2-fujin-ja&quot;, &quot;aura-2-gloria-es&quot;, &quot;aura-2-harmonia-en&quot;, &quot;aura-2-hector-fr&quot;, &quot;aura-2-helena-en&quot;, &quot;aura-2-hera-en&quot;, &quot;aura-2-hermes-en&quot;, &quot;aura-2-hestia-nl&quot;, &quot;aura-2-hyperion-en&quot;, &quot;aura-2-iris-en&quot;, &quot;aura-2-izanami-ja&quot;, &quot;aura-2-janus-en&quot;, &quot;aura-2-javier-es&quot;, &quot;aura-2-julius-de&quot;, &quot;aura-2-juno-en&quot;, &quot;aura-2-jupiter-en&quot;, &quot;aura-2-kara-de&quot;, &quot;aura-2-lara-de&quot;, &quot;aura-2-lars-nl&quot;, &quot;aura-2-leda-nl&quot;, &quot;aura-2-livia-it&quot;, &quot;aura-2-luciano-es&quot;, &quot;aura-2-luna-en&quot;, &quot;aura-2-maia-it&quot;, &quot;aura-2-mars-en&quot;, &quot;aura-2-melia-it&quot;, &quot;aura-2-minerva-en&quot;, &quot;aura-2-neptune-en&quot;, &quot;aura-2-nestor-es&quot;, &quot;aura-2-odysseus-en&quot;, &quot;aura-2-olivia-es&quot;, &quot;aura-2-ophelia-en&quot;, &quot;aura-2-orion-en&quot;, &quot;aura-2-orpheus-en&quot;, &quot;aura-2-pandora-en&quot;, &quot;aura-2-phoebe-en&quot;, &quot;aura-2-pluto-en&quot;, &quot;aura-2-rhea-nl&quot;, &quot;aura-2-roman-nl&quot;, &quot;aura-2-sander-nl&quot;, &quot;aura-2-saturn-en&quot;, &quot;aura-2-selena-es&quot;, &quot;aura-2-selene-en&quot;, &quot;aura-2-silvia-es&quot;, &quot;aura-2-sirio-es&quot;, &quot;aura-2-theia-en&quot;, &quot;aura-2-uzume-ja&quot;, &quot;aura-2-valerio-es&quot;, &quot;aura-2-vesta-en&quot;, &quot;aura-2-viktoria-de&quot;, &quot;aura-2-zeus-en&quot;]&#39;)\nif voice not in allowed: raise SystemExit(&quot;Choose an accepted voice ID from this exact model profile&quot;)\np[&quot;voice&quot;]=voice\np[&quot;response_format&quot;]=&quot;mp3&quot;\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\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 speech.mp3\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 · Tổng hợp giọng nói</h4><p class=\"note-s\">mp3</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><details class=\"card-about\"><summary>Lượt đọc nội dung khác</summary><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-1197-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1197-panel-0\" aria-selected=\"true\" tabindex=\"0\">Thư viện phương tiện</button><button class=\"cg-tab\" id=\"model-code-1197-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1197-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Trạng thái tác vụ</button><button class=\"cg-tab\" id=\"model-code-1197-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1197-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Chi tiết tài nguyên</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-1197-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1197-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-assets.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1197-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1197-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}&quot;\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_MEDIA_TASK_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/media/tasks/$resource_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-task.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;media-task.json&quot;).read_text())))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1197-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-1197-tab-2\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}&quot;\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_ASSET_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/media/assets/$resource_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-asset.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;media-asset.json&quot;).read_text())))\nPY_RESULT\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Lưu tất cả kết quả đã hoàn tất</h5><p class=\"note-s\">Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.</p><p class=\"note-s\">Giữ lại toàn bộ kết quả nhị phân và các header. Nếu phản hồi ở dạng JSON hoặc chứa nhiều đầu ra, giữ lại mọi phần tử dữ liệu và tải từng tài nguyên từ URL có chữ ký thực tế.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Nếu cần kiểm tra phản hồi gốc</h5><p class=\"note-s\">Giữ lại operation_id/X-Client-Request-ID gốc để đối soát mà không gửi lại yêu cầu; không có tuyến truy vấn trạng thái riêng cho âm thanh.</p></div><details class=\"card-about\" data-output-fields><summary>Trường phản hồi</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Trường</th><th>Loại</th></tr></thead><tbody><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">binary audio</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>bytes</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">response headers</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>headers</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Lỗi và bước tiếp theo</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Phản hồi</th><th>Điều kiện</th><th>Bước tiếp theo</th></tr></thead><tbody><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span><code>server_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Phản hồi trả về cho biết thao tác hoặc kết quả cần được kiểm tra</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Giữ lại ID thao tác/tác vụ gốc đã trả về, các header của yêu cầu và toàn bộ phản hồi; tiếp tục truy xuất thao tác gốc đó bằng các phương thức được hỗ trợ. Không gửi lại yêu cầu tạo.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Bí danh</h3><h4>Bí danh mô hình</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=deepgram%2Faura-2&amp;route=Ultra&amp;caller=deepgram%2Faura-2&amp;fmt=speech\"><code>deepgram/aura-2</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=deepgram%2Faura-2&amp;route=Ultra&amp;caller=deepgram%2Faura-2&amp;fmt=speech\"><code>deepgram/aura-2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "deepgram/aura-2",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "deepgram/aura-2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|deepgram%2Faura-2",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.",
            "errors": [
              {
                "code": null,
                "condition": "Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ",
                "http_status": 400,
                "recovery": "Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Phản hồi trả về cho biết thao tác hoặc kết quả cần được kiểm tra",
                "http_status": null,
                "recovery": "Giữ lại ID thao tác/tác vụ gốc đã trả về, các header của yêu cầu và toàn bộ phản hồi; tiếp tục truy xuất thao tác gốc đó bằng các phương thức được hỗ trợ. Không gửi lại yêu cầu tạo.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Giữ lại operation_id/X-Client-Request-ID gốc để đối soát mà không gửi lại yêu cầu; không có tuyến truy vấn trạng thái riêng cho âm thanh."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "input"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_speech"
            ],
            "outputs": {
              "all_results": "Giữ lại toàn bộ kết quả nhị phân và các header. Nếu phản hồi ở dạng JSON hoặc chứa nhiều đầu ra, giữ lại mọi phần tử dữ liệu và tải từng tài nguyên từ URL có chữ ký thực tế.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "mp3",
              "http_success": 200
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "deepgram/aura-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "limit_known": false,
                "maximum_length": null,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "ký tự Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "aura-2-thalia-en",
                  "aura-2-agathe-fr",
                  "aura-2-agustina-es",
                  "aura-2-alvaro-es",
                  "aura-2-ama-ja",
                  "aura-2-amalthea-en",
                  "aura-2-andromeda-en",
                  "aura-2-antonia-es",
                  "aura-2-apollo-en",
                  "aura-2-aquila-es",
                  "aura-2-arcas-en",
                  "aura-2-aries-en",
                  "aura-2-asteria-en",
                  "aura-2-athena-en",
                  "aura-2-atlas-en",
                  "aura-2-aurelia-de",
                  "aura-2-aurora-en",
                  "aura-2-beatrix-nl",
                  "aura-2-callista-en",
                  "aura-2-carina-es",
                  "aura-2-celeste-es",
                  "aura-2-cesare-it",
                  "aura-2-cinzia-it",
                  "aura-2-cora-en",
                  "aura-2-cordelia-en",
                  "aura-2-cornelia-nl",
                  "aura-2-daphne-nl",
                  "aura-2-delia-en",
                  "aura-2-demetra-it",
                  "aura-2-diana-es",
                  "aura-2-dionisio-it",
                  "aura-2-draco-en",
                  "aura-2-ebisu-ja",
                  "aura-2-elara-de",
                  "aura-2-electra-en",
                  "aura-2-elio-it",
                  "aura-2-estrella-es",
                  "aura-2-fabian-de",
                  "aura-2-flavio-it",
                  "aura-2-fujin-ja",
                  "aura-2-gloria-es",
                  "aura-2-harmonia-en",
                  "aura-2-hector-fr",
                  "aura-2-helena-en",
                  "aura-2-hera-en",
                  "aura-2-hermes-en",
                  "aura-2-hestia-nl",
                  "aura-2-hyperion-en",
                  "aura-2-iris-en",
                  "aura-2-izanami-ja",
                  "aura-2-janus-en",
                  "aura-2-javier-es",
                  "aura-2-julius-de",
                  "aura-2-juno-en",
                  "aura-2-jupiter-en",
                  "aura-2-kara-de",
                  "aura-2-lara-de",
                  "aura-2-lars-nl",
                  "aura-2-leda-nl",
                  "aura-2-livia-it",
                  "aura-2-luciano-es",
                  "aura-2-luna-en",
                  "aura-2-maia-it",
                  "aura-2-mars-en",
                  "aura-2-melia-it",
                  "aura-2-minerva-en",
                  "aura-2-neptune-en",
                  "aura-2-nestor-es",
                  "aura-2-odysseus-en",
                  "aura-2-olivia-es",
                  "aura-2-ophelia-en",
                  "aura-2-orion-en",
                  "aura-2-orpheus-en",
                  "aura-2-pandora-en",
                  "aura-2-phoebe-en",
                  "aura-2-pluto-en",
                  "aura-2-rhea-nl",
                  "aura-2-roman-nl",
                  "aura-2-sander-nl",
                  "aura-2-saturn-en",
                  "aura-2-selena-es",
                  "aura-2-selene-en",
                  "aura-2-silvia-es",
                  "aura-2-sirio-es",
                  "aura-2-theia-en",
                  "aura-2-uzume-ja",
                  "aura-2-valerio-es",
                  "aura-2-vesta-en",
                  "aura-2-viktoria-de",
                  "aura-2-zeus-en"
                ],
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "every field outside exactmodel,input,voice,response_format",
              "stream/speed/reference speech options"
            ]
          },
          "hints": [
            "Chọn giọng nói chính xác từ hồ sơ mô hình này.",
            "Ký tự đầu vào và giây âm thanh là các đơn vị đo tính phí khác nhau."
          ],
          "input": {
            "content_type": "application/json",
            "input": "văn bản UTF-8 nguyên dạng; đếm ký tự Unicode mà không chuẩn hóa",
            "material_types": [
              "text"
            ],
            "max_input_characters": null,
            "other_options": false,
            "required": [
              "model",
              "input",
              "voice",
              "response_format"
            ],
            "response_format": [
              "mp3"
            ],
            "voice_ids": [
              "aura-2-thalia-en",
              "aura-2-agathe-fr",
              "aura-2-agustina-es",
              "aura-2-alvaro-es",
              "aura-2-ama-ja",
              "aura-2-amalthea-en",
              "aura-2-andromeda-en",
              "aura-2-antonia-es",
              "aura-2-apollo-en",
              "aura-2-aquila-es",
              "aura-2-arcas-en",
              "aura-2-aries-en",
              "aura-2-asteria-en",
              "aura-2-athena-en",
              "aura-2-atlas-en",
              "aura-2-aurelia-de",
              "aura-2-aurora-en",
              "aura-2-beatrix-nl",
              "aura-2-callista-en",
              "aura-2-carina-es",
              "aura-2-celeste-es",
              "aura-2-cesare-it",
              "aura-2-cinzia-it",
              "aura-2-cora-en",
              "aura-2-cordelia-en",
              "aura-2-cornelia-nl",
              "aura-2-daphne-nl",
              "aura-2-delia-en",
              "aura-2-demetra-it",
              "aura-2-diana-es",
              "aura-2-dionisio-it",
              "aura-2-draco-en",
              "aura-2-ebisu-ja",
              "aura-2-elara-de",
              "aura-2-electra-en",
              "aura-2-elio-it",
              "aura-2-estrella-es",
              "aura-2-fabian-de",
              "aura-2-flavio-it",
              "aura-2-fujin-ja",
              "aura-2-gloria-es",
              "aura-2-harmonia-en",
              "aura-2-hector-fr",
              "aura-2-helena-en",
              "aura-2-hera-en",
              "aura-2-hermes-en",
              "aura-2-hestia-nl",
              "aura-2-hyperion-en",
              "aura-2-iris-en",
              "aura-2-izanami-ja",
              "aura-2-janus-en",
              "aura-2-javier-es",
              "aura-2-julius-de",
              "aura-2-juno-en",
              "aura-2-jupiter-en",
              "aura-2-kara-de",
              "aura-2-lara-de",
              "aura-2-lars-nl",
              "aura-2-leda-nl",
              "aura-2-livia-it",
              "aura-2-luciano-es",
              "aura-2-luna-en",
              "aura-2-maia-it",
              "aura-2-mars-en",
              "aura-2-melia-it",
              "aura-2-minerva-en",
              "aura-2-neptune-en",
              "aura-2-nestor-es",
              "aura-2-odysseus-en",
              "aura-2-olivia-es",
              "aura-2-ophelia-en",
              "aura-2-orion-en",
              "aura-2-orpheus-en",
              "aura-2-pandora-en",
              "aura-2-phoebe-en",
              "aura-2-pluto-en",
              "aura-2-rhea-nl",
              "aura-2-roman-nl",
              "aura-2-sander-nl",
              "aura-2-saturn-en",
              "aura-2-selena-es",
              "aura-2-selene-en",
              "aura-2-silvia-es",
              "aura-2-sirio-es",
              "aura-2-theia-en",
              "aura-2-uzume-ja",
              "aura-2-valerio-es",
              "aura-2-vesta-en",
              "aura-2-viktoria-de",
              "aura-2-zeus-en"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "family": "audio",
            "format": "mp3",
            "http_success": 200,
            "response": "full binary MP3 plus response headers",
            "result": "complete playable owned MP3"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input character"
            },
            "label": "input character",
            "units": [
              {
                "amount": "0.00006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00006",
                "native_quantity": 1,
                "public_unit_label": "per input character",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_character"
              }
            ]
          }
        ],
        "declared_tariff_references": [
          {
            "client_selectable": false,
            "key": "6be270d373c5634e423e",
            "label": "Deepgram: Aura-2",
            "profiles": [
              {
                "basis": "",
                "dimensions": {
                  "conditions": "Cấu hình mặc định"
                },
                "label": "Deepgram: Aura-2 · Cấu hình mặc định",
                "units": [
                  {
                    "amount": "0.00006",
                    "amount_unit": "usd_per_exact_physical_unit",
                    "billing_input": false,
                    "key": "a771a87d10f80abfd8f1b8cc",
                    "label": "Input characters",
                    "public_unit_label": "per input character",
                    "quantity": "1",
                    "rate_role": "declared_tariff_rate",
                    "side": "in",
                    "unit": "input_character"
                  }
                ]
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"deepgram/aura-2\", \"input\": \"Good afternoon! This is a short voice take.\"}')\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nallowed=json.loads('[\"aura-2-thalia-en\", \"aura-2-agathe-fr\", \"aura-2-agustina-es\", \"aura-2-alvaro-es\", \"aura-2-ama-ja\", \"aura-2-amalthea-en\", \"aura-2-andromeda-en\", \"aura-2-antonia-es\", \"aura-2-apollo-en\", \"aura-2-aquila-es\", \"aura-2-arcas-en\", \"aura-2-aries-en\", \"aura-2-asteria-en\", \"aura-2-athena-en\", \"aura-2-atlas-en\", \"aura-2-aurelia-de\", \"aura-2-aurora-en\", \"aura-2-beatrix-nl\", \"aura-2-callista-en\", \"aura-2-carina-es\", \"aura-2-celeste-es\", \"aura-2-cesare-it\", \"aura-2-cinzia-it\", \"aura-2-cora-en\", \"aura-2-cordelia-en\", \"aura-2-cornelia-nl\", \"aura-2-daphne-nl\", \"aura-2-delia-en\", \"aura-2-demetra-it\", \"aura-2-diana-es\", \"aura-2-dionisio-it\", \"aura-2-draco-en\", \"aura-2-ebisu-ja\", \"aura-2-elara-de\", \"aura-2-electra-en\", \"aura-2-elio-it\", \"aura-2-estrella-es\", \"aura-2-fabian-de\", \"aura-2-flavio-it\", \"aura-2-fujin-ja\", \"aura-2-gloria-es\", \"aura-2-harmonia-en\", \"aura-2-hector-fr\", \"aura-2-helena-en\", \"aura-2-hera-en\", \"aura-2-hermes-en\", \"aura-2-hestia-nl\", \"aura-2-hyperion-en\", \"aura-2-iris-en\", \"aura-2-izanami-ja\", \"aura-2-janus-en\", \"aura-2-javier-es\", \"aura-2-julius-de\", \"aura-2-juno-en\", \"aura-2-jupiter-en\", \"aura-2-kara-de\", \"aura-2-lara-de\", \"aura-2-lars-nl\", \"aura-2-leda-nl\", \"aura-2-livia-it\", \"aura-2-luciano-es\", \"aura-2-luna-en\", \"aura-2-maia-it\", \"aura-2-mars-en\", \"aura-2-melia-it\", \"aura-2-minerva-en\", \"aura-2-neptune-en\", \"aura-2-nestor-es\", \"aura-2-odysseus-en\", \"aura-2-olivia-es\", \"aura-2-ophelia-en\", \"aura-2-orion-en\", \"aura-2-orpheus-en\", \"aura-2-pandora-en\", \"aura-2-phoebe-en\", \"aura-2-pluto-en\", \"aura-2-rhea-nl\", \"aura-2-roman-nl\", \"aura-2-sander-nl\", \"aura-2-saturn-en\", \"aura-2-selena-es\", \"aura-2-selene-en\", \"aura-2-silvia-es\", \"aura-2-sirio-es\", \"aura-2-theia-en\", \"aura-2-uzume-ja\", \"aura-2-valerio-es\", \"aura-2-vesta-en\", \"aura-2-viktoria-de\", \"aura-2-zeus-en\"]')\nif voice not in allowed: raise SystemExit(\"Choose an accepted voice ID from this exact model profile\")\np[\"voice\"]=voice\np[\"response_format\"]=\"mp3\"\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o speech.mp3\n",
            "label": "curl",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-assets.json\n",
            "label": "List actual media assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_MEDIA_TASK_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/tasks/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-task.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-task.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual media task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_ASSET_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/assets/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-asset.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-asset.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual asset metadata",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Select exact voice from this model profile.",
          "Input characters and audio seconds are different meters."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Озвучка текста",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "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_character": 6e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input character"
            },
            "label": "input character",
            "units": [
              {
                "amount": "0.00006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00006",
                "native_quantity": 1,
                "public_unit_label": "per input character",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_character"
              }
            ]
          }
        ],
        "request_model_id": "deepgram/aura-2",
        "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.00006",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00006",
            "native_quantity": 1,
            "public_unit_label": "per input character",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_character"
          }
        ]
      }
    }
  ],
  "model_id": "deepgram/aura-2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "c0259f73b2222f5c7aa160f18cdc052ea457c987b49d8861eeb886d94c5a0d0c",
    "input_html_sha256": "377bd0a5e4a42a70eb3e46470260704c53779a277a739052a26b0bc5aa33c128",
    "private_audit_sha256": "a1927fa085bff5c9155f52af916bcd6373e97d00a922c701fcc1da7d73fe8817",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/vi/deepgram-aura-2/",
    "description": "Deepgram Aura-2 tạo giọng nói bằng tiếng Anh, Tây Ban Nha, Đức, Pháp, Hà Lan, Ý và Nhật. Danh mục giọng, nhịp đọc thích ứng với văn bản và điều khiển phát âm riêng theo ngôn ngữ hỗ trợ lời hướng dẫn bằng giọng nói, lời dẫn và ứng dụng đa ngôn ngữ.",
    "locale": "vi",
    "md_url": "https://ailoot.ai/models/vi/deepgram-aura-2/index.md",
    "title": "Deepgram: Aura-2 — Ailoot",
    "url": "https://ailoot.ai/models/vi/deepgram-aura-2/"
  },
  "rawModel": {
    "about": "Aura-2 là họ mô hình chuyển văn bản thành giọng nói của Deepgram với giọng ở bảy ngôn ngữ: tiếng Anh, Tây Ban Nha, Đức, Pháp, Hà Lan, Ý và Nhật. Mô hình chuyển văn bản được cung cấp thành lời nói cho phản hồi dịch vụ khách hàng, menu điện thoại, lời giải thích và lời dẫn. Nhà sản xuất mô tả nhịp đọc, mức biểu cảm và từ đệm hội thoại là phản ứng theo câu chữ và ngữ cảnh của văn bản được cung cấp.\n\n### Chọn giọng phù hợp với ngôn ngữ và nhiệm vụ\n\nMỗi giọng được xác định theo họ mô hình, người nói và ngôn ngữ. Danh mục phân biệt chất giọng vùng miền và đặc điểm thể hiện thay vì coi mọi người nói đều có thể thay thế cho nhau. Thalia là lựa chọn tiếng Anh giọng Mỹ đầy năng lượng; Draco là giọng Anh gắn với kể chuyện; Celeste là giọng tiếng Tây Ban Nha Colombia gắn với hội thoại và thông báo. Chọn giọng dựa trên kịch bản thực tế và người nghe.\n\nMột số giọng tiếng Tây Ban Nha hỗ trợ chuyển đổi qua lại giữa tiếng Anh và Tây Ban Nha: Aquila, Carina, Diana, Javier và Selena. Khả năng này thuộc các giọng được nêu tên đó, không phải mọi giọng trong họ mô hình. Với đoạn văn trộn ngôn ngữ, giữ ngôn ngữ dự kiến của tên sản phẩm và cụm từ trích dẫn, đồng thời nghe điểm chuyển bằng người nói có hồ sơ được công bố hỗ trợ nhiệm vụ đó.\n\n### Soạn văn bản để đọc thành lời\n\nHướng dẫn định dạng Aura-2 khuyến nghị dấu câu kết thúc câu, dấu hỏi cho câu hỏi, dấu phẩy cho khoảng nghỉ tự nhiên và cụm từ ngắn đứng riêng. Cung cấp văn bản lời nói cuối cùng, không phải chỉ dẫn yêu cầu bộ tổng hợp viết thông điệp. Một kịch bản định hướng hữu ích là: “Chào mừng bạn. Chọn ngôn ngữ, sau đó chọn chủ đề bạn cần. Bạn có thể nghe lại hướng dẫn bất cứ lúc nào.” Dấu câu tách các hành động của người nghe và giúp mô hình có nhịp điệu rõ hơn.\n\nViết mã định danh thành các chữ cái riêng khi phải đọc từng ký tự. Giải thích từ viết tắt và tránh câu dài nối liên tục khi cần giải thích nhiều điều kiện. Nhà sản xuất cũng khuyến nghị đặt từ lệnh trong dấu ngoặc kép và đọc thử thành tiếng một đoạn trước khi tổng hợp. Với lời dẫn giáo dục hoặc sản phẩm, giữ các thuật ngữ quan trọng trong khi chuyển tiêu đề viết sẵn và danh sách dày đặc thành cụm lời hoàn chỉnh.\n\n### Nhịp đọc và phát âm\n\nNhà sản xuất công bố các điều khiển tốc độ và phát âm IPA cho tiếng Anh và Tây Ban Nha. Phạm vi tốc độ nói của Aura-2 là 0.7 đến 1.5; với tiếng Tây Ban Nha, hãng khuyến nghị 0.9 đến 1.5 vì thiết lập chậm hơn có thể khiến lời nói kém trôi chảy. Phát âm và tốc độ có thể kết hợp trong họ mô hình này. Thiết lập ghi đè IPA có thể nhắm đến tên hoặc thuật ngữ chuyên môn, và quy ước Aura-2 đặt dấu trọng âm ngay trước nguyên âm.\n\nĐặc tả điều khiển phát âm cho phép tối đa năm trăm thiết lập ghi đè, với mỗi chuỗi IPA không dài quá 128 ký tự, và công bố giới hạn văn bản đầu vào 2.000 ký tự cho quy trình đó. Aura-2 không hỗ trợ tính năng điều khiển khoảng nghỉ tường minh được công bố cho Flux TTS. Dùng cấu trúc câu và dấu câu để chuẩn bị nhịp điệu, đồng thời chia nội dung dài hơn thành các đoạn mạch lạc khi quy trình đã chọn yêu cầu.\n\n### Cung cấp và sử dụng âm thanh\n\nNhà sản xuất cung cấp quy trình tổng hợp theo yêu cầu hoàn chỉnh và truyền luồng văn bản thành âm thanh. Hướng dẫn phương tiện phân biệt PCM, mu-law và A-law truyền luồng thô với các tùy chọn đầu ra dạng tệp như WAV, MP3, Opus, FLAC và AAC. Giá trị PCM/WAV mặc định được công bố cho quy trình yêu cầu Aura là 24 kHz. Bộ chứa tệp, tần số lấy mẫu và mã hóa tạo thành các tổ hợp hợp lệ; kết nối điện thoại và tệp lời dẫn tải xuống có thể cần lựa chọn khác nhau.\n\nAura-2 là họ mô hình riêng, tách biệt với Aura thế hệ đầu và Flux TTS. Trạng thái xuyên lượt, phản hồi khi ngắt lời và điều khiển khoảng nghỉ chỉ dành cho chế độ theo lô của Flux không phải những tính năng có thể suy ra từ tên giọng Aura-2. Đầu ra hữu ích là phiên bản đọc thành lời của kịch bản thực tế bằng ngôn ngữ, chất giọng vùng miền và cách biểu diễn âm thanh phù hợp. Kiểm tra tên riêng, điểm chuyển ngôn ngữ, nhịp đọc theo dấu câu và chỉ dẫn quan trọng với người nghe dự kiến trước khi tái sử dụng bản ghi.",
    "alias_of": null,
    "aliases": [],
    "author": "Deepgram",
    "available": null,
    "canonical_model": "deepgram/aura-2",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00006",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00006",
            "native_quantity": 1,
            "public_unit_label": "per input character",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_character"
          }
        ],
        "summary": "Giá theo cấu hình được trình bày đầy đủ trong phần chi tiết."
      }
    ],
    "ctx": null,
    "entity_type": "model",
    "formats": [
      "speech"
    ],
    "id": "deepgram/aura-2",
    "input": [
      "text"
    ],
    "kind": "speech",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.",
            "errors": [
              {
                "code": null,
                "condition": "Trường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ",
                "http_status": 400,
                "recovery": "Sửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Phản hồi trả về cho biết thao tác hoặc kết quả cần được kiểm tra",
                "http_status": null,
                "recovery": "Giữ lại ID thao tác/tác vụ gốc đã trả về, các header của yêu cầu và toàn bộ phản hồi; tiếp tục truy xuất thao tác gốc đó bằng các phương thức được hỗ trợ. Không gửi lại yêu cầu tạo.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Giữ lại operation_id/X-Client-Request-ID gốc để đối soát mà không gửi lại yêu cầu; không có tuyến truy vấn trạng thái riêng cho âm thanh."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "input"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_speech"
            ],
            "outputs": {
              "all_results": "Giữ lại toàn bộ kết quả nhị phân và các header. Nếu phản hồi ở dạng JSON hoặc chứa nhiều đầu ra, giữ lại mọi phần tử dữ liệu và tải từng tài nguyên từ URL có chữ ký thực tế.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "mp3",
              "http_success": 200
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "deepgram/aura-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "limit_known": false,
                "maximum_length": null,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "ký tự Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "aura-2-thalia-en",
                  "aura-2-agathe-fr",
                  "aura-2-agustina-es",
                  "aura-2-alvaro-es",
                  "aura-2-ama-ja",
                  "aura-2-amalthea-en",
                  "aura-2-andromeda-en",
                  "aura-2-antonia-es",
                  "aura-2-apollo-en",
                  "aura-2-aquila-es",
                  "aura-2-arcas-en",
                  "aura-2-aries-en",
                  "aura-2-asteria-en",
                  "aura-2-athena-en",
                  "aura-2-atlas-en",
                  "aura-2-aurelia-de",
                  "aura-2-aurora-en",
                  "aura-2-beatrix-nl",
                  "aura-2-callista-en",
                  "aura-2-carina-es",
                  "aura-2-celeste-es",
                  "aura-2-cesare-it",
                  "aura-2-cinzia-it",
                  "aura-2-cora-en",
                  "aura-2-cordelia-en",
                  "aura-2-cornelia-nl",
                  "aura-2-daphne-nl",
                  "aura-2-delia-en",
                  "aura-2-demetra-it",
                  "aura-2-diana-es",
                  "aura-2-dionisio-it",
                  "aura-2-draco-en",
                  "aura-2-ebisu-ja",
                  "aura-2-elara-de",
                  "aura-2-electra-en",
                  "aura-2-elio-it",
                  "aura-2-estrella-es",
                  "aura-2-fabian-de",
                  "aura-2-flavio-it",
                  "aura-2-fujin-ja",
                  "aura-2-gloria-es",
                  "aura-2-harmonia-en",
                  "aura-2-hector-fr",
                  "aura-2-helena-en",
                  "aura-2-hera-en",
                  "aura-2-hermes-en",
                  "aura-2-hestia-nl",
                  "aura-2-hyperion-en",
                  "aura-2-iris-en",
                  "aura-2-izanami-ja",
                  "aura-2-janus-en",
                  "aura-2-javier-es",
                  "aura-2-julius-de",
                  "aura-2-juno-en",
                  "aura-2-jupiter-en",
                  "aura-2-kara-de",
                  "aura-2-lara-de",
                  "aura-2-lars-nl",
                  "aura-2-leda-nl",
                  "aura-2-livia-it",
                  "aura-2-luciano-es",
                  "aura-2-luna-en",
                  "aura-2-maia-it",
                  "aura-2-mars-en",
                  "aura-2-melia-it",
                  "aura-2-minerva-en",
                  "aura-2-neptune-en",
                  "aura-2-nestor-es",
                  "aura-2-odysseus-en",
                  "aura-2-olivia-es",
                  "aura-2-ophelia-en",
                  "aura-2-orion-en",
                  "aura-2-orpheus-en",
                  "aura-2-pandora-en",
                  "aura-2-phoebe-en",
                  "aura-2-pluto-en",
                  "aura-2-rhea-nl",
                  "aura-2-roman-nl",
                  "aura-2-sander-nl",
                  "aura-2-saturn-en",
                  "aura-2-selena-es",
                  "aura-2-selene-en",
                  "aura-2-silvia-es",
                  "aura-2-sirio-es",
                  "aura-2-theia-en",
                  "aura-2-uzume-ja",
                  "aura-2-valerio-es",
                  "aura-2-vesta-en",
                  "aura-2-viktoria-de",
                  "aura-2-zeus-en"
                ],
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "every field outside exactmodel,input,voice,response_format",
              "stream/speed/reference speech options"
            ]
          },
          "hints": [
            "Chọn giọng nói chính xác từ hồ sơ mô hình này.",
            "Ký tự đầu vào và giây âm thanh là các đơn vị đo tính phí khác nhau."
          ],
          "input": {
            "content_type": "application/json",
            "input": "văn bản UTF-8 nguyên dạng; đếm ký tự Unicode mà không chuẩn hóa",
            "material_types": [
              "text"
            ],
            "max_input_characters": null,
            "other_options": false,
            "required": [
              "model",
              "input",
              "voice",
              "response_format"
            ],
            "response_format": [
              "mp3"
            ],
            "voice_ids": [
              "aura-2-thalia-en",
              "aura-2-agathe-fr",
              "aura-2-agustina-es",
              "aura-2-alvaro-es",
              "aura-2-ama-ja",
              "aura-2-amalthea-en",
              "aura-2-andromeda-en",
              "aura-2-antonia-es",
              "aura-2-apollo-en",
              "aura-2-aquila-es",
              "aura-2-arcas-en",
              "aura-2-aries-en",
              "aura-2-asteria-en",
              "aura-2-athena-en",
              "aura-2-atlas-en",
              "aura-2-aurelia-de",
              "aura-2-aurora-en",
              "aura-2-beatrix-nl",
              "aura-2-callista-en",
              "aura-2-carina-es",
              "aura-2-celeste-es",
              "aura-2-cesare-it",
              "aura-2-cinzia-it",
              "aura-2-cora-en",
              "aura-2-cordelia-en",
              "aura-2-cornelia-nl",
              "aura-2-daphne-nl",
              "aura-2-delia-en",
              "aura-2-demetra-it",
              "aura-2-diana-es",
              "aura-2-dionisio-it",
              "aura-2-draco-en",
              "aura-2-ebisu-ja",
              "aura-2-elara-de",
              "aura-2-electra-en",
              "aura-2-elio-it",
              "aura-2-estrella-es",
              "aura-2-fabian-de",
              "aura-2-flavio-it",
              "aura-2-fujin-ja",
              "aura-2-gloria-es",
              "aura-2-harmonia-en",
              "aura-2-hector-fr",
              "aura-2-helena-en",
              "aura-2-hera-en",
              "aura-2-hermes-en",
              "aura-2-hestia-nl",
              "aura-2-hyperion-en",
              "aura-2-iris-en",
              "aura-2-izanami-ja",
              "aura-2-janus-en",
              "aura-2-javier-es",
              "aura-2-julius-de",
              "aura-2-juno-en",
              "aura-2-jupiter-en",
              "aura-2-kara-de",
              "aura-2-lara-de",
              "aura-2-lars-nl",
              "aura-2-leda-nl",
              "aura-2-livia-it",
              "aura-2-luciano-es",
              "aura-2-luna-en",
              "aura-2-maia-it",
              "aura-2-mars-en",
              "aura-2-melia-it",
              "aura-2-minerva-en",
              "aura-2-neptune-en",
              "aura-2-nestor-es",
              "aura-2-odysseus-en",
              "aura-2-olivia-es",
              "aura-2-ophelia-en",
              "aura-2-orion-en",
              "aura-2-orpheus-en",
              "aura-2-pandora-en",
              "aura-2-phoebe-en",
              "aura-2-pluto-en",
              "aura-2-rhea-nl",
              "aura-2-roman-nl",
              "aura-2-sander-nl",
              "aura-2-saturn-en",
              "aura-2-selena-es",
              "aura-2-selene-en",
              "aura-2-silvia-es",
              "aura-2-sirio-es",
              "aura-2-theia-en",
              "aura-2-uzume-ja",
              "aura-2-valerio-es",
              "aura-2-vesta-en",
              "aura-2-viktoria-de",
              "aura-2-zeus-en"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "family": "audio",
            "format": "mp3",
            "http_success": 200,
            "response": "full binary MP3 plus response headers",
            "result": "complete playable owned MP3"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input character"
            },
            "label": "input character",
            "units": [
              {
                "amount": "0.00006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00006",
                "native_quantity": 1,
                "public_unit_label": "per input character",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_character"
              }
            ]
          }
        ],
        "declared_tariff_references": [
          {
            "client_selectable": false,
            "key": "6be270d373c5634e423e",
            "label": "Deepgram: Aura-2",
            "profiles": [
              {
                "basis": "",
                "dimensions": {
                  "conditions": "Cấu hình mặc định"
                },
                "label": "Deepgram: Aura-2 · Cấu hình mặc định",
                "units": [
                  {
                    "amount": "0.00006",
                    "amount_unit": "usd_per_exact_physical_unit",
                    "billing_input": false,
                    "key": "a771a87d10f80abfd8f1b8cc",
                    "label": "Input characters",
                    "public_unit_label": "per input character",
                    "quantity": "1",
                    "rate_role": "declared_tariff_rate",
                    "side": "in",
                    "unit": "input_character"
                  }
                ]
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"deepgram/aura-2\", \"input\": \"Good afternoon! This is a short voice take.\"}')\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nallowed=json.loads('[\"aura-2-thalia-en\", \"aura-2-agathe-fr\", \"aura-2-agustina-es\", \"aura-2-alvaro-es\", \"aura-2-ama-ja\", \"aura-2-amalthea-en\", \"aura-2-andromeda-en\", \"aura-2-antonia-es\", \"aura-2-apollo-en\", \"aura-2-aquila-es\", \"aura-2-arcas-en\", \"aura-2-aries-en\", \"aura-2-asteria-en\", \"aura-2-athena-en\", \"aura-2-atlas-en\", \"aura-2-aurelia-de\", \"aura-2-aurora-en\", \"aura-2-beatrix-nl\", \"aura-2-callista-en\", \"aura-2-carina-es\", \"aura-2-celeste-es\", \"aura-2-cesare-it\", \"aura-2-cinzia-it\", \"aura-2-cora-en\", \"aura-2-cordelia-en\", \"aura-2-cornelia-nl\", \"aura-2-daphne-nl\", \"aura-2-delia-en\", \"aura-2-demetra-it\", \"aura-2-diana-es\", \"aura-2-dionisio-it\", \"aura-2-draco-en\", \"aura-2-ebisu-ja\", \"aura-2-elara-de\", \"aura-2-electra-en\", \"aura-2-elio-it\", \"aura-2-estrella-es\", \"aura-2-fabian-de\", \"aura-2-flavio-it\", \"aura-2-fujin-ja\", \"aura-2-gloria-es\", \"aura-2-harmonia-en\", \"aura-2-hector-fr\", \"aura-2-helena-en\", \"aura-2-hera-en\", \"aura-2-hermes-en\", \"aura-2-hestia-nl\", \"aura-2-hyperion-en\", \"aura-2-iris-en\", \"aura-2-izanami-ja\", \"aura-2-janus-en\", \"aura-2-javier-es\", \"aura-2-julius-de\", \"aura-2-juno-en\", \"aura-2-jupiter-en\", \"aura-2-kara-de\", \"aura-2-lara-de\", \"aura-2-lars-nl\", \"aura-2-leda-nl\", \"aura-2-livia-it\", \"aura-2-luciano-es\", \"aura-2-luna-en\", \"aura-2-maia-it\", \"aura-2-mars-en\", \"aura-2-melia-it\", \"aura-2-minerva-en\", \"aura-2-neptune-en\", \"aura-2-nestor-es\", \"aura-2-odysseus-en\", \"aura-2-olivia-es\", \"aura-2-ophelia-en\", \"aura-2-orion-en\", \"aura-2-orpheus-en\", \"aura-2-pandora-en\", \"aura-2-phoebe-en\", \"aura-2-pluto-en\", \"aura-2-rhea-nl\", \"aura-2-roman-nl\", \"aura-2-sander-nl\", \"aura-2-saturn-en\", \"aura-2-selena-es\", \"aura-2-selene-en\", \"aura-2-silvia-es\", \"aura-2-sirio-es\", \"aura-2-theia-en\", \"aura-2-uzume-ja\", \"aura-2-valerio-es\", \"aura-2-vesta-en\", \"aura-2-viktoria-de\", \"aura-2-zeus-en\"]')\nif voice not in allowed: raise SystemExit(\"Choose an accepted voice ID from this exact model profile\")\np[\"voice\"]=voice\np[\"response_format\"]=\"mp3\"\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o speech.mp3\n",
            "label": "curl",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-assets.json\n",
            "label": "List actual media assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_MEDIA_TASK_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/tasks/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-task.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-task.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual media task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_ASSET_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/assets/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-asset.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-asset.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual asset metadata",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Select exact voice from this model profile.",
          "Input characters and audio seconds are different meters."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Озвучка текста",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "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_character": 6e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input character"
            },
            "label": "input character",
            "units": [
              {
                "amount": "0.00006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00006",
                "native_quantity": 1,
                "public_unit_label": "per input character",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_character"
              }
            ]
          }
        ],
        "request_model_id": "deepgram/aura-2",
        "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.00006",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00006",
            "native_quantity": 1,
            "public_unit_label": "per input character",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_character"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "deepgram/aura-2",
        "request_model_id": "deepgram/aura-2",
        "route_label": "Ultra"
      }
    ],
    "name": "Deepgram: Aura-2",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.00006",
            "amount_unit": "usd_per_declared_unit",
            "conditions": {},
            "key": "prompt",
            "label": "prompt",
            "quantity": "1",
            "rate_role": "typed_active_maker_rate",
            "side": "in",
            "unit": "input_character"
          }
        ]
      }
    ],
    "public_id": "deepgram/aura-2",
    "short": "Deepgram Aura-2 tạo giọng nói bằng tiếng Anh, Tây Ban Nha, Đức, Pháp, Hà Lan, Ý và Nhật. Danh mục giọng, nhịp đọc thích ứng với văn bản và điều khiển phát âm riêng theo ngôn ngữ hỗ trợ lời hướng dẫn bằng giọng nói, lời dẫn và ứng dụng đa ngôn ngữ."
  },
  "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": "Deepgram Aura-2 tạo giọng nói bằng tiếng Anh, Tây Ban Nha, Đức, Pháp, Hà Lan, Ý và Nhật. Danh mục giọng, nhịp đọc thích ứng với văn bản và điều khiển phát âm riêng theo ngôn ngữ hỗ trợ lời hướng dẫn bằng giọng nói, lời dẫn và ứng dụng đa ngôn ngữ.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "0ce85c9b8eac037ba4e681dbb1477e4c56fb24790640ec28b95e471f898f6460",
    "renderer_sha256": "64a62299639eb843877e9ec5c95e32bf22bac3acfe230f6f502c5c3aa186f9c1"
  },
  "sourceRevision": "907192d9a82ec3aea2ca5816aeeda13fc885054b2a086e8c9d20e35b951367e7"
}
