{
  "aboutHtml": "<p>Alibaba Wan 3.0 Prime là phiên bản tăng tốc của họ video Wan 3.0. Nhà sản xuất gọi là wan3.0-video-prime và mô tả cùng các nhóm tác vụ tất cả trong một như Wan 3.0 tiêu chuẩn, với tốc độ là điểm nhấn phân biệt phiên bản. Yêu cầu viết, ảnh bắt đầu, tham chiếu hình ảnh hoặc âm thanh, hay video nguồn có thể hướng dẫn đoạn video cùng âm thanh. Sản phẩm hữu ích gồm cảnh sản phẩm, chuỗi truyện ngắn, ảnh tĩnh được tạo chuyển động hoặc bản sửa có chỉ đạo của cú có sẵn.</p><p>Với chuyển văn bản thành video, mô tả chủ thể, cảnh, chuyển động, máy quay, cách thể hiện hình ảnh và âm thanh. Hướng dẫn 3.0 hỗ trợ cú đơn hoặc storyboard với nhãn cú và khoảng thời gian, khuyến nghị khoảng bốn đến sáu giây mỗi cú. Với đoạn sản phẩm, chuyển từ góc rộng ổn định chiếc túi trên bàn tới chi tiết chất liệu gần hơn, rồi giữ bố cục kết thúc trong khi đọc câu ngắn. Cho chuỗi một mục đích rõ và xem máy quay, nhịp cùng danh tính sản phẩm có còn mạch lạc.</p><p>Với tạo khung đầu, ảnh cung cấp xác lập mở đầu và lời nhắc mô tả chuyển động, công việc máy quay. Tạo khung đầu/cuối cung cấp cả hai biên và yêu cầu chuyển tiếp giữa chúng. Chuẩn bị biên thuộc cùng cảnh và hình dạng đích nhất quán đầu ra dự kiến. Nhà sản xuất khuyến nghị bố cục thích ứng cho tác vụ dựa trên ảnh. Chế độ biên và chế độ tham chiếu riêng có quy tắc kết hợp tư liệu khác nhau: khung đầu hoặc cuối không trộn với đầu vào ảnh, video hoặc âm thanh tham chiếu trong một yêu cầu.</p><p>Chế độ tham chiếu nhận đến mười ảnh, năm đoạn video và năm đoạn âm thanh, trong hai mươi tư liệu tham chiếu đa phương thức. Giới hạn mỗi tệp được mô tả là 20 MB cho ảnh tham chiếu, 100 MB cho video và 15 MB cho âm thanh. Các video tham chiếu tổng tối đa mười lăm giây; âm thanh tham chiếu có tổng riêng mười lăm giây. Nêu vai trò mỗi tư liệu và dùng chỉ số riêng từng loại như Image 1, Video 1 hoặc Audio 1. Không để người, sản phẩm, chuyển động máy quay và giọng thành tham chiếu thay thế lẫn nhau không phân biệt.</p><p>Nhà sản xuất còn hỗ trợ một tài liệu hoặc một tham chiếu trang web công khai, có thể đi cùng tham chiếu khác. Tệp và liên kết web loại trừ nhau, nguồn cần truy cập được không đăng nhập. Cảnh dựa trên tài liệu có thể dùng nội dung sản phẩm hoặc câu chuyện liên quan làm ngữ cảnh, còn tham chiếu hình ảnh xác định diện mạo. Chuẩn bị tư liệu thực sự cần ảnh hưởng đoạn và nêu yếu tố quan trọng. Xem chi tiết hình ảnh thực tế và chữ trong cảnh được tạo theo nguồn thay vì chấp nhận bản thể hiện đẹp nhưng đã đổi.</p><p>Hội thoại giọng nói, âm nền, hiệu ứng và nhạc nền được tạo cùng hình. Mô tả lời nói, danh tính người nói, cách thể hiện và vị trí âm thanh trong cảnh. Hướng dẫn mô tả bật âm thanh mặc định và điều khiển video im lặng. Trong hội thoại, cho người nói dấu hiệu hình và giọng riêng, chừa đủ thời gian trao đổi. Nghe kết quả về câu chữ thực tế, gán người nói và quan hệ hiệu ứng với hành động nhìn thấy. Âm thanh tích hợp thuộc cảnh nên cần xem xét như hình.</p><p>Hướng dẫn tất cả trong một còn mô tả chỉnh sửa và kéo dài từ video tham chiếu. Yêu cầu chỉnh sửa cần nêu yếu tố thêm, xóa hoặc thay cùng đặc điểm giữ lại. Yêu cầu kéo dài cần mô tả nội dung trước, sau hoặc quanh đoạn có sẵn. Dùng bố cục thích ứng và thời lượng thông minh cho quy trình này. Khi có video đầu vào, tổng thời lượng video đầu vào và đầu ra được mô tả không được vượt 30 giây. Chuẩn bị rõ đoạn nguồn và thay đổi dự kiến; xem chuyển tiếp, chủ thể giữ lại và âm thanh thay vì chỉ đánh giá một khung hấp dẫn.</p><p>Đầu ra được mô tả là MP4 ở 30 fps, độ phân giải 480p, 720p hoặc 1080p và thời lượng tạo mới từ hai đến ba mươi giây. Thời lượng thông minh cho mô hình chọn độ dài phù hợp. Có bố cục vuông, ngang và dọc, cùng bố cục thích ứng theo tư liệu cung cấp. Nhà sản xuất xử lý tạo như công việc và trả vị trí video hoàn tất; hướng dẫn cho biết vị trí kết quả hiệu lực hai mươi bốn giờ. Giữ đoạn thực tế và yêu cầu sáng tạo khi chuẩn bị biên tập hoặc chuỗi, kiểm tra toàn sản phẩm trước khi dùng.</p><p>Prime và Wan 3.0 tiêu chuẩn chia sẻ chế độ và cấu trúc chuẩn bị được mô tả. Prime là lựa chọn tối ưu tốc độ, không có bảo đảm thời gian hoàn tất cố định. Chế độ Wan 2.7 và 2.6 trước có quy tắc thời lượng, tham chiếu và đầu ra riêng; các giới hạn đó không xác định phiên bản 3.0 này. Để xem xét hữu ích, kiểm tra tính liên tục vật và nhân vật, bố cục biên, chỉnh sửa yêu cầu, hội thoại và chi tiết phụ thuộc nguồn. Giữ lần sửa sau cụ thể để yếu tố thành công ổn định trong khi sửa vấn đề đã xác định.</p>",
  "aboutText": "Alibaba Wan 3.0 Prime là phiên bản tăng tốc của họ video Wan 3.0. Nhà sản xuất gọi là wan3.0-video-prime và mô tả cùng các nhóm tác vụ tất cả trong một như Wan 3.0 tiêu chuẩn, với tốc độ là điểm nhấn phân biệt phiên bản. Yêu cầu viết, ảnh bắt đầu, tham chiếu hình ảnh hoặc âm thanh, hay video nguồn có thể hướng dẫn đoạn video cùng âm thanh. Sản phẩm hữu ích gồm cảnh sản phẩm, chuỗi truyện ngắn, ảnh tĩnh được tạo chuyển động hoặc bản sửa có chỉ đạo của cú có sẵn.\n\nVới chuyển văn bản thành video, mô tả chủ thể, cảnh, chuyển động, máy quay, cách thể hiện hình ảnh và âm thanh. Hướng dẫn 3.0 hỗ trợ cú đơn hoặc storyboard với nhãn cú và khoảng thời gian, khuyến nghị khoảng bốn đến sáu giây mỗi cú. Với đoạn sản phẩm, chuyển từ góc rộng ổn định chiếc túi trên bàn tới chi tiết chất liệu gần hơn, rồi giữ bố cục kết thúc trong khi đọc câu ngắn. Cho chuỗi một mục đích rõ và xem máy quay, nhịp cùng danh tính sản phẩm có còn mạch lạc.\n\nVới tạo khung đầu, ảnh cung cấp xác lập mở đầu và lời nhắc mô tả chuyển động, công việc máy quay. Tạo khung đầu/cuối cung cấp cả hai biên và yêu cầu chuyển tiếp giữa chúng. Chuẩn bị biên thuộc cùng cảnh và hình dạng đích nhất quán đầu ra dự kiến. Nhà sản xuất khuyến nghị bố cục thích ứng cho tác vụ dựa trên ảnh. Chế độ biên và chế độ tham chiếu riêng có quy tắc kết hợp tư liệu khác nhau: khung đầu hoặc cuối không trộn với đầu vào ảnh, video hoặc âm thanh tham chiếu trong một yêu cầu.\n\nChế độ tham chiếu nhận đến mười ảnh, năm đoạn video và năm đoạn âm thanh, trong hai mươi tư liệu tham chiếu đa phương thức. Giới hạn mỗi tệp được mô tả là 20 MB cho ảnh tham chiếu, 100 MB cho video và 15 MB cho âm thanh. Các video tham chiếu tổng tối đa mười lăm giây; âm thanh tham chiếu có tổng riêng mười lăm giây. Nêu vai trò mỗi tư liệu và dùng chỉ số riêng từng loại như Image 1, Video 1 hoặc Audio 1. Không để người, sản phẩm, chuyển động máy quay và giọng thành tham chiếu thay thế lẫn nhau không phân biệt.\n\nNhà sản xuất còn hỗ trợ một tài liệu hoặc một tham chiếu trang web công khai, có thể đi cùng tham chiếu khác. Tệp và liên kết web loại trừ nhau, nguồn cần truy cập được không đăng nhập. Cảnh dựa trên tài liệu có thể dùng nội dung sản phẩm hoặc câu chuyện liên quan làm ngữ cảnh, còn tham chiếu hình ảnh xác định diện mạo. Chuẩn bị tư liệu thực sự cần ảnh hưởng đoạn và nêu yếu tố quan trọng. Xem chi tiết hình ảnh thực tế và chữ trong cảnh được tạo theo nguồn thay vì chấp nhận bản thể hiện đẹp nhưng đã đổi.\n\nHội thoại giọng nói, âm nền, hiệu ứng và nhạc nền được tạo cùng hình. Mô tả lời nói, danh tính người nói, cách thể hiện và vị trí âm thanh trong cảnh. Hướng dẫn mô tả bật âm thanh mặc định và điều khiển video im lặng. Trong hội thoại, cho người nói dấu hiệu hình và giọng riêng, chừa đủ thời gian trao đổi. Nghe kết quả về câu chữ thực tế, gán người nói và quan hệ hiệu ứng với hành động nhìn thấy. Âm thanh tích hợp thuộc cảnh nên cần xem xét như hình.\n\nHướng dẫn tất cả trong một còn mô tả chỉnh sửa và kéo dài từ video tham chiếu. Yêu cầu chỉnh sửa cần nêu yếu tố thêm, xóa hoặc thay cùng đặc điểm giữ lại. Yêu cầu kéo dài cần mô tả nội dung trước, sau hoặc quanh đoạn có sẵn. Dùng bố cục thích ứng và thời lượng thông minh cho quy trình này. Khi có video đầu vào, tổng thời lượng video đầu vào và đầu ra được mô tả không được vượt 30 giây. Chuẩn bị rõ đoạn nguồn và thay đổi dự kiến; xem chuyển tiếp, chủ thể giữ lại và âm thanh thay vì chỉ đánh giá một khung hấp dẫn.\n\nĐầu ra được mô tả là MP4 ở 30 fps, độ phân giải 480p, 720p hoặc 1080p và thời lượng tạo mới từ hai đến ba mươi giây. Thời lượng thông minh cho mô hình chọn độ dài phù hợp. Có bố cục vuông, ngang và dọc, cùng bố cục thích ứng theo tư liệu cung cấp. Nhà sản xuất xử lý tạo như công việc và trả vị trí video hoàn tất; hướng dẫn cho biết vị trí kết quả hiệu lực hai mươi bốn giờ. Giữ đoạn thực tế và yêu cầu sáng tạo khi chuẩn bị biên tập hoặc chuỗi, kiểm tra toàn sản phẩm trước khi dùng.\n\nPrime và Wan 3.0 tiêu chuẩn chia sẻ chế độ và cấu trúc chuẩn bị được mô tả. Prime là lựa chọn tối ưu tốc độ, không có bảo đảm thời gian hoàn tất cố định. Chế độ Wan 2.7 và 2.6 trước có quy tắc thời lượng, tham chiếu và đầu ra riêng; các giới hạn đó không xác định phiên bản 3.0 này. Để xem xét hữu ích, kiểm tra tính liên tục vật và nhân vật, bố cục biên, chỉnh sửa yêu cầu, hội thoại và chi tiết phụ thuộc nguồn. Giữ lần sửa sau cụ thể để yếu tố thành công ổn định trong khi sửa vấn đề đã xác định.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "855b34b4ed9694037c505c18c65f2e1791ecefb62c6b90f444150a8af07ebd83",
    "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\">Al</span><h2 id=\"sheet-title\">Alibaba: Wan 3.0 Prime</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Đóng\">×</button></div><div class=\"idline\"><span>Alibaba /</span><code>alibaba/wan-3.0-prime</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|videos|/v1/videos|alibaba%2Fwan-3.0-prime\">Video</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\">Alibaba Wan 3.0 Prime là mô hình video Wan 3.0 được tối ưu tốc độ. Cấu hình nhà sản xuất hỗ trợ tạo từ văn bản, khung đầu và khung đầu/cuối, cùng tham chiếu đa phương thức, có âm thanh tích hợp. Mô hình tạo đoạn MP4 2–30 giây ở 30 fps, 480p, 720p hoặc 1080p, với bố cục thích ứng và quy trình chỉnh sửa.</p><dl class=\"card-io\" data-card-io><div><dt>Đầu vào được chấp nhận</dt><dd>Văn bản · Ảnh</dd></div><div><dt>Kết quả</dt><dd>Video</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>Alibaba Wan 3.0 Prime là phiên bản tăng tốc của họ video Wan 3.0. Nhà sản xuất gọi là wan3.0-video-prime và mô tả cùng các nhóm tác vụ tất cả trong một như Wan 3.0 tiêu chuẩn, với tốc độ là điểm nhấn phân biệt phiên bản. Yêu cầu viết, ảnh bắt đầu, tham chiếu hình ảnh hoặc âm thanh, hay video nguồn có thể hướng dẫn đoạn video cùng âm thanh. Sản phẩm hữu ích gồm cảnh sản phẩm, chuỗi truyện ngắn, ảnh tĩnh được tạo chuyển động hoặc bản sửa có chỉ đạo của cú có sẵn.</p><p>Với chuyển văn bản thành video, mô tả chủ thể, cảnh, chuyển động, máy quay, cách thể hiện hình ảnh và âm thanh. Hướng dẫn 3.0 hỗ trợ cú đơn hoặc storyboard với nhãn cú và khoảng thời gian, khuyến nghị khoảng bốn đến sáu giây mỗi cú. Với đoạn sản phẩm, chuyển từ góc rộng ổn định chiếc túi trên bàn tới chi tiết chất liệu gần hơn, rồi giữ bố cục kết thúc trong khi đọc câu ngắn. Cho chuỗi một mục đích rõ và xem máy quay, nhịp cùng danh tính sản phẩm có còn mạch lạc.</p><p>Với tạo khung đầu, ảnh cung cấp xác lập mở đầu và lời nhắc mô tả chuyển động, công việc máy quay. Tạo khung đầu/cuối cung cấp cả hai biên và yêu cầu chuyển tiếp giữa chúng. Chuẩn bị biên thuộc cùng cảnh và hình dạng đích nhất quán đầu ra dự kiến. Nhà sản xuất khuyến nghị bố cục thích ứng cho tác vụ dựa trên ảnh. Chế độ biên và chế độ tham chiếu riêng có quy tắc kết hợp tư liệu khác nhau: khung đầu hoặc cuối không trộn với đầu vào ảnh, video hoặc âm thanh tham chiếu trong một yêu cầu.</p><p>Chế độ tham chiếu nhận đến mười ảnh, năm đoạn video và năm đoạn âm thanh, trong hai mươi tư liệu tham chiếu đa phương thức. Giới hạn mỗi tệp được mô tả là 20 MB cho ảnh tham chiếu, 100 MB cho video và 15 MB cho âm thanh. Các video tham chiếu tổng tối đa mười lăm giây; âm thanh tham chiếu có tổng riêng mười lăm giây. Nêu vai trò mỗi tư liệu và dùng chỉ số riêng từng loại như Image 1, Video 1 hoặc Audio 1. Không để người, sản phẩm, chuyển động máy quay và giọng thành tham chiếu thay thế lẫn nhau không phân biệt.</p><p>Nhà sản xuất còn hỗ trợ một tài liệu hoặc một tham chiếu trang web công khai, có thể đi cùng tham chiếu khác. Tệp và liên kết web loại trừ nhau, nguồn cần truy cập được không đăng nhập. Cảnh dựa trên tài liệu có thể dùng nội dung sản phẩm hoặc câu chuyện liên quan làm ngữ cảnh, còn tham chiếu hình ảnh xác định diện mạo. Chuẩn bị tư liệu thực sự cần ảnh hưởng đoạn và nêu yếu tố quan trọng. Xem chi tiết hình ảnh thực tế và chữ trong cảnh được tạo theo nguồn thay vì chấp nhận bản thể hiện đẹp nhưng đã đổi.</p><p>Hội thoại giọng nói, âm nền, hiệu ứng và nhạc nền được tạo cùng hình. Mô tả lời nói, danh tính người nói, cách thể hiện và vị trí âm thanh trong cảnh. Hướng dẫn mô tả bật âm thanh mặc định và điều khiển video im lặng. Trong hội thoại, cho người nói dấu hiệu hình và giọng riêng, chừa đủ thời gian trao đổi. Nghe kết quả về câu chữ thực tế, gán người nói và quan hệ hiệu ứng với hành động nhìn thấy. Âm thanh tích hợp thuộc cảnh nên cần xem xét như hình.</p><p>Hướng dẫn tất cả trong một còn mô tả chỉnh sửa và kéo dài từ video tham chiếu. Yêu cầu chỉnh sửa cần nêu yếu tố thêm, xóa hoặc thay cùng đặc điểm giữ lại. Yêu cầu kéo dài cần mô tả nội dung trước, sau hoặc quanh đoạn có sẵn. Dùng bố cục thích ứng và thời lượng thông minh cho quy trình này. Khi có video đầu vào, tổng thời lượng video đầu vào và đầu ra được mô tả không được vượt 30 giây. Chuẩn bị rõ đoạn nguồn và thay đổi dự kiến; xem chuyển tiếp, chủ thể giữ lại và âm thanh thay vì chỉ đánh giá một khung hấp dẫn.</p><p>Đầu ra được mô tả là MP4 ở 30 fps, độ phân giải 480p, 720p hoặc 1080p và thời lượng tạo mới từ hai đến ba mươi giây. Thời lượng thông minh cho mô hình chọn độ dài phù hợp. Có bố cục vuông, ngang và dọc, cùng bố cục thích ứng theo tư liệu cung cấp. Nhà sản xuất xử lý tạo như công việc và trả vị trí video hoàn tất; hướng dẫn cho biết vị trí kết quả hiệu lực hai mươi bốn giờ. Giữ đoạn thực tế và yêu cầu sáng tạo khi chuẩn bị biên tập hoặc chuỗi, kiểm tra toàn sản phẩm trước khi dùng.</p><p>Prime và Wan 3.0 tiêu chuẩn chia sẻ chế độ và cấu trúc chuẩn bị được mô tả. Prime là lựa chọn tối ưu tốc độ, không có bảo đảm thời gian hoàn tất cố định. Chế độ Wan 2.7 và 2.6 trước có quy tắc thời lượng, tham chiếu và đầu ra riêng; các giới hạn đó không xác định phiên bản 3.0 này. Để xem xét hữu ích, kiểm tra tính liên tục vật và nhân vật, bố cục biên, chỉnh sửa yêu cầu, hội thoại và chi tiết phụ thuộc nguồn. Giữ lần sửa sau cụ thể để yếu tố thành công ổn định trong khi sửa vấn đề đã xác định.</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 · Video</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>Đầu vào</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Đầu ra</dt><dd><code>video</code></dd></div><div><dt>Định dạng đầu ra</dt><dd>byte MP4 gốc; không chuẩn hóa hoặc chuyển mã</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>alibaba/wan-3.0-prime</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\">prompt</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></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\">duration</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>integer</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>2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30</div><div>Tối thiểu: 1</div><div>Tối đa: 600</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\">resolution</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>480p, 720p, 1080p</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\">aspect_ratio</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>16:9, 4:3, 1:1, 3:4, 9:16</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\">generate_audio</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>boolean</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>false, true</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\">frame_images</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>array</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>Số mục tối thiểu: 1</div><div>Số mục tối đa: 1</div><div>Nội dung đầu vào: Mảng đối tượng khung hình. Mỗi đối tượng có type=image_url, image_url chứa url và frame_type. Dùng URL ảnh HTTPS và đặt frame_type thành first_frame. Mỗi vai trò khung hình xuất hiện tối đa một lần.</div><div>Khóa chính xác: type, image_url, frame_type</div><div>Điều kiện: Các khóa này mô tả từng đối tượng khung hình; image_url chỉ chứa url. Bỏ frame_images đối với yêu cầu chỉ có văn bản.</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_references</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>array</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">seed</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>integer</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>Tối thiểu: -9.223.372.036.854.775.808</div><div>Tối đa: 9.223.372.036.854.775.807</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\">callback_url</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>Mẫu: ^https://</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\">session_id</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">trace</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><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\">user</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr></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>Văn bản thành video</b> · Câu lệnh dạng văn bản. · Bắt buộc: model, prompt, duration</p><p class=\"note-s\"><code>Cung cấp prompt dạng văn bản và duration là số giây nguyên. Chọn độ phân giải được hỗ trợ và tỷ lệ khung hình nếu cần.</code></p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Loại: string · alibaba/wan-3.0-prime</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Loại: string · Số byte UTF-8 tối đa: 10.000 · Bắt buộc có ký tự không phải khoảng trắng: Có</p><p class=\"note-s\"><b>Ảnh thành video</b> · Câu lệnh dạng văn bản và ảnh khung hình đầu tiên. · Bắt buộc: model, prompt, duration, frame_images</p><p class=\"note-s\"><code>frame_images là một mảng. Mỗi đối tượng khung hình có type, image_url và frame_type; image_url chứa url. Đặt type thành image_url. Dùng first_frame. Mỗi vai trò khung hình xuất hiện tối đa một lần. Cung cấp URL ảnh HTTPS công khai cho mỗi khung hình. Chọn độ phân giải được hỗ trợ và tỷ lệ khung hình nếu cần.</code></p><p class=\"note-s\">Khóa chính xác: type, image_url, frame_type</p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Loại: string · alibaba/wan-3.0-prime</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Loại: string · Số byte UTF-8 tối đa: 10.000 · Bắt buộc có ký tự không phải khoảng trắng: Có</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, prompt, duration</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, image</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>additional_properties</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>optional_controls</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>resolution, aspect_ratio, generate_audio, frame_images, input_references, seed, callback_url, session_id, trace, user</td></tr></tbody></table></div><p>Vòng đời: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{public_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{public_id}/content</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Bảng giá</h3><div class=\"card-result-process\" data-billing-basis><h5>Cách tính phí cuối cùng</h5><p class=\"note-s\">Các đơn giá hiển thị dùng để ước tính chi phí trước khi tạo. Khoản phí cuối cùng được tính dựa trên chi phí ghi nhận cho lượt tạo gốc. Thời lượng đầu ra đo được và số lượng dự kiến không phải là số lượng cuối cùng dùng để tính phí.</p></div><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í ước tính để so sánh</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>Số lượng dự báo</th><th>Đơn vị tính phí</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>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=\"Số lượng dự báo\"><span class=\"card-cell-label\">Số lượng dự báo</span>—</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=\"Điều kiện tính phí\"><span class=\"card-cell-label\">Điều kiện 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 · Ước tính chỉ để so sánh</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu ra · Token đầu ra · Ước tính chỉ để so sánh</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Đọc bộ nhớ đệm · Ước tính chỉ để so sánh</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Ghi bộ nhớ đệm · Ước tính chỉ để so sánh</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Ghi bộ nhớ đệm, 1 giờ · Ước tính chỉ để so sánh</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á video</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=\"Số lượng dự báo\"><span class=\"card-cell-label\">Số lượng dự báo</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 video</td><td data-cell-label=\"Điều kiện tính phí\"><span class=\"card-cell-label\">Điều kiện tính phí</span>resolution: 1080p</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu ra · Giá video · Ước tính chỉ để so sánh</span> <b>$0.56</b> <span class=\"price-unit\">mỗi giây video</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á video</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=\"Số lượng dự báo\"><span class=\"card-cell-label\">Số lượng dự báo</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 video</td><td data-cell-label=\"Điều kiện tính phí\"><span class=\"card-cell-label\">Điều kiện tính phí</span>resolution: 480p</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu ra · Giá video · Ước tính chỉ để so sánh</span> <b>$0.136</b> <span class=\"price-unit\">mỗi giây video</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á video</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=\"Số lượng dự báo\"><span class=\"card-cell-label\">Số lượng dự báo</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 video</td><td data-cell-label=\"Điều kiện tính phí\"><span class=\"card-cell-label\">Điều kiện tính phí</span>resolution: 720p</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu ra · Giá video · Ước tính chỉ để so sánh</span> <b>$0.28</b> <span class=\"price-unit\">mỗi giây video</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>Chi phí tạo ước tính</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=\"Số lượng dự báo\"><span class=\"card-cell-label\">Số lượng dự báo</span>ước tính cho một lần tạo</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=\"Điều kiện tính phí\"><span class=\"card-cell-label\">Điều kiện tính phí</span>—</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu ra · Chi phí tạo ước tính · Ước tính chỉ để so sánh</span> <b>$0.272</b> <span class=\"price-unit\">ước tính trước khi tạo</span></div><p class=\"note-s\">Ước tính này không phải là khoản phí bổ sung hay mức giá cố định cho lượt tạo đã hoàn tất.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. <a href=\"/docs/vi/billing/reserve/\">Cách hoạt động của cơ chế tạm giữ và quyết toán →</a></p><div data-declared-reference-pricing><h4>Chi tiết giá cước tham chiếu</h4><p class=\"note-s\">Biểu tham chiếu cấp mô hình không thay đổi việc chọn phương thức, báo giá hoặc khoản phí. Khoản phí đang áp dụng dùng mức phí phương thức Ailoot đã chọn.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Tham chiếu giá theo cấu hình video</summary><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>Đ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>Giá video</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>resolution: 480p</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu ra · Giá video</span> <b>$0.136</b> <span class=\"price-unit\">mỗi giây video</span></div><p class=\"note-s\">Giá tham khảo được công bố cho cấu hình đang hiển thị. Khoản phí cuối cùng dựa trên cấu hình thực tế được ghi nhận khi tính phí.</p></td></tr><tr><th data-cell-label=\"Cấu hình\" scope=\"row\"><span class=\"card-cell-label\">Cấu hình</span>Giá video</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>resolution: 720p</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu ra · Giá video</span> <b>$0.28</b> <span class=\"price-unit\">mỗi giây video</span></div><p class=\"note-s\">Giá tham khảo được công bố cho cấu hình đang hiển thị. Khoản phí cuối cùng dựa trên cấu hình thực tế được ghi nhận khi tính phí.</p></td></tr><tr><th data-cell-label=\"Cấu hình\" scope=\"row\"><span class=\"card-cell-label\">Cấu hình</span>Giá video</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>resolution: 1080p</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu ra · Giá video</span> <b>$0.56</b> <span class=\"price-unit\">mỗi giây video</span></div><p class=\"note-s\">Giá tham khảo được công bố cho cấu hình đang hiển thị. Khoản phí cuối cùng dựa trên cấu hình thực tế được ghi nhận khi tính phí.</p></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Ví dụ yêu cầu</h3><h4>Ailoot Ultra · Video</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-1012-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1012-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · tạo video</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-1012-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1012-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nfrom pathlib import Path\nPath(&#39;request.json&#39;).write_text(&#39;{&quot;aspect_ratio&quot;:&quot;16:9&quot;,&quot;duration&quot;:8,&quot;model&quot;:&quot;alibaba/wan-3.0-prime&quot;,&quot;prompt&quot;:&quot;A serene mountain landscape at sunset&quot;,&quot;resolution&quot;:&quot;720p&quot;}&#39;, encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\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 result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Nhận và lưu kết quả</h3><h4>Ailoot Ultra · Video</h4><p class=\"note-s\">các URL nội dung đã ký thuộc quyền sở hữu</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{public_id}</code></li><li><code>GET /v1/videos/{public_id}/content</code></li></ul><h5>Kiểm tra trạng thái tác vụ</h5><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-1013-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1013-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET trạng thái thao tác gốc</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-1013-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1013-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_STATUS_URL&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nif not isinstance(r.get(&#39;id&#39;),str) or not r[&#39;id&#39;]:raise SystemExit(&#39;Keep the original response and headers for reconciliation; no returned ID&#39;)\nPath(&#39;status-url.txt&#39;).write_text(&#39;https://api.ailoot.ai/v1/videos/&#39;+quote(r[&#39;id&#39;],safe=&#39;&#39;))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error &quot;$(cat status-url.txt)&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -D status-headers.txt -o status.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div><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-1014-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1014-panel-0\" aria-selected=\"true\" tabindex=\"0\">Lưu mọi đầu ra đã hoàn tất 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-1014-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1014-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nif r.get(&#39;status&#39;)!=&#39;completed&#39;:raise SystemExit(&#39;Keep the original ID and read its status; never recreate an unknown job&#39;)\nif not isinstance(r.get(&#39;data&#39;),list) or not r[&#39;data&#39;]:raise SystemExit(&#39;Keep the complete original status; no completed outputs supplied&#39;)\nurls=[]\nfor i,u in enumerate(r.get(&#39;data&#39;,[])):\n    if not isinstance(u,str):raise SystemExit(&#39;Keep the original response; unexpected asset shape&#39;)\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin(&#39;https://api.ailoot.ai&#39;,path);z=urlsplit(u)\n    if z.scheme!=&#39;https&#39; or z.netloc!=&#39;api.ailoot.ai&#39; or z.username or z.password:raise SystemExit(&#39;Use the actual returned Ailoot owned content URL&#39;)\n    target=Path(&#39;owned-&#39;+label+&#39;.bin&#39;)\n    subprocess.run([&#39;curl&#39;,&#39;--fail-with-body&#39;,&#39;--silent&#39;,&#39;--show-error&#39;,u,&#39;-H&#39;,&#39;Authorization: Bearer &#39;+os.environ[&#39;AILOOT_API_KEY&#39;],&#39;-D&#39;,str(target)+&#39;.headers&#39;,&#39;-o&#39;,str(target)],check=True)\nprint(&#39;All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.&#39;)\nPY_ASSETS\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 video đã hoàn tất hoặc tệp trả về; truy xuất từng URL tài nguyên thực tế được trả về.</p><p class=\"note-s\">Giữ lại mọi đầu ra thực tế thuộc quyền sở hữu và siêu dữ liệu đo lường được trả về.</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\">503 result_pending_check + id ban đầu + X-Should-Retry:false; tuyệt đối không gửi lại yêu cầu ban đầu</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><th>Ý nghĩa</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\">index</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>integer</td><td data-cell-label=\"Ý nghĩa\"><span class=\"card-cell-label\">Ý nghĩa</span>Vị trí bắt đầu từ không của video này trong danh sách outputs.</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">content_url</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>string</td><td data-cell-label=\"Ý nghĩa\"><span class=\"card-cell-label\">Ý nghĩa</span>URL tải xuống HTTPS đã ký cho video đã hoàn tất này.</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">sha256</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>string | null</td><td data-cell-label=\"Ý nghĩa\"><span class=\"card-cell-label\">Ý nghĩa</span>Giá trị băm SHA-256 của các byte video gốc; null nếu không có dữ liệu.</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">size_bytes</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>integer | null</td><td data-cell-label=\"Ý nghĩa\"><span class=\"card-cell-label\">Ý nghĩa</span>Dung lượng tệp video gốc tính bằng byte; null nếu không có dữ liệu.</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">duration_ms</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>integer | null</td><td data-cell-label=\"Ý nghĩa\"><span class=\"card-cell-label\">Ý nghĩa</span>Thời lượng video đo được tính bằng mili giây; null nếu không có dữ liệu.</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">width</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>integer | null</td><td data-cell-label=\"Ý nghĩa\"><span class=\"card-cell-label\">Ý nghĩa</span>Chiều rộng video tính bằng pixel; null nếu không có dữ liệu.</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">height</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>integer | null</td><td data-cell-label=\"Ý nghĩa\"><span class=\"card-cell-label\">Ý nghĩa</span>Chiều cao video tính bằng pixel; null nếu không có dữ liệu.</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">video_codec</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>string | null</td><td data-cell-label=\"Ý nghĩa\"><span class=\"card-cell-label\">Ý nghĩa</span>Mã định danh codec video; null nếu chưa được ghi nhận.</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">has_audio</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>boolean | null</td><td data-cell-label=\"Ý nghĩa\"><span class=\"card-cell-label\">Ý nghĩa</span>Video có chứa bản âm thanh hay không; null nếu chưa được đo.</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">audio_codec</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>string | null</td><td data-cell-label=\"Ý nghĩa\"><span class=\"card-cell-label\">Ý nghĩa</span>Mã định danh codec âm thanh; null khi chưa ghi nhận mã định danh.</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>404 · <code>not_found_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Không thể truy cập video hoặc không tìm thấy ID video này.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Kiểm tra quyền truy cập video. Với video hiện có, dùng ID công khai ban đầu và cùng khóa API.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Khóa API không khớp với tài khoản đã xác thực.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Kiểm tra khóa API và quyền truy cập tài khoản trước khi gửi.</td></tr><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>Không thể đọc yêu cầu hoặc chỉ số tải xuống 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 nội dung yêu cầu. Để tải xuống, chọn một chỉ số đầu ra được tác vụ ban đầu trả về.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Không thể định giá cấu hình video đã chọn.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Chọn cấu hình video được hỗ trợ và điền đầy đủ các tùy chọn bắt buộc trước khi gửi yêu cầu đã sửa.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>422 · <code>invalid_request_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Đầu vào video hoặc tác vụ tiếp nối ban đầu không hợp lệ.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Dùng đầu vào HTTPS hợp lệ. Để tiếp nối, dùng ID video công khai ban đầu đã hoàn tất của bạn với cùng khóa API.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>402 · <code>billing_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Số dư khả dụng hoặc các giới hạn không cho phép giữ trước số tiền.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Kiểm tra số dư khả dụng và các giới hạn trước khi gửi yêu cầu 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>503 · <code>server_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Tạm thời không thể xác minh video, lưu trữ hoặc truy cập dịch vụ.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Đợi dịch vụ khả dụng. Nếu đã có ID video, kiểm tra tác vụ ban đầu đó thay vì tạo thêm video.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>503 · <code>result_pending_check</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Kết quả video và khoản phí ban đầu cần được kiểm tra.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Giữ lại ID video được trả về và kiểm tra tác vụ đó. Không gửi yêu cầu tạo thay thế trong khi tác vụ đang được kiểm tra.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>503 · <code>owned_result_unavailable</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Tạm thời không thể tải xuống video hiện có.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Kiểm tra lại cùng tác vụ video sau và tải xuống đầu ra hiện có. Một lần tạo mới sẽ tạo thao tác riêng.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>409 · <code>video_not_ready</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Nội dung video chưa được công bố.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Kiểm tra trạng thái tác vụ ban đầu. Tải xuống sau khi trạng thái là completed; nếu là failed, làm theo thông báo kiểm tra khoản phí.</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=alibaba%2Fwan-3.0-prime&amp;route=Ultra&amp;caller=alibaba%2Fwan-3.0-prime&amp;fmt=videos\"><code>alibaba/wan-3.0-prime</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=alibaba%2Fwan-3.0-prime&amp;route=Ultra&amp;caller=alibaba%2Fwan-3.0-prime&amp;fmt=videos\"><code>alibaba/wan-3.0-prime</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "alibaba/wan-3.0-prime",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "alibaba/wan-3.0-prime",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|alibaba%2Fwan-3.0-prime",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Các đơn giá hiển thị dùng để ước tính chi phí trước khi tạo. Khoản phí cuối cùng được tính dựa trên chi phí ghi nhận cho lượt tạo gốc. Thời lượng đầu ra đo được và số lượng dự kiến không phải là số lượng cuối cùng dùng để tính phí.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Giữ lại mọi đầu ra thực tế thuộc quyền sở hữu và siêu dữ liệu đo lường được trả về.",
            "defaults": {
              "aspect_ratio": null,
              "duration": null,
              "generate_audio": "endpoint capability flag when published; omitted unknown stays unknown; never guarantees audio track",
              "resolution": null,
              "seed": null,
              "size": null,
              "wire_omissions_preserved": true
            },
            "errors": [
              {
                "condition": "Không thể truy cập video hoặc không tìm thấy ID video này.",
                "http_status": 404,
                "public_identifier_field": "error.type",
                "recovery": "Kiểm tra quyền truy cập video. Với video hiện có, dùng ID công khai ban đầu và cùng khóa API.",
                "type": "not_found_error"
              },
              {
                "condition": "Khóa API không khớp với tài khoản đã xác thực.",
                "http_status": 401,
                "public_identifier_field": "error.type",
                "recovery": "Kiểm tra khóa API và quyền truy cập tài khoản trước khi gửi.",
                "type": "authentication_error"
              },
              {
                "condition": "Không thể đọc yêu cầu hoặc chỉ số tải xuống không hợp lệ.",
                "http_status": 400,
                "public_identifier_field": "error.type",
                "recovery": "Sửa nội dung yêu cầu. Để tải xuống, chọn một chỉ số đầu ra được tác vụ ban đầu trả về.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Không thể định giá cấu hình video đã chọn.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Chọn cấu hình video được hỗ trợ và điền đầy đủ các tùy chọn bắt buộc trước khi gửi yêu cầu đã sửa.",
                "type": "price_unavailable"
              },
              {
                "condition": "Đầu vào video hoặc tác vụ tiếp nối ban đầu không hợp lệ.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Dùng đầu vào HTTPS hợp lệ. Để tiếp nối, dùng ID video công khai ban đầu đã hoàn tất của bạn với cùng khóa API.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Số dư khả dụng hoặc các giới hạn không cho phép giữ trước số tiền.",
                "http_status": 402,
                "public_identifier_field": "error.type",
                "recovery": "Kiểm tra số dư khả dụng và các giới hạn trước khi gửi yêu cầu mới.",
                "type": "billing_error"
              },
              {
                "condition": "Tạm thời không thể xác minh video, lưu trữ hoặc truy cập dịch vụ.",
                "http_status": 503,
                "public_identifier_field": "error.type",
                "recovery": "Đợi dịch vụ khả dụng. Nếu đã có ID video, kiểm tra tác vụ ban đầu đó thay vì tạo thêm video.",
                "type": "server_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Kết quả video và khoản phí ban đầu cần được kiểm tra.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Giữ lại ID video được trả về và kiểm tra tác vụ đó. Không gửi yêu cầu tạo thay thế trong khi tác vụ đang được kiểm tra.",
                "type": "server_error"
              },
              {
                "code": "owned_result_unavailable",
                "condition": "Tạm thời không thể tải xuống video hiện có.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Kiểm tra lại cùng tác vụ video sau và tải xuống đầu ra hiện có. Một lần tạo mới sẽ tạo thao tác riêng.",
                "type": "server_error"
              },
              {
                "condition": "Nội dung video chưa được công bố.",
                "http_status": 409,
                "public_identifier_field": "error.type",
                "recovery": "Kiểm tra trạng thái tác vụ ban đầu. Tải xuống sau khi trạng thái là completed; nếu là failed, làm theo thông báo kiểm tra khoản phí.",
                "type": "video_not_ready"
              }
            ],
            "hints": [
              "No null values or duplicate keys at any JSON object level",
              "No duration/resolution/aspect default is inserted",
              "Prompt required for all21 despite broader official image-only schema",
              "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
              "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
              "No n/output-count/client price fields accepted",
              "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}/content",
                  "query": {
                    "index": "actual output index"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "mode": "submit_once_poll_original",
              "public_id": "video_<uuid>; owner user/key/group scope",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}"
                }
              ],
              "submit_status": 202,
              "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
              "terminal_provider_states": [
                "failed",
                "cancelled",
                "expired"
              ],
              "unknown": "503 result_pending_check + id ban đầu + X-Should-Retry:false; tuyệt đối không gửi lại yêu cầu ban đầu"
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "model": {
                  "enum": [
                    "alibaba/wan-3.0-prime"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "Cung cấp prompt dạng văn bản và duration là số giây nguyên. Chọn độ phân giải được hỗ trợ và tỷ lệ khung hình nếu cần.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "Câu lệnh dạng văn bản."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "alibaba/wan-3.0-prime"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images là một mảng. Mỗi đối tượng khung hình có type, image_url và frame_type; image_url chứa url. Đặt type thành image_url. Dùng first_frame. Mỗi vai trò khung hình xuất hiện tối đa một lần. Cung cấp URL ảnh HTTPS công khai cho mỗi khung hình. Chọn độ phân giải được hỗ trợ và tỷ lệ khung hình nếu cần.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "Câu lệnh dạng văn bản và ảnh khung hình đầu tiên."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images"
            ],
            "outputs": {
              "content_range_supported": true,
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "condition": "Always present for each completed output.",
                  "description": "Vị trí bắt đầu từ không của video này trong danh sách outputs.",
                  "field_path": "outputs[].index",
                  "json_schema": {
                    "type": "integer"
                  },
                  "name": "index",
                  "nullable": false,
                  "type": "integer"
                },
                {
                  "condition": "Present after the owned result is available and a signed URL is created.",
                  "description": "URL tải xuống HTTPS đã ký cho video đã hoàn tất này.",
                  "field_path": "outputs[].content_url",
                  "json_schema": {
                    "type": "string"
                  },
                  "name": "content_url",
                  "nullable": false,
                  "type": "string"
                },
                {
                  "condition": "A nonempty recorded digest is returned; otherwise null.",
                  "description": "Giá trị băm SHA-256 của các byte video gốc; null nếu không có dữ liệu.",
                  "field_path": "outputs[].sha256",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "sha256",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when the recorded file size is positive.",
                  "description": "Dung lượng tệp video gốc tính bằng byte; null nếu không có dữ liệu.",
                  "field_path": "outputs[].size_bytes",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "size_bytes",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned when the measured duration is positive.",
                  "description": "Thời lượng video đo được tính bằng mili giây; null nếu không có dữ liệu.",
                  "field_path": "outputs[].duration_ms",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "duration_ms",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Chiều rộng video tính bằng pixel; null nếu không có dữ liệu.",
                  "field_path": "outputs[].width",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "width",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Chiều cao video tính bằng pixel; null nếu không có dữ liệu.",
                  "field_path": "outputs[].height",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "height",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned together with positive recorded width and height.",
                  "description": "Mã định danh codec video; null nếu chưa được ghi nhận.",
                  "field_path": "outputs[].video_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "video_codec",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                  "description": "Video có chứa bản âm thanh hay không; null nếu chưa được đo.",
                  "field_path": "outputs[].has_audio",
                  "json_schema": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "name": "has_audio",
                  "nullable": true,
                  "type": "boolean | null"
                },
                {
                  "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                  "description": "Mã định danh codec âm thanh; null khi chưa ghi nhận mã định danh.",
                  "field_path": "outputs[].audio_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "audio_codec",
                  "nullable": true,
                  "type": "string | null"
                }
              ],
              "format": "original MP4 bytes; no normalization/transcode",
              "max_aggregate_seconds": 2400,
              "max_bytes_per_output": 67108864,
              "max_seconds_per_output": 600,
              "result": "các URL nội dung đã ký thuộc quyền sở hữu",
              "unmeasured_fields_nullable": true
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "alibaba/wan-3.0-prime"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "alibaba/wan-3.0-prime"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minLength": 1,
                "name": "prompt",
                "required": true,
                "schema": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  2,
                  3,
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10,
                  11,
                  12,
                  13,
                  14,
                  15,
                  16,
                  17,
                  18,
                  19,
                  20,
                  21,
                  22,
                  23,
                  24,
                  25,
                  26,
                  27,
                  28,
                  29,
                  30
                ],
                "enum_known": true,
                "maximum": 600,
                "minimum": 1,
                "name": "duration",
                "required": true,
                "schema": {
                  "enum": [
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15,
                    16,
                    17,
                    18,
                    19,
                    20,
                    21,
                    22,
                    23,
                    24,
                    25,
                    26,
                    27,
                    28,
                    29,
                    30
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480p",
                  "720p",
                  "1080p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "4:3",
                  "1:1",
                  "3:4",
                  "9:16"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "16:9",
                    "4:3",
                    "1:1",
                    "3:4",
                    "9:16"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Các khóa này mô tả từng đối tượng khung hình; image_url chỉ chứa url. Bỏ frame_images đối với yêu cầu chỉ có văn bản.",
                "content": "Mảng đối tượng khung hình. Mỗi đối tượng có type=image_url, image_url chứa url và frame_type. Dùng URL ảnh HTTPS và đặt frame_type thành first_frame. Mỗi vai trò khung hình xuất hiện tối đa một lần.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 1,
                "max_items": 1,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxItems": 0,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum": 9223372036854775807,
                "minimum": -9223372036854775808,
                "name": "seed",
                "required": false,
                "schema": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback_url",
                "pattern": "^https://",
                "required": false,
                "schema": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "schema": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              }
            ],
            "request_schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "16:9",
                    "4:3",
                    "1:1",
                    "3:4",
                    "9:16"
                  ]
                },
                "callback_url": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "creativity": false,
                "duration": {
                  "enum": [
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15,
                    16,
                    17,
                    18,
                    19,
                    20,
                    21,
                    22,
                    23,
                    24,
                    25,
                    26,
                    27,
                    28,
                    29,
                    30
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "frame_images": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "model": {
                  "const": "alibaba/wan-3.0-prime"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p"
                  ]
                },
                "seed": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": false,
                "trace": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "upscale_factor": false,
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration"
              ],
              "title": "Video generation request",
              "type": "object",
              "x-source-global-rules": [
                "No null values or duplicate keys at any JSON object level",
                "No duration/resolution/aspect default is inserted",
                "Prompt required for all21 despite broader official image-only schema",
                "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
                "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
                "No n/output-count/client price fields accepted",
                "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
              ],
              "x-source-material-combinations": [
                "Exact model/card, positive published duration, model resolution/aspect membership and valid frozen quote are all required; independent enum arrays are not proven provider Cartesian combinations.",
                "Use exact published size or compatible resolution/aspect. Omitted options stay omitted; no guessed geometry.",
                "first_frame/last_frame roles each occur at most once; frame_images wins mode precedence over input_references.",
                "provider options are unavailable for this model despite any published passthrough-name allowlist."
              ]
            },
            "unsupported": [
              "size",
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "seed",
              "callback_url",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "prompt",
              "duration"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}/content",
                "query": {
                  "index": "actual output index"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "mode": "submit_once_poll_original",
            "public_id": "video_<uuid>; owner user/key/group scope",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}"
              }
            ],
            "submit_status": 202,
            "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
            "terminal_provider_states": [
              "failed",
              "cancelled",
              "expired"
            ],
            "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; never replay original"
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_video",
            "image_to_video_frame_images"
          ],
          "output": {
            "content_range_supported": true,
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "condition": "Always present for each completed output.",
                "description": "Zero-based position of this video in the outputs list.",
                "field_path": "outputs[].index",
                "json_schema": {
                  "type": "integer"
                },
                "name": "index",
                "nullable": false,
                "type": "integer"
              },
              {
                "condition": "Present after the owned result is available and a signed URL is created.",
                "description": "Signed HTTPS download URL for this completed video.",
                "field_path": "outputs[].content_url",
                "json_schema": {
                  "type": "string"
                },
                "name": "content_url",
                "nullable": false,
                "type": "string"
              },
              {
                "condition": "A nonempty recorded digest is returned; otherwise null.",
                "description": "SHA-256 digest of the original video bytes; null if unavailable.",
                "field_path": "outputs[].sha256",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "sha256",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when the recorded file size is positive.",
                "description": "Size of the original video file in bytes; null if unavailable.",
                "field_path": "outputs[].size_bytes",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "size_bytes",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned when the measured duration is positive.",
                "description": "Measured video duration in milliseconds; null if unavailable.",
                "field_path": "outputs[].duration_ms",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "duration_ms",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video width in pixels; null if unavailable.",
                "field_path": "outputs[].width",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "width",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video height in pixels; null if unavailable.",
                "field_path": "outputs[].height",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "height",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned together with positive recorded width and height.",
                "description": "Video codec identifier; null if not recorded.",
                "field_path": "outputs[].video_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "video_codec",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                "description": "Whether the video contains an audio track; null if not measured.",
                "field_path": "outputs[].has_audio",
                "json_schema": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "name": "has_audio",
                "nullable": true,
                "type": "boolean | null"
              },
              {
                "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                "description": "Audio codec identifier; null when no identifier is recorded.",
                "field_path": "outputs[].audio_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "audio_codec",
                "nullable": true,
                "type": "string | null"
              }
            ],
            "format": "original MP4 bytes; no normalization/transcode",
            "max_aggregate_seconds": 2400,
            "max_bytes_per_output": 67108864,
            "max_seconds_per_output": 600,
            "result": "signed owned content URLs",
            "unmeasured_fields_nullable": true
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "Giá video",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 480p",
              "quoted_unit": "per video second"
            },
            "label": "Giá video",
            "units": [
              {
                "amount": "0.136",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_480p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.136",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.28",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.28",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Ước tính này không phải là khoản phí bổ sung hay mức giá cố định cho lượt tạo đã hoàn tất.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Chi phí tạo ước tính",
            "units": [
              {
                "amount": "0.272",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.272",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nfrom pathlib import Path\nPath('request.json').write_text('{\"aspect_ratio\":\"16:9\",\"duration\":8,\"model\":\"alibaba/wan-3.0-prime\",\"prompt\":\"A serene mountain landscape at sunset\",\"resolution\":\"720p\"}', encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "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": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 480p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.136",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_480p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.136",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.28",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.28",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.272",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.272",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "alibaba/wan-3.0-prime",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{public_id}",
          "GET /v1/videos/{public_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.56",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_1080p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.56",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.136",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_480p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.136",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.28",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_720p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.28",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.272",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.272",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "alibaba/wan-3.0-prime",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "2976735c8bfac1140c1048de171c69234ffad2916ca22adf404a583788796e25",
    "input_html_sha256": "750f9619a243ef669e8ef9065fea1035d9b9178d628156d3196999b3b76deb45",
    "private_audit_sha256": "a516e03e1f9cb8da8c6b37a85f757adb430684a27f6f05cd08e88b858f9c3571",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/vi/alibaba-wan-3-0-prime/",
    "description": "Alibaba Wan 3.0 Prime là mô hình video Wan 3.0 được tối ưu tốc độ. Cấu hình nhà sản xuất hỗ trợ tạo từ văn bản, khung đầu và khung đầu/cuối, cùng tham chiếu đa phương thức, có âm thanh tích hợp. Mô hình tạo đoạn MP4 2–30 giây ở 30 fps, 480p, 720p hoặc 1080p, với bố cục thích ứng và quy trình chỉnh sửa.",
    "locale": "vi",
    "md_url": "https://ailoot.ai/models/vi/alibaba-wan-3-0-prime/index.md",
    "title": "Alibaba: Wan 3.0 Prime — Ailoot",
    "url": "https://ailoot.ai/models/vi/alibaba-wan-3-0-prime/"
  },
  "rawModel": {
    "about": "Alibaba Wan 3.0 Prime là phiên bản tăng tốc của họ video Wan 3.0. Nhà sản xuất gọi là wan3.0-video-prime và mô tả cùng các nhóm tác vụ tất cả trong một như Wan 3.0 tiêu chuẩn, với tốc độ là điểm nhấn phân biệt phiên bản. Yêu cầu viết, ảnh bắt đầu, tham chiếu hình ảnh hoặc âm thanh, hay video nguồn có thể hướng dẫn đoạn video cùng âm thanh. Sản phẩm hữu ích gồm cảnh sản phẩm, chuỗi truyện ngắn, ảnh tĩnh được tạo chuyển động hoặc bản sửa có chỉ đạo của cú có sẵn.\n\nVới chuyển văn bản thành video, mô tả chủ thể, cảnh, chuyển động, máy quay, cách thể hiện hình ảnh và âm thanh. Hướng dẫn 3.0 hỗ trợ cú đơn hoặc storyboard với nhãn cú và khoảng thời gian, khuyến nghị khoảng bốn đến sáu giây mỗi cú. Với đoạn sản phẩm, chuyển từ góc rộng ổn định chiếc túi trên bàn tới chi tiết chất liệu gần hơn, rồi giữ bố cục kết thúc trong khi đọc câu ngắn. Cho chuỗi một mục đích rõ và xem máy quay, nhịp cùng danh tính sản phẩm có còn mạch lạc.\n\nVới tạo khung đầu, ảnh cung cấp xác lập mở đầu và lời nhắc mô tả chuyển động, công việc máy quay. Tạo khung đầu/cuối cung cấp cả hai biên và yêu cầu chuyển tiếp giữa chúng. Chuẩn bị biên thuộc cùng cảnh và hình dạng đích nhất quán đầu ra dự kiến. Nhà sản xuất khuyến nghị bố cục thích ứng cho tác vụ dựa trên ảnh. Chế độ biên và chế độ tham chiếu riêng có quy tắc kết hợp tư liệu khác nhau: khung đầu hoặc cuối không trộn với đầu vào ảnh, video hoặc âm thanh tham chiếu trong một yêu cầu.\n\nChế độ tham chiếu nhận đến mười ảnh, năm đoạn video và năm đoạn âm thanh, trong hai mươi tư liệu tham chiếu đa phương thức. Giới hạn mỗi tệp được mô tả là 20 MB cho ảnh tham chiếu, 100 MB cho video và 15 MB cho âm thanh. Các video tham chiếu tổng tối đa mười lăm giây; âm thanh tham chiếu có tổng riêng mười lăm giây. Nêu vai trò mỗi tư liệu và dùng chỉ số riêng từng loại như Image 1, Video 1 hoặc Audio 1. Không để người, sản phẩm, chuyển động máy quay và giọng thành tham chiếu thay thế lẫn nhau không phân biệt.\n\nNhà sản xuất còn hỗ trợ một tài liệu hoặc một tham chiếu trang web công khai, có thể đi cùng tham chiếu khác. Tệp và liên kết web loại trừ nhau, nguồn cần truy cập được không đăng nhập. Cảnh dựa trên tài liệu có thể dùng nội dung sản phẩm hoặc câu chuyện liên quan làm ngữ cảnh, còn tham chiếu hình ảnh xác định diện mạo. Chuẩn bị tư liệu thực sự cần ảnh hưởng đoạn và nêu yếu tố quan trọng. Xem chi tiết hình ảnh thực tế và chữ trong cảnh được tạo theo nguồn thay vì chấp nhận bản thể hiện đẹp nhưng đã đổi.\n\nHội thoại giọng nói, âm nền, hiệu ứng và nhạc nền được tạo cùng hình. Mô tả lời nói, danh tính người nói, cách thể hiện và vị trí âm thanh trong cảnh. Hướng dẫn mô tả bật âm thanh mặc định và điều khiển video im lặng. Trong hội thoại, cho người nói dấu hiệu hình và giọng riêng, chừa đủ thời gian trao đổi. Nghe kết quả về câu chữ thực tế, gán người nói và quan hệ hiệu ứng với hành động nhìn thấy. Âm thanh tích hợp thuộc cảnh nên cần xem xét như hình.\n\nHướng dẫn tất cả trong một còn mô tả chỉnh sửa và kéo dài từ video tham chiếu. Yêu cầu chỉnh sửa cần nêu yếu tố thêm, xóa hoặc thay cùng đặc điểm giữ lại. Yêu cầu kéo dài cần mô tả nội dung trước, sau hoặc quanh đoạn có sẵn. Dùng bố cục thích ứng và thời lượng thông minh cho quy trình này. Khi có video đầu vào, tổng thời lượng video đầu vào và đầu ra được mô tả không được vượt 30 giây. Chuẩn bị rõ đoạn nguồn và thay đổi dự kiến; xem chuyển tiếp, chủ thể giữ lại và âm thanh thay vì chỉ đánh giá một khung hấp dẫn.\n\nĐầu ra được mô tả là MP4 ở 30 fps, độ phân giải 480p, 720p hoặc 1080p và thời lượng tạo mới từ hai đến ba mươi giây. Thời lượng thông minh cho mô hình chọn độ dài phù hợp. Có bố cục vuông, ngang và dọc, cùng bố cục thích ứng theo tư liệu cung cấp. Nhà sản xuất xử lý tạo như công việc và trả vị trí video hoàn tất; hướng dẫn cho biết vị trí kết quả hiệu lực hai mươi bốn giờ. Giữ đoạn thực tế và yêu cầu sáng tạo khi chuẩn bị biên tập hoặc chuỗi, kiểm tra toàn sản phẩm trước khi dùng.\n\nPrime và Wan 3.0 tiêu chuẩn chia sẻ chế độ và cấu trúc chuẩn bị được mô tả. Prime là lựa chọn tối ưu tốc độ, không có bảo đảm thời gian hoàn tất cố định. Chế độ Wan 2.7 và 2.6 trước có quy tắc thời lượng, tham chiếu và đầu ra riêng; các giới hạn đó không xác định phiên bản 3.0 này. Để xem xét hữu ích, kiểm tra tính liên tục vật và nhân vật, bố cục biên, chỉnh sửa yêu cầu, hội thoại và chi tiết phụ thuộc nguồn. Giữ lần sửa sau cụ thể để yếu tố thành công ổn định trong khi sửa vấn đề đã xác định.",
    "alias_of": null,
    "aliases": [],
    "author": "Alibaba",
    "available": null,
    "canonical_model": "alibaba/wan-3.0-prime",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.272",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.272",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Giá theo cấu hình được trình bày đầy đủ trong phần chi tiết."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "4d56ae1870fd9bce66f2952d",
        "label": "Tham chiếu giá theo cấu hình video",
        "profiles": [
          {
            "basis": "Giá tham khảo được công bố cho cấu hình đang hiển thị. Khoản phí cuối cùng dựa trên cấu hình thực tế được ghi nhận khi tính phí.",
            "dimensions": {
              "conditions": "resolution: 480p"
            },
            "label": "Giá video",
            "units": [
              {
                "amount": "0.136",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Giá tham khảo được công bố cho cấu hình đang hiển thị. Khoản phí cuối cùng dựa trên cấu hình thực tế được ghi nhận khi tính phí.",
            "dimensions": {
              "conditions": "resolution: 720p"
            },
            "label": "Giá video",
            "units": [
              {
                "amount": "0.28",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Giá tham khảo được công bố cho cấu hình đang hiển thị. Khoản phí cuối cùng dựa trên cấu hình thực tế được ghi nhận khi tính phí.",
            "dimensions": {
              "conditions": "resolution: 1080p"
            },
            "label": "Giá video",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "videos"
    ],
    "id": "alibaba/wan-3.0-prime",
    "input": [
      "text",
      "image"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Các đơn giá hiển thị dùng để ước tính chi phí trước khi tạo. Khoản phí cuối cùng được tính dựa trên chi phí ghi nhận cho lượt tạo gốc. Thời lượng đầu ra đo được và số lượng dự kiến không phải là số lượng cuối cùng dùng để tính phí.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Giữ lại mọi đầu ra thực tế thuộc quyền sở hữu và siêu dữ liệu đo lường được trả về.",
            "defaults": {
              "aspect_ratio": null,
              "duration": null,
              "generate_audio": "endpoint capability flag when published; omitted unknown stays unknown; never guarantees audio track",
              "resolution": null,
              "seed": null,
              "size": null,
              "wire_omissions_preserved": true
            },
            "errors": [
              {
                "condition": "Không thể truy cập video hoặc không tìm thấy ID video này.",
                "http_status": 404,
                "public_identifier_field": "error.type",
                "recovery": "Kiểm tra quyền truy cập video. Với video hiện có, dùng ID công khai ban đầu và cùng khóa API.",
                "type": "not_found_error"
              },
              {
                "condition": "Khóa API không khớp với tài khoản đã xác thực.",
                "http_status": 401,
                "public_identifier_field": "error.type",
                "recovery": "Kiểm tra khóa API và quyền truy cập tài khoản trước khi gửi.",
                "type": "authentication_error"
              },
              {
                "condition": "Không thể đọc yêu cầu hoặc chỉ số tải xuống không hợp lệ.",
                "http_status": 400,
                "public_identifier_field": "error.type",
                "recovery": "Sửa nội dung yêu cầu. Để tải xuống, chọn một chỉ số đầu ra được tác vụ ban đầu trả về.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Không thể định giá cấu hình video đã chọn.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Chọn cấu hình video được hỗ trợ và điền đầy đủ các tùy chọn bắt buộc trước khi gửi yêu cầu đã sửa.",
                "type": "price_unavailable"
              },
              {
                "condition": "Đầu vào video hoặc tác vụ tiếp nối ban đầu không hợp lệ.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Dùng đầu vào HTTPS hợp lệ. Để tiếp nối, dùng ID video công khai ban đầu đã hoàn tất của bạn với cùng khóa API.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Số dư khả dụng hoặc các giới hạn không cho phép giữ trước số tiền.",
                "http_status": 402,
                "public_identifier_field": "error.type",
                "recovery": "Kiểm tra số dư khả dụng và các giới hạn trước khi gửi yêu cầu mới.",
                "type": "billing_error"
              },
              {
                "condition": "Tạm thời không thể xác minh video, lưu trữ hoặc truy cập dịch vụ.",
                "http_status": 503,
                "public_identifier_field": "error.type",
                "recovery": "Đợi dịch vụ khả dụng. Nếu đã có ID video, kiểm tra tác vụ ban đầu đó thay vì tạo thêm video.",
                "type": "server_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Kết quả video và khoản phí ban đầu cần được kiểm tra.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Giữ lại ID video được trả về và kiểm tra tác vụ đó. Không gửi yêu cầu tạo thay thế trong khi tác vụ đang được kiểm tra.",
                "type": "server_error"
              },
              {
                "code": "owned_result_unavailable",
                "condition": "Tạm thời không thể tải xuống video hiện có.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Kiểm tra lại cùng tác vụ video sau và tải xuống đầu ra hiện có. Một lần tạo mới sẽ tạo thao tác riêng.",
                "type": "server_error"
              },
              {
                "condition": "Nội dung video chưa được công bố.",
                "http_status": 409,
                "public_identifier_field": "error.type",
                "recovery": "Kiểm tra trạng thái tác vụ ban đầu. Tải xuống sau khi trạng thái là completed; nếu là failed, làm theo thông báo kiểm tra khoản phí.",
                "type": "video_not_ready"
              }
            ],
            "hints": [
              "No null values or duplicate keys at any JSON object level",
              "No duration/resolution/aspect default is inserted",
              "Prompt required for all21 despite broader official image-only schema",
              "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
              "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
              "No n/output-count/client price fields accepted",
              "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}/content",
                  "query": {
                    "index": "actual output index"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "mode": "submit_once_poll_original",
              "public_id": "video_<uuid>; owner user/key/group scope",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}"
                }
              ],
              "submit_status": 202,
              "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
              "terminal_provider_states": [
                "failed",
                "cancelled",
                "expired"
              ],
              "unknown": "503 result_pending_check + id ban đầu + X-Should-Retry:false; tuyệt đối không gửi lại yêu cầu ban đầu"
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "model": {
                  "enum": [
                    "alibaba/wan-3.0-prime"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "Cung cấp prompt dạng văn bản và duration là số giây nguyên. Chọn độ phân giải được hỗ trợ và tỷ lệ khung hình nếu cần.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "Câu lệnh dạng văn bản."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "alibaba/wan-3.0-prime"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images là một mảng. Mỗi đối tượng khung hình có type, image_url và frame_type; image_url chứa url. Đặt type thành image_url. Dùng first_frame. Mỗi vai trò khung hình xuất hiện tối đa một lần. Cung cấp URL ảnh HTTPS công khai cho mỗi khung hình. Chọn độ phân giải được hỗ trợ và tỷ lệ khung hình nếu cần.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "Câu lệnh dạng văn bản và ảnh khung hình đầu tiên."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images"
            ],
            "outputs": {
              "content_range_supported": true,
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "condition": "Always present for each completed output.",
                  "description": "Vị trí bắt đầu từ không của video này trong danh sách outputs.",
                  "field_path": "outputs[].index",
                  "json_schema": {
                    "type": "integer"
                  },
                  "name": "index",
                  "nullable": false,
                  "type": "integer"
                },
                {
                  "condition": "Present after the owned result is available and a signed URL is created.",
                  "description": "URL tải xuống HTTPS đã ký cho video đã hoàn tất này.",
                  "field_path": "outputs[].content_url",
                  "json_schema": {
                    "type": "string"
                  },
                  "name": "content_url",
                  "nullable": false,
                  "type": "string"
                },
                {
                  "condition": "A nonempty recorded digest is returned; otherwise null.",
                  "description": "Giá trị băm SHA-256 của các byte video gốc; null nếu không có dữ liệu.",
                  "field_path": "outputs[].sha256",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "sha256",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when the recorded file size is positive.",
                  "description": "Dung lượng tệp video gốc tính bằng byte; null nếu không có dữ liệu.",
                  "field_path": "outputs[].size_bytes",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "size_bytes",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned when the measured duration is positive.",
                  "description": "Thời lượng video đo được tính bằng mili giây; null nếu không có dữ liệu.",
                  "field_path": "outputs[].duration_ms",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "duration_ms",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Chiều rộng video tính bằng pixel; null nếu không có dữ liệu.",
                  "field_path": "outputs[].width",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "width",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Chiều cao video tính bằng pixel; null nếu không có dữ liệu.",
                  "field_path": "outputs[].height",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "height",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned together with positive recorded width and height.",
                  "description": "Mã định danh codec video; null nếu chưa được ghi nhận.",
                  "field_path": "outputs[].video_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "video_codec",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                  "description": "Video có chứa bản âm thanh hay không; null nếu chưa được đo.",
                  "field_path": "outputs[].has_audio",
                  "json_schema": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "name": "has_audio",
                  "nullable": true,
                  "type": "boolean | null"
                },
                {
                  "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                  "description": "Mã định danh codec âm thanh; null khi chưa ghi nhận mã định danh.",
                  "field_path": "outputs[].audio_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "audio_codec",
                  "nullable": true,
                  "type": "string | null"
                }
              ],
              "format": "original MP4 bytes; no normalization/transcode",
              "max_aggregate_seconds": 2400,
              "max_bytes_per_output": 67108864,
              "max_seconds_per_output": 600,
              "result": "các URL nội dung đã ký thuộc quyền sở hữu",
              "unmeasured_fields_nullable": true
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "alibaba/wan-3.0-prime"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "alibaba/wan-3.0-prime"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minLength": 1,
                "name": "prompt",
                "required": true,
                "schema": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  2,
                  3,
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10,
                  11,
                  12,
                  13,
                  14,
                  15,
                  16,
                  17,
                  18,
                  19,
                  20,
                  21,
                  22,
                  23,
                  24,
                  25,
                  26,
                  27,
                  28,
                  29,
                  30
                ],
                "enum_known": true,
                "maximum": 600,
                "minimum": 1,
                "name": "duration",
                "required": true,
                "schema": {
                  "enum": [
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15,
                    16,
                    17,
                    18,
                    19,
                    20,
                    21,
                    22,
                    23,
                    24,
                    25,
                    26,
                    27,
                    28,
                    29,
                    30
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480p",
                  "720p",
                  "1080p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "4:3",
                  "1:1",
                  "3:4",
                  "9:16"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "16:9",
                    "4:3",
                    "1:1",
                    "3:4",
                    "9:16"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Các khóa này mô tả từng đối tượng khung hình; image_url chỉ chứa url. Bỏ frame_images đối với yêu cầu chỉ có văn bản.",
                "content": "Mảng đối tượng khung hình. Mỗi đối tượng có type=image_url, image_url chứa url và frame_type. Dùng URL ảnh HTTPS và đặt frame_type thành first_frame. Mỗi vai trò khung hình xuất hiện tối đa một lần.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 1,
                "max_items": 1,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxItems": 0,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum": 9223372036854775807,
                "minimum": -9223372036854775808,
                "name": "seed",
                "required": false,
                "schema": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback_url",
                "pattern": "^https://",
                "required": false,
                "schema": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "schema": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              }
            ],
            "request_schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "16:9",
                    "4:3",
                    "1:1",
                    "3:4",
                    "9:16"
                  ]
                },
                "callback_url": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "creativity": false,
                "duration": {
                  "enum": [
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15,
                    16,
                    17,
                    18,
                    19,
                    20,
                    21,
                    22,
                    23,
                    24,
                    25,
                    26,
                    27,
                    28,
                    29,
                    30
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "frame_images": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "model": {
                  "const": "alibaba/wan-3.0-prime"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p"
                  ]
                },
                "seed": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": false,
                "trace": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "upscale_factor": false,
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration"
              ],
              "title": "Video generation request",
              "type": "object",
              "x-source-global-rules": [
                "No null values or duplicate keys at any JSON object level",
                "No duration/resolution/aspect default is inserted",
                "Prompt required for all21 despite broader official image-only schema",
                "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
                "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
                "No n/output-count/client price fields accepted",
                "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
              ],
              "x-source-material-combinations": [
                "Exact model/card, positive published duration, model resolution/aspect membership and valid frozen quote are all required; independent enum arrays are not proven provider Cartesian combinations.",
                "Use exact published size or compatible resolution/aspect. Omitted options stay omitted; no guessed geometry.",
                "first_frame/last_frame roles each occur at most once; frame_images wins mode precedence over input_references.",
                "provider options are unavailable for this model despite any published passthrough-name allowlist."
              ]
            },
            "unsupported": [
              "size",
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "seed",
              "callback_url",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "prompt",
              "duration"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}/content",
                "query": {
                  "index": "actual output index"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "mode": "submit_once_poll_original",
            "public_id": "video_<uuid>; owner user/key/group scope",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}"
              }
            ],
            "submit_status": 202,
            "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
            "terminal_provider_states": [
              "failed",
              "cancelled",
              "expired"
            ],
            "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; never replay original"
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_video",
            "image_to_video_frame_images"
          ],
          "output": {
            "content_range_supported": true,
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "condition": "Always present for each completed output.",
                "description": "Zero-based position of this video in the outputs list.",
                "field_path": "outputs[].index",
                "json_schema": {
                  "type": "integer"
                },
                "name": "index",
                "nullable": false,
                "type": "integer"
              },
              {
                "condition": "Present after the owned result is available and a signed URL is created.",
                "description": "Signed HTTPS download URL for this completed video.",
                "field_path": "outputs[].content_url",
                "json_schema": {
                  "type": "string"
                },
                "name": "content_url",
                "nullable": false,
                "type": "string"
              },
              {
                "condition": "A nonempty recorded digest is returned; otherwise null.",
                "description": "SHA-256 digest of the original video bytes; null if unavailable.",
                "field_path": "outputs[].sha256",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "sha256",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when the recorded file size is positive.",
                "description": "Size of the original video file in bytes; null if unavailable.",
                "field_path": "outputs[].size_bytes",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "size_bytes",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned when the measured duration is positive.",
                "description": "Measured video duration in milliseconds; null if unavailable.",
                "field_path": "outputs[].duration_ms",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "duration_ms",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video width in pixels; null if unavailable.",
                "field_path": "outputs[].width",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "width",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video height in pixels; null if unavailable.",
                "field_path": "outputs[].height",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "height",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned together with positive recorded width and height.",
                "description": "Video codec identifier; null if not recorded.",
                "field_path": "outputs[].video_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "video_codec",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                "description": "Whether the video contains an audio track; null if not measured.",
                "field_path": "outputs[].has_audio",
                "json_schema": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "name": "has_audio",
                "nullable": true,
                "type": "boolean | null"
              },
              {
                "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                "description": "Audio codec identifier; null when no identifier is recorded.",
                "field_path": "outputs[].audio_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "audio_codec",
                "nullable": true,
                "type": "string | null"
              }
            ],
            "format": "original MP4 bytes; no normalization/transcode",
            "max_aggregate_seconds": 2400,
            "max_bytes_per_output": 67108864,
            "max_seconds_per_output": 600,
            "result": "signed owned content URLs",
            "unmeasured_fields_nullable": true
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "Giá video",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 480p",
              "quoted_unit": "per video second"
            },
            "label": "Giá video",
            "units": [
              {
                "amount": "0.136",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_480p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.136",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.28",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.28",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Ước tính này không phải là khoản phí bổ sung hay mức giá cố định cho lượt tạo đã hoàn tất.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Chi phí tạo ước tính",
            "units": [
              {
                "amount": "0.272",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.272",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nfrom pathlib import Path\nPath('request.json').write_text('{\"aspect_ratio\":\"16:9\",\"duration\":8,\"model\":\"alibaba/wan-3.0-prime\",\"prompt\":\"A serene mountain landscape at sunset\",\"resolution\":\"720p\"}', encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "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": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 480p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.136",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_480p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.136",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.28",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.28",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.272",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.272",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "alibaba/wan-3.0-prime",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{public_id}",
          "GET /v1/videos/{public_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.56",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_1080p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.56",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.136",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_480p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.136",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.28",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_720p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.28",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.272",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.272",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "alibaba/wan-3.0-prime",
        "request_model_id": "alibaba/wan-3.0-prime",
        "route_label": "Ultra"
      }
    ],
    "name": "Alibaba: Wan 3.0 Prime",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.272,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.272,
      "varies": false
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "480P",
          "Service deployment scope": "International",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.136",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "480P",
              "Service deployment scope": "International",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "480P",
          "Service deployment scope": "International",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.136",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "480P",
              "Service deployment scope": "International",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 1,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "720P",
          "Service deployment scope": "International",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.28",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "720P",
              "Service deployment scope": "International",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 2,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "720P",
          "Service deployment scope": "International",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.28",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "720P",
              "Service deployment scope": "International",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 3,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "1080P",
          "Service deployment scope": "International",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.56",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "1080P",
              "Service deployment scope": "International",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 4,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "1080P",
          "Service deployment scope": "International",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.56",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "1080P",
              "Service deployment scope": "International",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 5,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "480P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.1272",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "480P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 6,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "480P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.1272",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "480P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 7,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.254398",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 8,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.254398",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 9,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.508798",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 10,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.508798",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 11,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "480P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.1272",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "480P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 12,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "480P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.1272",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "480P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 13,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "720P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.254398",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "720P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 14,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "720P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.254398",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "720P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 15,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "1080P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.508798",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "1080P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 16,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "1080P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.508798",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "1080P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 17,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "480P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.1272",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "480P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 18,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "480P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.1272",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "480P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 19,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "720P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.254398",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "720P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 20,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "720P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.254398",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "720P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 21,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "1080P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.508798",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "1080P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 22,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "1080P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.508798",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "1080P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 23,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "480P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.1272",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "480P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 24,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "480P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.1272",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "480P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 25,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "720P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.254398",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "720P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 26,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "720P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.254398",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "720P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 27,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "1080P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.508798",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "1080P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 28,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "1080P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.508798",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "1080P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 29,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "480P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.1272",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "480P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 30,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "480P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.1272",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "480P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 31,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "720P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.254398",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "720P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 32,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "720P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.254398",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "720P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 33,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "1080P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.508798",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "1080P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 34,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan3.0-video-prime",
          "Output video resolution": "1080P",
          "Service deployment scope": "Global",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan3.0-video-prime"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.508798",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan3.0-video-prime",
              "Output video resolution": "1080P",
              "Service deployment scope": "Global",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan3.0-video-prime"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 35,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "dimensions": {},
        "label": "Ailoot Ultra · Tariff components",
        "units": [
          {
            "amount": "0.136",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=480p",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.136",
            "key": "duration_seconds_480p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.136",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.28",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=720p",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.28",
            "key": "duration_seconds_720p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.28",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.56",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=1080p",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.56",
            "key": "duration_seconds_1080p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.56",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          }
        ]
      }
    ],
    "public_id": "alibaba/wan-3.0-prime",
    "short": "Alibaba Wan 3.0 Prime là mô hình video Wan 3.0 được tối ưu tốc độ. Cấu hình nhà sản xuất hỗ trợ tạo từ văn bản, khung đầu và khung đầu/cuối, cùng tham chiếu đa phương thức, có âm thanh tích hợp. Mô hình tạo đoạn MP4 2–30 giây ở 30 fps, 480p, 720p hoặc 1080p, với bố cục thích ứng và quy trình chỉnh sửa."
  },
  "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": "Alibaba Wan 3.0 Prime là mô hình video Wan 3.0 được tối ưu tốc độ. Cấu hình nhà sản xuất hỗ trợ tạo từ văn bản, khung đầu và khung đầu/cuối, cùng tham chiếu đa phương thức, có âm thanh tích hợp. Mô hình tạo đoạn MP4 2–30 giây ở 30 fps, 480p, 720p hoặc 1080p, với bố cục thích ứng và quy trình chỉnh sửa.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_exact_canonical_sha256": "af40e77e50beb989e9a0bc843071ec7c91548855645301c784350fe4f063ef9f",
    "raw_model_js_projection_sha256": "188a1bf0a4b36522e50775e914d65c89f39ebc40c45f46a23d20929e3d60d1e0",
    "raw_model_json_sha256": "af40e77e50beb989e9a0bc843071ec7c91548855645301c784350fe4f063ef9f",
    "renderer_sha256": "64a62299639eb843877e9ec5c95e32bf22bac3acfe230f6f502c5c3aa186f9c1"
  },
  "sourceRevision": "afb95108b709f6647a618db709942b1f0c0a051fa2f23d5cb62f373e82a20609"
}
