{
  "aboutHtml": "<p>ByteDance Seed Audio 1.0 là mô hình tạo âm thanh tổ chức quanh cảnh âm thanh. Lời nói, hiệu ứng và không khí nền có thể cùng được định hình qua bản yêu cầu văn bản. Điều này hữu ích cho truyện có giọng, cuộc chạm trán trong trò chơi, trao đổi kịch ngắn hoặc cảnh đi kèm video đã dựng. Với công việc chỉ giọng, mô tả người nói và cách diễn; với cảnh đầy đủ hơn, còn mô tả môi trường âm học và quan hệ giữa hội thoại với âm thanh xung quanh.</p><p>Chuẩn bị bản yêu cầu theo thứ tự người nghe cần trải nghiệm cảnh. Xác định nhân vật, trạng thái cảm xúc mong muốn và lời họ cần nói. Sau đó mô tả không gian, tín hiệu âm thanh quan trọng, cách khoảnh khắc phát triển. Bản yêu cầu sản xuất cần phân biệt hội thoại chính xác với mô tả cảnh để kiểm tra kết quả theo cả hai. Nêu yếu tố nào thiết yếu cho hiểu nội dung, yếu tố nào phải ở nền. Phòng yên, ga đông và sân mở cần thiết kế âm thanh khác nhau ngay cả khi câu nói giống hệt.</p><p>Ví dụ cụ thể là nhân vật trò chơi trấn an bạn đồng hành trong cảnh trú ngắn: giọng tiết chế nói “Chúng ta có thể đợi ở đây,” với nền mưa nhỏ và một tiếng bước chân tiến lại sau câu. Kiểm tra nghe hữu ích là lời còn rõ không, giọng có truyền trấn an không, tín hiệu đến tại điểm hợp lý trong cảnh không. Bản yêu cầu khác có thể đề nghị người dẫn rõ giọng giới thiệu sản phẩm, không có không khí xung quanh. Đây là cách minh họa để xác định ý định, không phải bản ghi âm thanh đã tạo hoặc cam kết về bản phối hoàn chỉnh.</p><p>Nhà phát triển ghi nhận điều khiển thời gian ở cấp lời nhắc cho hội thoại nhân vật theo khoảng 100 ms. Dùng điều khiển đó mô tả lúc câu cần vào trong chuỗi có kịch bản hoặc lên kế hoạch lời nói theo bản dựng hiện có. Giữ thời gian hội thoại riêng với vị trí hiệu ứng, không khí nền: bản phát hành xác định hội thoại nhân vật là trọng tâm điều khiển thời gian chính. Kiểm tra thời điểm bắt đầu, khoảng dừng, chồng lấn thực tế theo cảnh dự kiến. Khoảng thời gian mô tả độ mịn điều khiển của mô hình, không loại nhu cầu nghe phần diễn cuối.</p><p>Giọng có thể được xác định bằng mô tả văn bản, mẫu tham chiếu được cho phép hoặc cả hai. Nhà sản xuất trình bày đây là định hình giọng không cần huấn luyện mô hình riêng cho mỗi người nói. Mô tả đặc trưng giọng ổn định tách với cảm xúc câu hiện tại. Nhân vật lặp lại có thể cần mở đầu bình tĩnh, phản hồi gấp mà vẫn dễ nhận ra. Khi chuẩn bị thực tế, chọn tham chiếu rõ, giọng mong muốn dễ nghe, xác định điều cần chuyển sang phần diễn mới. Giữ tham chiếu và bản mô tả nhân vật nhất quán khi chuẩn bị cảnh liên quan.</p><p>Bản phát hành ghi nhận tạo âm thanh trên hơn 20 ngôn ngữ, gồm tiếng Trung, Anh, Nhật, Hàn, Tây Ban Nha, Indonesia, Đức, Pháp, Thái và Việt. Mô tả khả năng điều chỉnh giọng nhân vật dễ nhận ra theo nhịp, cách biểu đạt của ngôn ngữ khác nhau. Cung cấp hội thoại bằng ngôn ngữ cuối và kiểm tra tên, nhấn giọng, khoảng dừng, sắc thái cảm xúc với người nghe hiểu ngôn ngữ đó. Với bản đa ngôn ngữ, giữ vai nhân vật, ý định cảm xúc ổn định nhưng để mỗi kịch bản đủ chỗ diễn đạt tự nhiên. Chuẩn bị bản dịch như phần công việc kịch bản thay vì giả định bản yêu cầu cảnh âm thanh cung cấp mọi quyết định bản địa hóa.</p><p>Seed Audio 1.0 có thể tạo tối đa hai phút trong một lượt và hỗ trợ nối tiếp, theo công bố nhà phát triển. Truyện dài hưởng lợi từ ranh giới cảnh, bản mô tả nhân vật tái sử dụng. Ở mỗi lần nối, nghe thay đổi giọng, chất nền, nhịp và những từ nối các phần. Xem âm thanh trả về là tài nguyên để nghe: kiểm tra thông tin tệp thực tế khi chuẩn bị phát hoặc nhập vào trình biên tập, giữ kịch bản và yêu cầu cảnh bên cạnh để sửa. Sản phẩm ghép cần kiểm tra như cảnh liên tục, không chỉ các clip riêng.</p><p>Nhà sản xuất mô tả khung thống nhất, trong đó ý định sáng tạo ở cấp ngôn ngữ hướng bộ tạo âm học dựa trên khuếch tán. Ý nghĩa thực tế cho bản yêu cầu là có thể xem xét giọng và môi trường cùng nhau. Tập trung vài quan hệ định hình cảnh: câu nói có ở tiền cảnh không, hiệu ứng có ngắt nó không và bầu không khí hỗ trợ khoảnh khắc cảm xúc thế nào. Thêm nhiều tín hiệu không liên quan khiến khó xác định phần kết quả cần sửa. Đổi chỉ đạo cho đoạn ấy khi tín hiệu cạnh tranh với hội thoại hoặc cách diễn thiếu sắc thái mong muốn.</p><p>Tính liên tục của giọng trong tư liệu dài, phức tạp và thời gian tinh hơn giữa yếu tố âm thanh vẫn là lĩnh vực phát triển được bản phát hành xác định. Giữ kiểm tra sản xuất cụ thể: lời chính xác, danh tính người nói, ngôn ngữ, điểm vào, độ dễ hiểu và nhất quán qua các lần mở rộng. Đầu ra hữu ích là cảnh nghe được hoặc phần trình diễn lời nói. Quyết định riêng về cắt dựng, phụ đề và định dạng bàn giao có thể dựa trên kết quả thực tế đó cùng yêu cầu nơi sản xuất đích.</p>",
  "aboutText": "ByteDance Seed Audio 1.0 là mô hình tạo âm thanh tổ chức quanh cảnh âm thanh. Lời nói, hiệu ứng và không khí nền có thể cùng được định hình qua bản yêu cầu văn bản. Điều này hữu ích cho truyện có giọng, cuộc chạm trán trong trò chơi, trao đổi kịch ngắn hoặc cảnh đi kèm video đã dựng. Với công việc chỉ giọng, mô tả người nói và cách diễn; với cảnh đầy đủ hơn, còn mô tả môi trường âm học và quan hệ giữa hội thoại với âm thanh xung quanh.\n\nChuẩn bị bản yêu cầu theo thứ tự người nghe cần trải nghiệm cảnh. Xác định nhân vật, trạng thái cảm xúc mong muốn và lời họ cần nói. Sau đó mô tả không gian, tín hiệu âm thanh quan trọng, cách khoảnh khắc phát triển. Bản yêu cầu sản xuất cần phân biệt hội thoại chính xác với mô tả cảnh để kiểm tra kết quả theo cả hai. Nêu yếu tố nào thiết yếu cho hiểu nội dung, yếu tố nào phải ở nền. Phòng yên, ga đông và sân mở cần thiết kế âm thanh khác nhau ngay cả khi câu nói giống hệt.\n\nVí dụ cụ thể là nhân vật trò chơi trấn an bạn đồng hành trong cảnh trú ngắn: giọng tiết chế nói “Chúng ta có thể đợi ở đây,” với nền mưa nhỏ và một tiếng bước chân tiến lại sau câu. Kiểm tra nghe hữu ích là lời còn rõ không, giọng có truyền trấn an không, tín hiệu đến tại điểm hợp lý trong cảnh không. Bản yêu cầu khác có thể đề nghị người dẫn rõ giọng giới thiệu sản phẩm, không có không khí xung quanh. Đây là cách minh họa để xác định ý định, không phải bản ghi âm thanh đã tạo hoặc cam kết về bản phối hoàn chỉnh.\n\nNhà phát triển ghi nhận điều khiển thời gian ở cấp lời nhắc cho hội thoại nhân vật theo khoảng 100 ms. Dùng điều khiển đó mô tả lúc câu cần vào trong chuỗi có kịch bản hoặc lên kế hoạch lời nói theo bản dựng hiện có. Giữ thời gian hội thoại riêng với vị trí hiệu ứng, không khí nền: bản phát hành xác định hội thoại nhân vật là trọng tâm điều khiển thời gian chính. Kiểm tra thời điểm bắt đầu, khoảng dừng, chồng lấn thực tế theo cảnh dự kiến. Khoảng thời gian mô tả độ mịn điều khiển của mô hình, không loại nhu cầu nghe phần diễn cuối.\n\nGiọng có thể được xác định bằng mô tả văn bản, mẫu tham chiếu được cho phép hoặc cả hai. Nhà sản xuất trình bày đây là định hình giọng không cần huấn luyện mô hình riêng cho mỗi người nói. Mô tả đặc trưng giọng ổn định tách với cảm xúc câu hiện tại. Nhân vật lặp lại có thể cần mở đầu bình tĩnh, phản hồi gấp mà vẫn dễ nhận ra. Khi chuẩn bị thực tế, chọn tham chiếu rõ, giọng mong muốn dễ nghe, xác định điều cần chuyển sang phần diễn mới. Giữ tham chiếu và bản mô tả nhân vật nhất quán khi chuẩn bị cảnh liên quan.\n\nBản phát hành ghi nhận tạo âm thanh trên hơn 20 ngôn ngữ, gồm tiếng Trung, Anh, Nhật, Hàn, Tây Ban Nha, Indonesia, Đức, Pháp, Thái và Việt. Mô tả khả năng điều chỉnh giọng nhân vật dễ nhận ra theo nhịp, cách biểu đạt của ngôn ngữ khác nhau. Cung cấp hội thoại bằng ngôn ngữ cuối và kiểm tra tên, nhấn giọng, khoảng dừng, sắc thái cảm xúc với người nghe hiểu ngôn ngữ đó. Với bản đa ngôn ngữ, giữ vai nhân vật, ý định cảm xúc ổn định nhưng để mỗi kịch bản đủ chỗ diễn đạt tự nhiên. Chuẩn bị bản dịch như phần công việc kịch bản thay vì giả định bản yêu cầu cảnh âm thanh cung cấp mọi quyết định bản địa hóa.\n\nSeed Audio 1.0 có thể tạo tối đa hai phút trong một lượt và hỗ trợ nối tiếp, theo công bố nhà phát triển. Truyện dài hưởng lợi từ ranh giới cảnh, bản mô tả nhân vật tái sử dụng. Ở mỗi lần nối, nghe thay đổi giọng, chất nền, nhịp và những từ nối các phần. Xem âm thanh trả về là tài nguyên để nghe: kiểm tra thông tin tệp thực tế khi chuẩn bị phát hoặc nhập vào trình biên tập, giữ kịch bản và yêu cầu cảnh bên cạnh để sửa. Sản phẩm ghép cần kiểm tra như cảnh liên tục, không chỉ các clip riêng.\n\nNhà sản xuất mô tả khung thống nhất, trong đó ý định sáng tạo ở cấp ngôn ngữ hướng bộ tạo âm học dựa trên khuếch tán. Ý nghĩa thực tế cho bản yêu cầu là có thể xem xét giọng và môi trường cùng nhau. Tập trung vài quan hệ định hình cảnh: câu nói có ở tiền cảnh không, hiệu ứng có ngắt nó không và bầu không khí hỗ trợ khoảnh khắc cảm xúc thế nào. Thêm nhiều tín hiệu không liên quan khiến khó xác định phần kết quả cần sửa. Đổi chỉ đạo cho đoạn ấy khi tín hiệu cạnh tranh với hội thoại hoặc cách diễn thiếu sắc thái mong muốn.\n\nTính liên tục của giọng trong tư liệu dài, phức tạp và thời gian tinh hơn giữa yếu tố âm thanh vẫn là lĩnh vực phát triển được bản phát hành xác định. Giữ kiểm tra sản xuất cụ thể: lời chính xác, danh tính người nói, ngôn ngữ, điểm vào, độ dễ hiểu và nhất quán qua các lần mở rộng. Đầu ra hữu ích là cảnh nghe được hoặc phần trình diễn lời nói. Quyết định riêng về cắt dựng, phụ đề và định dạng bàn giao có thể dựa trên kết quả thực tế đó cùng yêu cầu nơi sản xuất đích.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "02c1072d37515f9d1146a0fb66b5b5facd6b209cb38b397acab9e318463db7ce",
    "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\">ByteDance Seed: Seed Audio 1.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Đóng\">×</button></div><div class=\"idline\"><span>ByteDance Seed /</span><code>bytedance-seed/seed-audio-1-0</code><button type=\"button\" id=\"copy-id\">Sao chép ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Các phần của thẻ mô hình\"><button type=\"button\" data-card-jump=\"overview\">Bắt đầu</button><button type=\"button\" data-card-jump=\"methods\">Đầu vào &amp; phương thức</button><button type=\"button\" data-card-jump=\"pricing\">Bảng giá</button><button type=\"button\" data-card-jump=\"examples\">Ví dụ</button><button type=\"button\" data-card-jump=\"results\">Kết quả</button><button type=\"button\" data-card-jump=\"aliases\">Bí danh</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Phương thức API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|speech|/v1/audio/speech|bytedance-seed%2Fseed-audio-1-0\">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\">ByteDance Seed Audio 1.0 tạo phần trình diễn lời nói và cảnh âm thanh từ bản yêu cầu sáng tạo. Mô hình phối hợp giọng, hiệu ứng, không khí nền, hỗ trợ thời điểm hội thoại theo khoảng 100 ms và hơn 20 ngôn ngữ. Nhà phát triển mô tả mỗi lần tạo tối đa hai phút, có thể nối tiếp.</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>ByteDance Seed Audio 1.0 là mô hình tạo âm thanh tổ chức quanh cảnh âm thanh. Lời nói, hiệu ứng và không khí nền có thể cùng được định hình qua bản yêu cầu văn bản. Điều này hữu ích cho truyện có giọng, cuộc chạm trán trong trò chơi, trao đổi kịch ngắn hoặc cảnh đi kèm video đã dựng. Với công việc chỉ giọng, mô tả người nói và cách diễn; với cảnh đầy đủ hơn, còn mô tả môi trường âm học và quan hệ giữa hội thoại với âm thanh xung quanh.</p><p>Chuẩn bị bản yêu cầu theo thứ tự người nghe cần trải nghiệm cảnh. Xác định nhân vật, trạng thái cảm xúc mong muốn và lời họ cần nói. Sau đó mô tả không gian, tín hiệu âm thanh quan trọng, cách khoảnh khắc phát triển. Bản yêu cầu sản xuất cần phân biệt hội thoại chính xác với mô tả cảnh để kiểm tra kết quả theo cả hai. Nêu yếu tố nào thiết yếu cho hiểu nội dung, yếu tố nào phải ở nền. Phòng yên, ga đông và sân mở cần thiết kế âm thanh khác nhau ngay cả khi câu nói giống hệt.</p><p>Ví dụ cụ thể là nhân vật trò chơi trấn an bạn đồng hành trong cảnh trú ngắn: giọng tiết chế nói “Chúng ta có thể đợi ở đây,” với nền mưa nhỏ và một tiếng bước chân tiến lại sau câu. Kiểm tra nghe hữu ích là lời còn rõ không, giọng có truyền trấn an không, tín hiệu đến tại điểm hợp lý trong cảnh không. Bản yêu cầu khác có thể đề nghị người dẫn rõ giọng giới thiệu sản phẩm, không có không khí xung quanh. Đây là cách minh họa để xác định ý định, không phải bản ghi âm thanh đã tạo hoặc cam kết về bản phối hoàn chỉnh.</p><p>Nhà phát triển ghi nhận điều khiển thời gian ở cấp lời nhắc cho hội thoại nhân vật theo khoảng 100 ms. Dùng điều khiển đó mô tả lúc câu cần vào trong chuỗi có kịch bản hoặc lên kế hoạch lời nói theo bản dựng hiện có. Giữ thời gian hội thoại riêng với vị trí hiệu ứng, không khí nền: bản phát hành xác định hội thoại nhân vật là trọng tâm điều khiển thời gian chính. Kiểm tra thời điểm bắt đầu, khoảng dừng, chồng lấn thực tế theo cảnh dự kiến. Khoảng thời gian mô tả độ mịn điều khiển của mô hình, không loại nhu cầu nghe phần diễn cuối.</p><p>Giọng có thể được xác định bằng mô tả văn bản, mẫu tham chiếu được cho phép hoặc cả hai. Nhà sản xuất trình bày đây là định hình giọng không cần huấn luyện mô hình riêng cho mỗi người nói. Mô tả đặc trưng giọng ổn định tách với cảm xúc câu hiện tại. Nhân vật lặp lại có thể cần mở đầu bình tĩnh, phản hồi gấp mà vẫn dễ nhận ra. Khi chuẩn bị thực tế, chọn tham chiếu rõ, giọng mong muốn dễ nghe, xác định điều cần chuyển sang phần diễn mới. Giữ tham chiếu và bản mô tả nhân vật nhất quán khi chuẩn bị cảnh liên quan.</p><p>Bản phát hành ghi nhận tạo âm thanh trên hơn 20 ngôn ngữ, gồm tiếng Trung, Anh, Nhật, Hàn, Tây Ban Nha, Indonesia, Đức, Pháp, Thái và Việt. Mô tả khả năng điều chỉnh giọng nhân vật dễ nhận ra theo nhịp, cách biểu đạt của ngôn ngữ khác nhau. Cung cấp hội thoại bằng ngôn ngữ cuối và kiểm tra tên, nhấn giọng, khoảng dừng, sắc thái cảm xúc với người nghe hiểu ngôn ngữ đó. Với bản đa ngôn ngữ, giữ vai nhân vật, ý định cảm xúc ổn định nhưng để mỗi kịch bản đủ chỗ diễn đạt tự nhiên. Chuẩn bị bản dịch như phần công việc kịch bản thay vì giả định bản yêu cầu cảnh âm thanh cung cấp mọi quyết định bản địa hóa.</p><p>Seed Audio 1.0 có thể tạo tối đa hai phút trong một lượt và hỗ trợ nối tiếp, theo công bố nhà phát triển. Truyện dài hưởng lợi từ ranh giới cảnh, bản mô tả nhân vật tái sử dụng. Ở mỗi lần nối, nghe thay đổi giọng, chất nền, nhịp và những từ nối các phần. Xem âm thanh trả về là tài nguyên để nghe: kiểm tra thông tin tệp thực tế khi chuẩn bị phát hoặc nhập vào trình biên tập, giữ kịch bản và yêu cầu cảnh bên cạnh để sửa. Sản phẩm ghép cần kiểm tra như cảnh liên tục, không chỉ các clip riêng.</p><p>Nhà sản xuất mô tả khung thống nhất, trong đó ý định sáng tạo ở cấp ngôn ngữ hướng bộ tạo âm học dựa trên khuếch tán. Ý nghĩa thực tế cho bản yêu cầu là có thể xem xét giọng và môi trường cùng nhau. Tập trung vài quan hệ định hình cảnh: câu nói có ở tiền cảnh không, hiệu ứng có ngắt nó không và bầu không khí hỗ trợ khoảnh khắc cảm xúc thế nào. Thêm nhiều tín hiệu không liên quan khiến khó xác định phần kết quả cần sửa. Đổi chỉ đạo cho đoạn ấy khi tín hiệu cạnh tranh với hội thoại hoặc cách diễn thiếu sắc thái mong muốn.</p><p>Tính liên tục của giọng trong tư liệu dài, phức tạp và thời gian tinh hơn giữa yếu tố âm thanh vẫn là lĩnh vực phát triển được bản phát hành xác định. Giữ kiểm tra sản xuất cụ thể: lời chính xác, danh tính người nói, ngôn ngữ, điểm vào, độ dễ hiểu và nhất quán qua các lần mở rộng. Đầu ra hữu ích là cảnh nghe được hoặc phần trình diễn lời nói. Quyết định riêng về cắt dựng, phụ đề và định dạng bàn giao có thể dựa trên kết quả thực tế đó cùng yêu cầu nơi sản xuất đích.</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 · 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></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Trường</th><th>Loại</th><th>Yêu cầu</th><th>Giá trị &amp; giới hạn</th><th>Mặc định</th></tr></thead><tbody><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>bytedance-seed/seed-audio-1-0</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr><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></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">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>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>Độ dài tối thiểu: 1</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>mp3, pcm</div></td><td data-cell-label=\"Mặc định\" data-default=\"known\"><span class=\"card-cell-label\">Mặc định</span>pcm</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>object</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr></tbody></table></div><details class=\"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</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></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Bảng giá</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.</p><dl data-price-conditions><dt>Chế độ nhanh</dt><dd>Chưa chỉ định <span class=\"note-s\">Khi chọn chế độ nhanh</span></dd><dt>Chế độ Flex</dt><dd>Chưa chỉ định <span class=\"note-s\">Khi chọn chế độ flex</span></dd><dt>Mức độ suy luận tối đa</dt><dd>Chưa chỉ định <span class=\"note-s\">Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa</span></dd></dl></div><div data-declared-tariff-pricing><h4>Mức phí Ailoot</h4><h4>Giá theo cấu hình</h4><p class=\"note-s\">Đối chiếu từng khoản phí với điều kiện hiển thị. Dùng một mức phí cho mỗi nhóm cấu hình thay thế.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Cấu hình</th><th>Biểu mức phí</th><th>Đơn vị tính phí</th><th>Phí</th></tr></thead><tbody><tr><th data-cell-label=\"Cấu hình\" scope=\"row\"><span class=\"card-cell-label\">Cấu hình</span>Giá cơ sở cho token</th><td data-cell-label=\"Biểu mức phí\"><span class=\"card-cell-label\">Biểu mức phí</span>Mức phí cơ bản</td><td data-cell-label=\"Đơn vị tính phí\"><span class=\"card-cell-label\">Đơn vị tính phí</span>—</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu vào · Token đầu vào</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu ra · Token đầu ra</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Đọc bộ nhớ đệm</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Ghi bộ nhớ đệm</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Ghi bộ nhớ đệm, 1 giờ</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Cấu hình\" scope=\"row\"><span class=\"card-cell-label\">Cấu hình</span>Giây âm thanh đầu ra</th><td data-cell-label=\"Biểu mức phí\"><span class=\"card-cell-label\">Biểu mức phí</span>—</td><td data-cell-label=\"Đơn vị tính phí\"><span class=\"card-cell-label\">Đơn vị tính phí</span>mỗi giây âm thanh đầu ra</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu ra · Giây âm thanh đầu ra</span> <b>$0.005</b> <span class=\"price-unit\">mỗi giây âm thanh đầu ra</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. <a href=\"/docs/vi/billing/reserve/\">Cách hoạt động của cơ chế tạm giữ và quyết toán →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Ví dụ yêu cầu</h3><h4>Ailoot Ultra · 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-1119-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1119-panel-0\" aria-selected=\"true\" tabindex=\"0\">Sử dụng đầu vào thực tế và giữ lại kết quả đầy đủ</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Sao chép mã\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1119-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1119-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_TEXT:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_TEXT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;bytedance-seed/seed-audio-1-0&#39;, &#39;input&#39;: &#39;${ACTUAL_INPUT_TEXT}&#39;}\nrequest[&#39;input&#39;]=os.environ[&#39;AILOOT_INPUT_TEXT&#39;]\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\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 · Giọng nói</h4><p class=\"note-s\">Toàn bộ âm thanh nhị phân hoặc phản hồi audio_url gốc, tiêu đề và mọi tài sản thuộc quyền sở hữu.</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-1120-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1120-panel-0\" aria-selected=\"true\" tabindex=\"0\">Đọc tài nguyên hiện có thuộc về bạ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-1120-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1120-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 owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\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ộ phản hồi và các header, mọi đầu ra thực tế, các định danh gốc đã trả về và mọi trường usage. Khôi phục thao tác gốc mà không gửi lại yêu cầu tạo.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Nếu cần kiểm tra phản hồi gốc</h5><p class=\"note-s\">Giữ lại X-Client-Request-ID đã trả về để đối soát. Chỉ truy xuất theo các giá trị task_id/asset_id thực tế đã trả về hoặc từ thư viện nội dung đa phương tiện thuộc quyền sở hữu của bạn; tuyệt đối không tạo URL tác vụ từ ID thao tác và không gửi lại yêu cầu tạo.</p></div></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=bytedance-seed%2Fseed-audio-1-0&amp;route=Ultra&amp;caller=bytedance-seed%2Fseed-audio-1-0&amp;fmt=speech\"><code>bytedance-seed/seed-audio-1-0</code></a></span></p><h4>Bí danh đường dẫn phương thức</h4><p class=\"note-s\">Dùng các đường dẫn phương thức hiển thị ở trên.</p><h4>ID gọi liên quan</h4><p class=\"note-s\"><a href=\"#m=bytedance-seed%2Fseed-audio-1-0&amp;route=Ultra&amp;caller=bytedance-seed%2Fseed-audio-1-0&amp;fmt=speech\"><code>bytedance-seed/seed-audio-1-0</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "bytedance-seed/seed-audio-1-0",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "bytedance-seed/seed-audio-1-0",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|bytedance-seed%2Fseed-audio-1-0",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Giữ lại X-Client-Request-ID đã trả về để đối soát. Chỉ truy xuất theo các giá trị task_id/asset_id thực tế đã trả về hoặc từ thư viện nội dung đa phương tiện thuộc quyền sở hữu của bạn; tuyệt đối không tạo URL tác vụ từ ID thao tác và không gửi lại yêu cầu tạo."
            },
            "outputs": {
              "all_results": "Giữ lại toàn bộ phản hồi và các header, mọi đầu ra thực tế, các định danh gốc đã trả về và mọi trường usage. Khôi phục thao tác gốc mà không gửi lại yêu cầu tạo.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Toàn bộ âm thanh nhị phân hoặc phản hồi audio_url gốc, tiêu đề và mọi tài sản thuộc quyền sở hữu."
            },
            "parameters": [
              {
                "enum": [
                  "bytedance-seed/seed-audio-1-0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "max_length": 3000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "voice",
                "required": false,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "maxLength": 3000,
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "bytedance-seed/seed-audio-1-0"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "bytedance-seed/seed-audio-1-0"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input"
            ]
          },
          "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": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "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 output audio second"
            },
            "label": "output audio second",
            "units": [
              {
                "amount": "0.005",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_second",
                "label": "output audio second",
                "native_amount_usd_per_unit": "0.005",
                "native_quantity": 1,
                "public_unit_label": "per output audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'bytedance-seed/seed-audio-1-0', 'input': '${ACTUAL_INPUT_TEXT}'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "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 owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Giọng nói",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "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_output_second": 0.005
          }
        },
        "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 output audio second"
            },
            "label": "output audio second",
            "units": [
              {
                "amount": "0.005",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_second",
                "label": "output audio second",
                "native_amount_usd_per_unit": "0.005",
                "native_quantity": 1,
                "public_unit_label": "per output audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_second"
              }
            ]
          }
        ],
        "request_model_id": "bytedance-seed/seed-audio-1-0",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.005",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_output_second",
            "label": "output audio second",
            "native_amount_usd_per_unit": "0.005",
            "native_quantity": 1,
            "public_unit_label": "per output audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "audio_output_second"
          }
        ]
      }
    }
  ],
  "model_id": "bytedance-seed/seed-audio-1-0",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "0585760dcf186af56c8be8edd3ba1515cfb6ebadb326bed856be7f279becca56",
    "input_html_sha256": "01252b7f80241dcbd22eb980e0a71ce82f677f9794a8e2092a5c7b10bb53a892",
    "private_audit_sha256": "93c477be63a19fe091c344581e09777d62122769aabde5f16cc5fb1d6c7cdbd0",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/vi/bytedance-seed-seed-audio-1-0/",
    "description": "ByteDance Seed Audio 1.0 tạo phần trình diễn lời nói và cảnh âm thanh từ bản yêu cầu sáng tạo. Mô hình phối hợp giọng, hiệu ứng, không khí nền, hỗ trợ thời điểm hội thoại theo khoảng 100 ms và hơn 20 ngôn ngữ. Nhà phát triển mô tả mỗi lần tạo tối đa hai phút, có thể nối tiếp.",
    "locale": "vi",
    "md_url": "https://ailoot.ai/models/vi/bytedance-seed-seed-audio-1-0/index.md",
    "title": "ByteDance Seed: Seed Audio 1.0 — Ailoot",
    "url": "https://ailoot.ai/models/vi/bytedance-seed-seed-audio-1-0/"
  },
  "rawModel": {
    "about": "ByteDance Seed Audio 1.0 là mô hình tạo âm thanh tổ chức quanh cảnh âm thanh. Lời nói, hiệu ứng và không khí nền có thể cùng được định hình qua bản yêu cầu văn bản. Điều này hữu ích cho truyện có giọng, cuộc chạm trán trong trò chơi, trao đổi kịch ngắn hoặc cảnh đi kèm video đã dựng. Với công việc chỉ giọng, mô tả người nói và cách diễn; với cảnh đầy đủ hơn, còn mô tả môi trường âm học và quan hệ giữa hội thoại với âm thanh xung quanh.\n\nChuẩn bị bản yêu cầu theo thứ tự người nghe cần trải nghiệm cảnh. Xác định nhân vật, trạng thái cảm xúc mong muốn và lời họ cần nói. Sau đó mô tả không gian, tín hiệu âm thanh quan trọng, cách khoảnh khắc phát triển. Bản yêu cầu sản xuất cần phân biệt hội thoại chính xác với mô tả cảnh để kiểm tra kết quả theo cả hai. Nêu yếu tố nào thiết yếu cho hiểu nội dung, yếu tố nào phải ở nền. Phòng yên, ga đông và sân mở cần thiết kế âm thanh khác nhau ngay cả khi câu nói giống hệt.\n\nVí dụ cụ thể là nhân vật trò chơi trấn an bạn đồng hành trong cảnh trú ngắn: giọng tiết chế nói “Chúng ta có thể đợi ở đây,” với nền mưa nhỏ và một tiếng bước chân tiến lại sau câu. Kiểm tra nghe hữu ích là lời còn rõ không, giọng có truyền trấn an không, tín hiệu đến tại điểm hợp lý trong cảnh không. Bản yêu cầu khác có thể đề nghị người dẫn rõ giọng giới thiệu sản phẩm, không có không khí xung quanh. Đây là cách minh họa để xác định ý định, không phải bản ghi âm thanh đã tạo hoặc cam kết về bản phối hoàn chỉnh.\n\nNhà phát triển ghi nhận điều khiển thời gian ở cấp lời nhắc cho hội thoại nhân vật theo khoảng 100 ms. Dùng điều khiển đó mô tả lúc câu cần vào trong chuỗi có kịch bản hoặc lên kế hoạch lời nói theo bản dựng hiện có. Giữ thời gian hội thoại riêng với vị trí hiệu ứng, không khí nền: bản phát hành xác định hội thoại nhân vật là trọng tâm điều khiển thời gian chính. Kiểm tra thời điểm bắt đầu, khoảng dừng, chồng lấn thực tế theo cảnh dự kiến. Khoảng thời gian mô tả độ mịn điều khiển của mô hình, không loại nhu cầu nghe phần diễn cuối.\n\nGiọng có thể được xác định bằng mô tả văn bản, mẫu tham chiếu được cho phép hoặc cả hai. Nhà sản xuất trình bày đây là định hình giọng không cần huấn luyện mô hình riêng cho mỗi người nói. Mô tả đặc trưng giọng ổn định tách với cảm xúc câu hiện tại. Nhân vật lặp lại có thể cần mở đầu bình tĩnh, phản hồi gấp mà vẫn dễ nhận ra. Khi chuẩn bị thực tế, chọn tham chiếu rõ, giọng mong muốn dễ nghe, xác định điều cần chuyển sang phần diễn mới. Giữ tham chiếu và bản mô tả nhân vật nhất quán khi chuẩn bị cảnh liên quan.\n\nBản phát hành ghi nhận tạo âm thanh trên hơn 20 ngôn ngữ, gồm tiếng Trung, Anh, Nhật, Hàn, Tây Ban Nha, Indonesia, Đức, Pháp, Thái và Việt. Mô tả khả năng điều chỉnh giọng nhân vật dễ nhận ra theo nhịp, cách biểu đạt của ngôn ngữ khác nhau. Cung cấp hội thoại bằng ngôn ngữ cuối và kiểm tra tên, nhấn giọng, khoảng dừng, sắc thái cảm xúc với người nghe hiểu ngôn ngữ đó. Với bản đa ngôn ngữ, giữ vai nhân vật, ý định cảm xúc ổn định nhưng để mỗi kịch bản đủ chỗ diễn đạt tự nhiên. Chuẩn bị bản dịch như phần công việc kịch bản thay vì giả định bản yêu cầu cảnh âm thanh cung cấp mọi quyết định bản địa hóa.\n\nSeed Audio 1.0 có thể tạo tối đa hai phút trong một lượt và hỗ trợ nối tiếp, theo công bố nhà phát triển. Truyện dài hưởng lợi từ ranh giới cảnh, bản mô tả nhân vật tái sử dụng. Ở mỗi lần nối, nghe thay đổi giọng, chất nền, nhịp và những từ nối các phần. Xem âm thanh trả về là tài nguyên để nghe: kiểm tra thông tin tệp thực tế khi chuẩn bị phát hoặc nhập vào trình biên tập, giữ kịch bản và yêu cầu cảnh bên cạnh để sửa. Sản phẩm ghép cần kiểm tra như cảnh liên tục, không chỉ các clip riêng.\n\nNhà sản xuất mô tả khung thống nhất, trong đó ý định sáng tạo ở cấp ngôn ngữ hướng bộ tạo âm học dựa trên khuếch tán. Ý nghĩa thực tế cho bản yêu cầu là có thể xem xét giọng và môi trường cùng nhau. Tập trung vài quan hệ định hình cảnh: câu nói có ở tiền cảnh không, hiệu ứng có ngắt nó không và bầu không khí hỗ trợ khoảnh khắc cảm xúc thế nào. Thêm nhiều tín hiệu không liên quan khiến khó xác định phần kết quả cần sửa. Đổi chỉ đạo cho đoạn ấy khi tín hiệu cạnh tranh với hội thoại hoặc cách diễn thiếu sắc thái mong muốn.\n\nTính liên tục của giọng trong tư liệu dài, phức tạp và thời gian tinh hơn giữa yếu tố âm thanh vẫn là lĩnh vực phát triển được bản phát hành xác định. Giữ kiểm tra sản xuất cụ thể: lời chính xác, danh tính người nói, ngôn ngữ, điểm vào, độ dễ hiểu và nhất quán qua các lần mở rộng. Đầu ra hữu ích là cảnh nghe được hoặc phần trình diễn lời nói. Quyết định riêng về cắt dựng, phụ đề và định dạng bàn giao có thể dựa trên kết quả thực tế đó cùng yêu cầu nơi sản xuất đích.",
    "alias_of": null,
    "aliases": [],
    "author": "ByteDance Seed",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.005",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_output_second",
            "label": "output audio second",
            "native_amount_usd_per_unit": "0.005",
            "native_quantity": 1,
            "public_unit_label": "per output audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "audio_output_second"
          }
        ],
        "summary": "Giá theo cấu hình được trình bày đầy đủ trong phần chi tiết."
      }
    ],
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "bytedance-seed/seed-audio-1-0",
    "input": [
      "text"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Giữ lại X-Client-Request-ID đã trả về để đối soát. Chỉ truy xuất theo các giá trị task_id/asset_id thực tế đã trả về hoặc từ thư viện nội dung đa phương tiện thuộc quyền sở hữu của bạn; tuyệt đối không tạo URL tác vụ từ ID thao tác và không gửi lại yêu cầu tạo."
            },
            "outputs": {
              "all_results": "Giữ lại toàn bộ phản hồi và các header, mọi đầu ra thực tế, các định danh gốc đã trả về và mọi trường usage. Khôi phục thao tác gốc mà không gửi lại yêu cầu tạo.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Toàn bộ âm thanh nhị phân hoặc phản hồi audio_url gốc, tiêu đề và mọi tài sản thuộc quyền sở hữu."
            },
            "parameters": [
              {
                "enum": [
                  "bytedance-seed/seed-audio-1-0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "max_length": 3000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "voice",
                "required": false,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "maxLength": 3000,
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "bytedance-seed/seed-audio-1-0"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "bytedance-seed/seed-audio-1-0"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input"
            ]
          },
          "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": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "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 output audio second"
            },
            "label": "output audio second",
            "units": [
              {
                "amount": "0.005",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_second",
                "label": "output audio second",
                "native_amount_usd_per_unit": "0.005",
                "native_quantity": 1,
                "public_unit_label": "per output audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'bytedance-seed/seed-audio-1-0', 'input': '${ACTUAL_INPUT_TEXT}'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "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 owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Giọng nói",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "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_output_second": 0.005
          }
        },
        "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 output audio second"
            },
            "label": "output audio second",
            "units": [
              {
                "amount": "0.005",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_second",
                "label": "output audio second",
                "native_amount_usd_per_unit": "0.005",
                "native_quantity": 1,
                "public_unit_label": "per output audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_second"
              }
            ]
          }
        ],
        "request_model_id": "bytedance-seed/seed-audio-1-0",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.005",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_output_second",
            "label": "output audio second",
            "native_amount_usd_per_unit": "0.005",
            "native_quantity": 1,
            "public_unit_label": "per output audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "audio_output_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "bytedance-seed/seed-audio-1-0",
        "request_model_id": "bytedance-seed/seed-audio-1-0",
        "route_label": "Ultra"
      }
    ],
    "name": "ByteDance Seed: Seed Audio 1.0",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.005,
      "out_label": "per output audio second",
      "sort_in": null,
      "sort_out": 0.005,
      "varies": true
    },
    "short": "ByteDance Seed Audio 1.0 tạo phần trình diễn lời nói và cảnh âm thanh từ bản yêu cầu sáng tạo. Mô hình phối hợp giọng, hiệu ứng, không khí nền, hỗ trợ thời điểm hội thoại theo khoảng 100 ms và hơn 20 ngôn ngữ. Nhà phát triển mô tả mỗi lần tạo tối đa hai phút, có thể nối tiếp."
  },
  "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": "ByteDance Seed Audio 1.0 tạo phần trình diễn lời nói và cảnh âm thanh từ bản yêu cầu sáng tạo. Mô hình phối hợp giọng, hiệu ứng, không khí nền, hỗ trợ thời điểm hội thoại theo khoảng 100 ms và hơn 20 ngôn ngữ. Nhà phát triển mô tả mỗi lần tạo tối đa hai phút, có thể nối tiếp.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "1e3015e91f3e13a0b81d04f9d4ca52e91f74ce53fee3bc9af42ede70df07c6d8",
    "renderer_sha256": "64a62299639eb843877e9ec5c95e32bf22bac3acfe230f6f502c5c3aa186f9c1"
  },
  "sourceRevision": "407d354db3d676e37e1885babbc106366937db28095f4b64209ba29a7bceb686"
}
