{
  "aboutHtml": "<h4>Khám phá nhanh trong dòng Krea 2</h4><p>Krea 2 Medium Turbo là phiên bản tạo ảnh được Krea giới thiệu dưới tên Krea 2 Turbo. Giao diện riêng của mô hình xác định biến thể Medium Turbo, còn hướng dẫn sử dụng của Krea mô tả lịch lấy mẫu đã chưng cất để giảm lượng công việc cần thiết khi tạo ảnh. Krea định vị đây là lựa chọn nhanh nhất trong dòng cho khám phá sáng tạo rộng, bản phác thảo giàu biểu cảm, minh họa và định hướng đồ họa.</p><p>Dùng mô hình khi mục tiêu trước mắt là so sánh ý tưởng: bố cục thay thế cho bìa, cách xử lý hình ảnh cho chiến dịch hoặc phong cách minh họa khác nhau cho cùng cảnh. Một yêu cầu ban đầu ngắn gọn, cụ thể giúp so sánh dễ hơn. Ví dụ: “Một con chim giấy đỏ đã gấp phía trên bàn xanh lam nhạt, minh họa biên tập đậm nét, bóng đổ gắt buổi chiều, hình học đơn giản, bố cục dọc có khoảng trống rõ ở phía dưới.” Giữ nguyên chủ thể và khung hình khi khám phá cách xử lý hình ảnh, rồi phát triển tiếp hướng đã chọn.</p><p>Hướng dẫn lựa chọn phiên bản của Krea ưu tiên Medium khi cần phong cách minh họa ổn định hơn và Large cho hướng ảnh chụp hoặc kết cấu thô ở bản cuối. Turbo vẫn là một phiên bản riêng; lượt xử lý sau bằng mô hình khác là lần tạo riêng, thay vì tự động nâng chất lượng hay tiếp tục y hệt.</p><h4>Chuẩn bị lời nhắc và đầu vào trực quan</h4><p>Lược đồ tạo ảnh của mô hình yêu cầu lời nhắc, tỷ lệ khung hình và độ phân giải. Đầu vào chuyển ảnh thành ảnh tùy chọn bắt đầu tạo từ ảnh nguồn thay vì nhiễu thuần túy. Cường độ khử nhiễu chạy từ 0 đến 1: 0 giữ đầu vào, 1 thay thế hoàn toàn, và mặc định được tài liệu ghi là 0.99. Chuẩn bị bố cục ban đầu cẩn thận và mô tả điều cần đổi; cường độ cao cho phép thay thế đáng kể ảnh nguồn.</p><p>Tham chiếu phong cách cung cấp diện mạo qua hình ảnh thay vì thay đổi cường độ của ảnh khởi đầu. Lược đồ riêng của mô hình giới hạn chuỗi URI ảnh nguồn và tham chiếu phong cách ở 1,024 ký tự. Lược đồ yêu cầu riêng nhận tối đa mười tham chiếu, mỗi tham chiếu có mức ảnh hưởng từ 0 đến 1, mặc định 0.5. Chọn tham chiếu có vai trò rõ như bảng màu, cách vẽ hoặc hướng ánh sáng. Hướng dẫn riêng về không gian làm việc Krea mô tả tối đa bốn tham chiếu phong cách trong giao diện đó; cần chuẩn bị theo giới hạn tương ứng của từng giao diện.</p><p>Bảng định hướng hình ảnh tập hợp một hướng thị giác thống nhất thành đầu vào dùng lại được. Tạo bảng trước rồi dùng mã định danh sẵn có khi tạo ảnh. Lược đồ nhận một bảng định hướng, với mức ảnh hưởng từ 0 đến 1 và mặc định 0.23. Phong cách đã huấn luyện, thường là LoRA, là một loại đầu vào khác được chọn bằng mã định danh và cường độ từ -2 đến 2. Ảnh nguồn, tham chiếu phong cách, bảng định hướng và phong cách đã huấn luyện có vai trò khác nhau; không coi chúng là những cách thay thế lẫn nhau để giữ mọi chi tiết.</p><h4>Điều chỉnh mức sáng tạo và ba thanh trượt hình ảnh</h4><p>Creativity điều khiển việc mở rộng lời nhắc. Raw tắt tính năng này; low, medium và high thay đổi lượng diễn giải được thêm vào yêu cầu. Lược đồ riêng mặc định low. Dùng mức tiết chế để so sánh một yêu cầu chính xác, hoặc tăng diễn giải khi mục đích là khám phá nhiều ý tưởng hơn.</p><p>Intensity, Complexity và Movement là ba thanh trượt số nguyên độc lập từ -100 đến 100, với 0 là trung tính. Intensity chuyển giữa cách xử lý dịu và mạnh. Complexity chuyển giữa bố cục đơn giản và chi tiết dày hơn. Movement thay đổi tư thế, năng lượng thị giác và cảm giác chuyển động. Có thể kết hợp các thanh trượt với tham chiếu và bảng định hướng; chúng tách biệt với việc mở rộng lời nhắc của Creativity.</p><p>Với yêu cầu con chim giấy, trước tiên so sánh bố cục gọn với bố cục chi tiết hơn trong khi giữ các thiết lập khác. Sau đó khám phá cách xử lý mạnh hơn hoặc tư thế giàu năng lượng hơn. Thay đổi từng tùy chọn một và lưu seed tùy chọn, lời nhắc cùng bộ tham chiếu. Movement ảnh hưởng đến đặc tính của ảnh tĩnh; nó không tạo chim chuyển động, chuyển động máy quay hay chuỗi video.</p><h4>Khung hình, lô ảnh và ảnh đã hoàn thành</h4><p>Lược đồ tạo riêng của mô hình có thang độ phân giải 1K và chín tỷ lệ: 1:1, 4:3, 3:2, 16:9, 2.35:1, 4:5, 3:4, 2:3 và 9:16. Hướng dẫn không gian làm việc Turbo của Krea cũng mô tả tạo tối đa bốn ảnh trong một lô. Thiết lập lô thuộc quy trình không gian làm việc được tài liệu mô tả, tách biệt với lược đồ yêu cầu tạo từng ảnh.</p><p>Chọn khung cho sản phẩm dự định trước khi tạo. Bìa dọc cần cân bằng chủ thể và khoảng trống khác với ảnh biên tập ngang rộng. Tách thang tạo ảnh khỏi mọi bước nâng cấp sau đó hoặc xuất bố cục hoàn chỉnh.</p><p>Quy trình tạo được tài liệu Krea mô tả trả về một công việc có thể ban đầu ở trạng thái chờ. Theo dõi công việc đến khi hoàn tất và lấy các vị trí ảnh kết quả. So sánh phương án đã hoàn thành thực tế về bố cục, hình dạng, kết cấu, bảng màu và chữ hiển thị, rồi lưu ảnh được chọn cùng đầu vào và thiết lập. Nếu sản phẩm cần chữ chính xác, đặt hoặc sửa chữ trong thiết kế hoàn thiện.</p><p>Vai trò khám phá nhanh của Turbo không bảo đảm thời gian hoàn thành cụ thể, chữ hoàn hảo hoặc tái tạo chính xác ảnh tham chiếu. Cường độ ảnh nguồn và mức ảnh hưởng của tham chiếu vẫn cần kiểm tra kết quả. Dùng phiên bản này để xác định hướng hình ảnh hiệu quả, chọn phương án cụ thể và thực hiện các chỉnh sửa cuối về chi tiết, bố cục hoặc sản xuất theo mục đích sử dụng.</p>",
  "aboutText": "### Khám phá nhanh trong dòng Krea 2\n\nKrea 2 Medium Turbo là phiên bản tạo ảnh được Krea giới thiệu dưới tên Krea 2 Turbo. Giao diện riêng của mô hình xác định biến thể Medium Turbo, còn hướng dẫn sử dụng của Krea mô tả lịch lấy mẫu đã chưng cất để giảm lượng công việc cần thiết khi tạo ảnh. Krea định vị đây là lựa chọn nhanh nhất trong dòng cho khám phá sáng tạo rộng, bản phác thảo giàu biểu cảm, minh họa và định hướng đồ họa.\n\nDùng mô hình khi mục tiêu trước mắt là so sánh ý tưởng: bố cục thay thế cho bìa, cách xử lý hình ảnh cho chiến dịch hoặc phong cách minh họa khác nhau cho cùng cảnh. Một yêu cầu ban đầu ngắn gọn, cụ thể giúp so sánh dễ hơn. Ví dụ: “Một con chim giấy đỏ đã gấp phía trên bàn xanh lam nhạt, minh họa biên tập đậm nét, bóng đổ gắt buổi chiều, hình học đơn giản, bố cục dọc có khoảng trống rõ ở phía dưới.” Giữ nguyên chủ thể và khung hình khi khám phá cách xử lý hình ảnh, rồi phát triển tiếp hướng đã chọn.\n\nHướng dẫn lựa chọn phiên bản của Krea ưu tiên Medium khi cần phong cách minh họa ổn định hơn và Large cho hướng ảnh chụp hoặc kết cấu thô ở bản cuối. Turbo vẫn là một phiên bản riêng; lượt xử lý sau bằng mô hình khác là lần tạo riêng, thay vì tự động nâng chất lượng hay tiếp tục y hệt.\n\n### Chuẩn bị lời nhắc và đầu vào trực quan\n\nLược đồ tạo ảnh của mô hình yêu cầu lời nhắc, tỷ lệ khung hình và độ phân giải. Đầu vào chuyển ảnh thành ảnh tùy chọn bắt đầu tạo từ ảnh nguồn thay vì nhiễu thuần túy. Cường độ khử nhiễu chạy từ 0 đến 1: 0 giữ đầu vào, 1 thay thế hoàn toàn, và mặc định được tài liệu ghi là 0.99. Chuẩn bị bố cục ban đầu cẩn thận và mô tả điều cần đổi; cường độ cao cho phép thay thế đáng kể ảnh nguồn.\n\nTham chiếu phong cách cung cấp diện mạo qua hình ảnh thay vì thay đổi cường độ của ảnh khởi đầu. Lược đồ riêng của mô hình giới hạn chuỗi URI ảnh nguồn và tham chiếu phong cách ở 1,024 ký tự. Lược đồ yêu cầu riêng nhận tối đa mười tham chiếu, mỗi tham chiếu có mức ảnh hưởng từ 0 đến 1, mặc định 0.5. Chọn tham chiếu có vai trò rõ như bảng màu, cách vẽ hoặc hướng ánh sáng. Hướng dẫn riêng về không gian làm việc Krea mô tả tối đa bốn tham chiếu phong cách trong giao diện đó; cần chuẩn bị theo giới hạn tương ứng của từng giao diện.\n\nBảng định hướng hình ảnh tập hợp một hướng thị giác thống nhất thành đầu vào dùng lại được. Tạo bảng trước rồi dùng mã định danh sẵn có khi tạo ảnh. Lược đồ nhận một bảng định hướng, với mức ảnh hưởng từ 0 đến 1 và mặc định 0.23. Phong cách đã huấn luyện, thường là LoRA, là một loại đầu vào khác được chọn bằng mã định danh và cường độ từ -2 đến 2. Ảnh nguồn, tham chiếu phong cách, bảng định hướng và phong cách đã huấn luyện có vai trò khác nhau; không coi chúng là những cách thay thế lẫn nhau để giữ mọi chi tiết.\n\n### Điều chỉnh mức sáng tạo và ba thanh trượt hình ảnh\n\nCreativity điều khiển việc mở rộng lời nhắc. Raw tắt tính năng này; low, medium và high thay đổi lượng diễn giải được thêm vào yêu cầu. Lược đồ riêng mặc định low. Dùng mức tiết chế để so sánh một yêu cầu chính xác, hoặc tăng diễn giải khi mục đích là khám phá nhiều ý tưởng hơn.\n\nIntensity, Complexity và Movement là ba thanh trượt số nguyên độc lập từ -100 đến 100, với 0 là trung tính. Intensity chuyển giữa cách xử lý dịu và mạnh. Complexity chuyển giữa bố cục đơn giản và chi tiết dày hơn. Movement thay đổi tư thế, năng lượng thị giác và cảm giác chuyển động. Có thể kết hợp các thanh trượt với tham chiếu và bảng định hướng; chúng tách biệt với việc mở rộng lời nhắc của Creativity.\n\nVới yêu cầu con chim giấy, trước tiên so sánh bố cục gọn với bố cục chi tiết hơn trong khi giữ các thiết lập khác. Sau đó khám phá cách xử lý mạnh hơn hoặc tư thế giàu năng lượng hơn. Thay đổi từng tùy chọn một và lưu seed tùy chọn, lời nhắc cùng bộ tham chiếu. Movement ảnh hưởng đến đặc tính của ảnh tĩnh; nó không tạo chim chuyển động, chuyển động máy quay hay chuỗi video.\n\n### Khung hình, lô ảnh và ảnh đã hoàn thành\n\nLược đồ tạo riêng của mô hình có thang độ phân giải 1K và chín tỷ lệ: 1:1, 4:3, 3:2, 16:9, 2.35:1, 4:5, 3:4, 2:3 và 9:16. Hướng dẫn không gian làm việc Turbo của Krea cũng mô tả tạo tối đa bốn ảnh trong một lô. Thiết lập lô thuộc quy trình không gian làm việc được tài liệu mô tả, tách biệt với lược đồ yêu cầu tạo từng ảnh.\n\nChọn khung cho sản phẩm dự định trước khi tạo. Bìa dọc cần cân bằng chủ thể và khoảng trống khác với ảnh biên tập ngang rộng. Tách thang tạo ảnh khỏi mọi bước nâng cấp sau đó hoặc xuất bố cục hoàn chỉnh.\n\nQuy trình tạo được tài liệu Krea mô tả trả về một công việc có thể ban đầu ở trạng thái chờ. Theo dõi công việc đến khi hoàn tất và lấy các vị trí ảnh kết quả. So sánh phương án đã hoàn thành thực tế về bố cục, hình dạng, kết cấu, bảng màu và chữ hiển thị, rồi lưu ảnh được chọn cùng đầu vào và thiết lập. Nếu sản phẩm cần chữ chính xác, đặt hoặc sửa chữ trong thiết kế hoàn thiện.\n\nVai trò khám phá nhanh của Turbo không bảo đảm thời gian hoàn thành cụ thể, chữ hoàn hảo hoặc tái tạo chính xác ảnh tham chiếu. Cường độ ảnh nguồn và mức ảnh hưởng của tham chiếu vẫn cần kiểm tra kết quả. Dùng phiên bản này để xác định hướng hình ảnh hiệu quả, chọn phương án cụ thể và thực hiện các chỉnh sửa cuối về chi tiết, bố cục hoặc sản xuất theo mục đích sử dụng.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "f68d6f560c5e2148cd9f44344389631517f7aaa4d3fd994c2c3698878e938a65",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "vi",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Krea: Krea 2 Medium Turbo</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Đóng\">×</button></div><div class=\"idline\"><span>Krea /</span><code>krea/krea-2-medium-turbo</code><button type=\"button\" id=\"copy-id\">Sao chép ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Các phần của thẻ mô hình\"><button type=\"button\" data-card-jump=\"overview\">Bắt đầu</button><button type=\"button\" data-card-jump=\"methods\">Đầu vào &amp; phương thức</button><button type=\"button\" data-card-jump=\"pricing\">Bảng giá</button><button type=\"button\" data-card-jump=\"examples\">Ví dụ</button><button type=\"button\" data-card-jump=\"results\">Kết quả</button><button type=\"button\" data-card-jump=\"aliases\">Bí danh</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Phương thức API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|images|/v1/images/generations|krea%2Fkrea-2-medium-turbo\">Ảnh</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\">Krea 2 Medium Turbo là phiên bản tạo ảnh nhanh của Krea để khám phá ý tưởng thị giác và tạo bản nháp giàu biểu cảm. Mô hình kết hợp lịch lấy mẫu đã chưng cất với các tuỳ chọn văn bản, ảnh nguồn và phong cách, gồm điều chỉnh riêng cường độ, độ phức tạp và chuyển động gợi ra trong ảnh.</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>Ảnh</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\"><h4>Khám phá nhanh trong dòng Krea 2</h4><p>Krea 2 Medium Turbo là phiên bản tạo ảnh được Krea giới thiệu dưới tên Krea 2 Turbo. Giao diện riêng của mô hình xác định biến thể Medium Turbo, còn hướng dẫn sử dụng của Krea mô tả lịch lấy mẫu đã chưng cất để giảm lượng công việc cần thiết khi tạo ảnh. Krea định vị đây là lựa chọn nhanh nhất trong dòng cho khám phá sáng tạo rộng, bản phác thảo giàu biểu cảm, minh họa và định hướng đồ họa.</p><p>Dùng mô hình khi mục tiêu trước mắt là so sánh ý tưởng: bố cục thay thế cho bìa, cách xử lý hình ảnh cho chiến dịch hoặc phong cách minh họa khác nhau cho cùng cảnh. Một yêu cầu ban đầu ngắn gọn, cụ thể giúp so sánh dễ hơn. Ví dụ: “Một con chim giấy đỏ đã gấp phía trên bàn xanh lam nhạt, minh họa biên tập đậm nét, bóng đổ gắt buổi chiều, hình học đơn giản, bố cục dọc có khoảng trống rõ ở phía dưới.” Giữ nguyên chủ thể và khung hình khi khám phá cách xử lý hình ảnh, rồi phát triển tiếp hướng đã chọn.</p><p>Hướng dẫn lựa chọn phiên bản của Krea ưu tiên Medium khi cần phong cách minh họa ổn định hơn và Large cho hướng ảnh chụp hoặc kết cấu thô ở bản cuối. Turbo vẫn là một phiên bản riêng; lượt xử lý sau bằng mô hình khác là lần tạo riêng, thay vì tự động nâng chất lượng hay tiếp tục y hệt.</p><h4>Chuẩn bị lời nhắc và đầu vào trực quan</h4><p>Lược đồ tạo ảnh của mô hình yêu cầu lời nhắc, tỷ lệ khung hình và độ phân giải. Đầu vào chuyển ảnh thành ảnh tùy chọn bắt đầu tạo từ ảnh nguồn thay vì nhiễu thuần túy. Cường độ khử nhiễu chạy từ 0 đến 1: 0 giữ đầu vào, 1 thay thế hoàn toàn, và mặc định được tài liệu ghi là 0.99. Chuẩn bị bố cục ban đầu cẩn thận và mô tả điều cần đổi; cường độ cao cho phép thay thế đáng kể ảnh nguồn.</p><p>Tham chiếu phong cách cung cấp diện mạo qua hình ảnh thay vì thay đổi cường độ của ảnh khởi đầu. Lược đồ riêng của mô hình giới hạn chuỗi URI ảnh nguồn và tham chiếu phong cách ở 1,024 ký tự. Lược đồ yêu cầu riêng nhận tối đa mười tham chiếu, mỗi tham chiếu có mức ảnh hưởng từ 0 đến 1, mặc định 0.5. Chọn tham chiếu có vai trò rõ như bảng màu, cách vẽ hoặc hướng ánh sáng. Hướng dẫn riêng về không gian làm việc Krea mô tả tối đa bốn tham chiếu phong cách trong giao diện đó; cần chuẩn bị theo giới hạn tương ứng của từng giao diện.</p><p>Bảng định hướng hình ảnh tập hợp một hướng thị giác thống nhất thành đầu vào dùng lại được. Tạo bảng trước rồi dùng mã định danh sẵn có khi tạo ảnh. Lược đồ nhận một bảng định hướng, với mức ảnh hưởng từ 0 đến 1 và mặc định 0.23. Phong cách đã huấn luyện, thường là LoRA, là một loại đầu vào khác được chọn bằng mã định danh và cường độ từ -2 đến 2. Ảnh nguồn, tham chiếu phong cách, bảng định hướng và phong cách đã huấn luyện có vai trò khác nhau; không coi chúng là những cách thay thế lẫn nhau để giữ mọi chi tiết.</p><h4>Điều chỉnh mức sáng tạo và ba thanh trượt hình ảnh</h4><p>Creativity điều khiển việc mở rộng lời nhắc. Raw tắt tính năng này; low, medium và high thay đổi lượng diễn giải được thêm vào yêu cầu. Lược đồ riêng mặc định low. Dùng mức tiết chế để so sánh một yêu cầu chính xác, hoặc tăng diễn giải khi mục đích là khám phá nhiều ý tưởng hơn.</p><p>Intensity, Complexity và Movement là ba thanh trượt số nguyên độc lập từ -100 đến 100, với 0 là trung tính. Intensity chuyển giữa cách xử lý dịu và mạnh. Complexity chuyển giữa bố cục đơn giản và chi tiết dày hơn. Movement thay đổi tư thế, năng lượng thị giác và cảm giác chuyển động. Có thể kết hợp các thanh trượt với tham chiếu và bảng định hướng; chúng tách biệt với việc mở rộng lời nhắc của Creativity.</p><p>Với yêu cầu con chim giấy, trước tiên so sánh bố cục gọn với bố cục chi tiết hơn trong khi giữ các thiết lập khác. Sau đó khám phá cách xử lý mạnh hơn hoặc tư thế giàu năng lượng hơn. Thay đổi từng tùy chọn một và lưu seed tùy chọn, lời nhắc cùng bộ tham chiếu. Movement ảnh hưởng đến đặc tính của ảnh tĩnh; nó không tạo chim chuyển động, chuyển động máy quay hay chuỗi video.</p><h4>Khung hình, lô ảnh và ảnh đã hoàn thành</h4><p>Lược đồ tạo riêng của mô hình có thang độ phân giải 1K và chín tỷ lệ: 1:1, 4:3, 3:2, 16:9, 2.35:1, 4:5, 3:4, 2:3 và 9:16. Hướng dẫn không gian làm việc Turbo của Krea cũng mô tả tạo tối đa bốn ảnh trong một lô. Thiết lập lô thuộc quy trình không gian làm việc được tài liệu mô tả, tách biệt với lược đồ yêu cầu tạo từng ảnh.</p><p>Chọn khung cho sản phẩm dự định trước khi tạo. Bìa dọc cần cân bằng chủ thể và khoảng trống khác với ảnh biên tập ngang rộng. Tách thang tạo ảnh khỏi mọi bước nâng cấp sau đó hoặc xuất bố cục hoàn chỉnh.</p><p>Quy trình tạo được tài liệu Krea mô tả trả về một công việc có thể ban đầu ở trạng thái chờ. Theo dõi công việc đến khi hoàn tất và lấy các vị trí ảnh kết quả. So sánh phương án đã hoàn thành thực tế về bố cục, hình dạng, kết cấu, bảng màu và chữ hiển thị, rồi lưu ảnh được chọn cùng đầu vào và thiết lập. Nếu sản phẩm cần chữ chính xác, đặt hoặc sửa chữ trong thiết kế hoàn thiện.</p><p>Vai trò khám phá nhanh của Turbo không bảo đảm thời gian hoàn thành cụ thể, chữ hoàn hảo hoặc tái tạo chính xác ảnh tham chiếu. Cường độ ảnh nguồn và mức ảnh hưởng của tham chiếu vẫn cần kiểm tra kết quả. Dùng phiên bản này để xác định hướng hình ảnh hiệu quả, chọn phương án cụ thể và thực hiện các chỉnh sửa cuối về chi tiết, bố cục hoặc sản xuất theo mục đích sử dụng.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Có trên Ailoot · đầu vào &amp; phương thức</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Ảnh</b> <code>POST /v1/images/generations</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>image</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Trường</th><th>Loại</th><th>Yêu cầu</th><th>Giá trị &amp; giới hạn</th><th>Mặc định</th></tr></thead><tbody><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>krea/krea-2-medium-turbo</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">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><div>Độ dài tối thiểu: 1</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">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>1K</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">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>1:1, 4:3, 3:2, 16:9, 4:5, 2:3, 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><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><div>Số mục tối thiểu: 0</div><div>Số mục tối đa: 1</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>object</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Không bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Tham số phương thức và vòng đời</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Tham số</th><th>Hợp đồng</th></tr></thead><tbody><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>content_type</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>application/json</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>required</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>model, prompt</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></tbody></table></div><p>Vòng đời: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Bảng giá</h3><div 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>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=\"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>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=\"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.03</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></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Ví dụ yêu cầu</h3><h4>Ailoot Ultra · Ảnh</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-1777-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1777-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Sao chép mã\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1777-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1777-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_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np={&#39;model&#39;: &#39;krea/krea-2-medium-turbo&#39;, &#39;prompt&#39;: &#39;a red panda astronaut floating in space, studio lighting&#39;}\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\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 base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(&quot;No completed images; retain the full response&quot;)\n    for index, item in enumerate(items):\n        encoded=item.get(&quot;b64_json&quot;)\n        uri=item.get(&quot;url&quot;, &quot;&quot;)\n        if not encoded and uri.startswith(&quot;data:image/&quot;):\n            header, separator, encoded=uri.partition(&quot;,&quot;)\n            if not separator or &quot;;base64&quot; not in header: raise SystemExit(&quot;Unsupported image data URI&quot;)\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(&quot;https://api.ailoot.ai&quot;,uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=&quot;https&quot; or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(&quot;Invalid returned image URL&quot;)\n            owned=parsed.netloc==&quot;api.ailoot.ai&quot; and parsed.path.startswith(&quot;/v1/media/assets/&quot;) and parsed.path.endswith(&quot;/content&quot;)\n            args=[&quot;curl&quot;,&quot;--fail-with-body&quot;,&quot;--silent&quot;,&quot;--show-error&quot;,uri]\n            if owned: args += [&quot;-H&quot;,&quot;Authorization: Bearer &quot;+os.environ[&quot;AILOOT_API_KEY&quot;]]\n            temporary=Path(f&quot;image-{index}.bin&quot;)\n            subprocess.run(args+[&quot;-o&quot;,str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(&quot;Image has neither bytes nor URL&quot;)\n        if not raw: raise SystemExit(&quot;Empty image result&quot;)\n        ext=&quot;png&quot; if raw.startswith(b&quot;\\x89PNG&quot;) else &quot;jpg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;webp&quot; if raw[:4]==b&quot;RIFF&quot; and raw[8:12]==b&quot;WEBP&quot; else &quot;svg&quot; if raw.lstrip().startswith((b&quot;&lt;svg&quot;,b&quot;&lt;?xml&quot;)) else &quot;bin&quot;\n        Path(f&quot;image-{index}.{ext}&quot;).write_bytes(raw)\n    print(&quot;Every returned image saved; complete response metadata retained&quot;)\nsave_images(json.loads(Path(&quot;result.json&quot;).read_text())[&quot;data&quot;])\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 · Ảnh</h4><p class=\"note-s\">Tải xuống từng ảnh trả về hoặc lưu nội dung Base64 của ảnh</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><details class=\"card-about\"><summary>Lượt đọc nội dung khác</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Các phiên bản mã\"><button class=\"cg-tab\" id=\"model-code-1778-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1778-panel-0\" aria-selected=\"true\" tabindex=\"0\">Đọc tài nguyên hiện có thuộc về bạn</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Sao chép mã\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1778-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1778-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Lưu tất cả kết quả đã hoàn tất</h5><p class=\"note-s\">Lưu mọi ảnh đã hoàn tất; truy xuất từng URL trả về hoặc giải mã nội dung Base64 của ảnh.</p><p class=\"note-s\">Giữ lại toàn bộ phản hồi và các header, mọi đầu ra thực tế, các định danh gốc đã trả về và mọi trường usage. Khôi phục thao tác gốc mà không gửi lại yêu cầu tạo.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Nếu cần kiểm tra phản hồi gốc</h5><p class=\"note-s\">Giữ lại X-Client-Request-ID đã trả về để đối soát. Chỉ truy xuất theo các giá trị task_id/asset_id thực tế đã trả về hoặc từ thư viện nội dung đa phương tiện thuộc quyền sở hữu của bạn; tuyệt đối không tạo URL tác vụ từ ID thao tác và không gửi lại yêu cầu tạo.</p></div><details class=\"card-about\" data-output-fields><summary>Trường phản hồi</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Trường</th><th>Loại</th></tr></thead><tbody><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">created</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span></td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">data[].url</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span></td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">data[].b64_json</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span></td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span></td></tr></tbody></table></div></details></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=krea%2Fkrea-2-medium-turbo&amp;route=Ultra&amp;caller=krea%2Fkrea-2-medium-turbo&amp;fmt=images\"><code>krea/krea-2-medium-turbo</code></a></span></p><h4>Bí danh đường dẫn phương thức</h4><p class=\"note-s\"><code>/v1/images</code></p><h4>ID gọi liên quan</h4><p class=\"note-s\"><a href=\"#m=krea%2Fkrea-2-medium-turbo&amp;route=Ultra&amp;caller=krea%2Fkrea-2-medium-turbo&amp;fmt=images\"><code>krea/krea-2-medium-turbo</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "krea/krea-2-medium-turbo",
        "fmt": "images",
        "http": "POST",
        "path": "/v1/images/generations",
        "request_model_id": "krea/krea-2-medium-turbo",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|images|/v1/images/generations|krea%2Fkrea-2-medium-turbo",
      "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": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Giữ lại X-Client-Request-ID đã trả về để đối soát. Chỉ truy xuất theo các giá trị task_id/asset_id thực tế đã trả về hoặc từ thư viện nội dung đa phương tiện thuộc quyền sở hữu của bạn; tuyệt đối không tạo URL tác vụ từ ID thao tác và không gửi lại yêu cầu tạo."
            },
            "outputs": {
              "all_results": "Giữ lại toàn bộ phản hồi và các header, mọi đầu ra thực tế, các định danh gốc đã trả về và mọi trường usage. Khôi phục thao tác gốc mà không gửi lại yêu cầu tạo.",
              "family": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "krea/krea-2-medium-turbo"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "4:3",
                  "3:2",
                  "16:9",
                  "4:5",
                  "2:3",
                  "9:16"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "4:3",
                    "3:2",
                    "16:9",
                    "4:5",
                    "2:3",
                    "9:16"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "krea/krea-2-medium-turbo"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                },
                "resolution": {
                  "enum": [
                    "1K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "krea/krea-2-medium-turbo",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "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"
              }
            ]
          },
          {
            "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.03",
                "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.03",
                "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}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'krea/krea-2-medium-turbo', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\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 base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Ảnh",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "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"
              }
            ]
          },
          {
            "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.03",
                "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.03",
                "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": "krea/krea-2-medium-turbo",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "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.03",
            "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.03",
            "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": "krea/krea-2-medium-turbo",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "b631cbc04a0c55a2a7e34d87271da59d481311e339aeeefe70329c3021d61961",
    "input_html_sha256": "37325e91ed7956a5c5e596150e9521fc519701d8112bc472d6e101094b6e81d2",
    "private_audit_sha256": "d77ed3afe6e0e9d2fc965e50a6d78dbdfc6142a186080c300d648c6f56074e6d",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/vi/krea-krea-2-medium-turbo/",
    "description": "Krea 2 Medium Turbo là phiên bản tạo ảnh nhanh của Krea để khám phá ý tưởng thị giác và tạo bản nháp giàu biểu cảm. Mô hình kết hợp lịch lấy mẫu đã chưng cất với các tuỳ chọn văn bản, ảnh nguồn và phong cách, gồm điều chỉnh riêng cường độ, độ phức tạp và chuyển động gợi ra trong ảnh.",
    "locale": "vi",
    "md_url": "https://ailoot.ai/models/vi/krea-krea-2-medium-turbo/index.md",
    "title": "Krea: Krea 2 Medium Turbo — Ailoot",
    "url": "https://ailoot.ai/models/vi/krea-krea-2-medium-turbo/"
  },
  "rawModel": {
    "about": "### Khám phá nhanh trong dòng Krea 2\n\nKrea 2 Medium Turbo là phiên bản tạo ảnh được Krea giới thiệu dưới tên Krea 2 Turbo. Giao diện riêng của mô hình xác định biến thể Medium Turbo, còn hướng dẫn sử dụng của Krea mô tả lịch lấy mẫu đã chưng cất để giảm lượng công việc cần thiết khi tạo ảnh. Krea định vị đây là lựa chọn nhanh nhất trong dòng cho khám phá sáng tạo rộng, bản phác thảo giàu biểu cảm, minh họa và định hướng đồ họa.\n\nDùng mô hình khi mục tiêu trước mắt là so sánh ý tưởng: bố cục thay thế cho bìa, cách xử lý hình ảnh cho chiến dịch hoặc phong cách minh họa khác nhau cho cùng cảnh. Một yêu cầu ban đầu ngắn gọn, cụ thể giúp so sánh dễ hơn. Ví dụ: “Một con chim giấy đỏ đã gấp phía trên bàn xanh lam nhạt, minh họa biên tập đậm nét, bóng đổ gắt buổi chiều, hình học đơn giản, bố cục dọc có khoảng trống rõ ở phía dưới.” Giữ nguyên chủ thể và khung hình khi khám phá cách xử lý hình ảnh, rồi phát triển tiếp hướng đã chọn.\n\nHướng dẫn lựa chọn phiên bản của Krea ưu tiên Medium khi cần phong cách minh họa ổn định hơn và Large cho hướng ảnh chụp hoặc kết cấu thô ở bản cuối. Turbo vẫn là một phiên bản riêng; lượt xử lý sau bằng mô hình khác là lần tạo riêng, thay vì tự động nâng chất lượng hay tiếp tục y hệt.\n\n### Chuẩn bị lời nhắc và đầu vào trực quan\n\nLược đồ tạo ảnh của mô hình yêu cầu lời nhắc, tỷ lệ khung hình và độ phân giải. Đầu vào chuyển ảnh thành ảnh tùy chọn bắt đầu tạo từ ảnh nguồn thay vì nhiễu thuần túy. Cường độ khử nhiễu chạy từ 0 đến 1: 0 giữ đầu vào, 1 thay thế hoàn toàn, và mặc định được tài liệu ghi là 0.99. Chuẩn bị bố cục ban đầu cẩn thận và mô tả điều cần đổi; cường độ cao cho phép thay thế đáng kể ảnh nguồn.\n\nTham chiếu phong cách cung cấp diện mạo qua hình ảnh thay vì thay đổi cường độ của ảnh khởi đầu. Lược đồ riêng của mô hình giới hạn chuỗi URI ảnh nguồn và tham chiếu phong cách ở 1,024 ký tự. Lược đồ yêu cầu riêng nhận tối đa mười tham chiếu, mỗi tham chiếu có mức ảnh hưởng từ 0 đến 1, mặc định 0.5. Chọn tham chiếu có vai trò rõ như bảng màu, cách vẽ hoặc hướng ánh sáng. Hướng dẫn riêng về không gian làm việc Krea mô tả tối đa bốn tham chiếu phong cách trong giao diện đó; cần chuẩn bị theo giới hạn tương ứng của từng giao diện.\n\nBảng định hướng hình ảnh tập hợp một hướng thị giác thống nhất thành đầu vào dùng lại được. Tạo bảng trước rồi dùng mã định danh sẵn có khi tạo ảnh. Lược đồ nhận một bảng định hướng, với mức ảnh hưởng từ 0 đến 1 và mặc định 0.23. Phong cách đã huấn luyện, thường là LoRA, là một loại đầu vào khác được chọn bằng mã định danh và cường độ từ -2 đến 2. Ảnh nguồn, tham chiếu phong cách, bảng định hướng và phong cách đã huấn luyện có vai trò khác nhau; không coi chúng là những cách thay thế lẫn nhau để giữ mọi chi tiết.\n\n### Điều chỉnh mức sáng tạo và ba thanh trượt hình ảnh\n\nCreativity điều khiển việc mở rộng lời nhắc. Raw tắt tính năng này; low, medium và high thay đổi lượng diễn giải được thêm vào yêu cầu. Lược đồ riêng mặc định low. Dùng mức tiết chế để so sánh một yêu cầu chính xác, hoặc tăng diễn giải khi mục đích là khám phá nhiều ý tưởng hơn.\n\nIntensity, Complexity và Movement là ba thanh trượt số nguyên độc lập từ -100 đến 100, với 0 là trung tính. Intensity chuyển giữa cách xử lý dịu và mạnh. Complexity chuyển giữa bố cục đơn giản và chi tiết dày hơn. Movement thay đổi tư thế, năng lượng thị giác và cảm giác chuyển động. Có thể kết hợp các thanh trượt với tham chiếu và bảng định hướng; chúng tách biệt với việc mở rộng lời nhắc của Creativity.\n\nVới yêu cầu con chim giấy, trước tiên so sánh bố cục gọn với bố cục chi tiết hơn trong khi giữ các thiết lập khác. Sau đó khám phá cách xử lý mạnh hơn hoặc tư thế giàu năng lượng hơn. Thay đổi từng tùy chọn một và lưu seed tùy chọn, lời nhắc cùng bộ tham chiếu. Movement ảnh hưởng đến đặc tính của ảnh tĩnh; nó không tạo chim chuyển động, chuyển động máy quay hay chuỗi video.\n\n### Khung hình, lô ảnh và ảnh đã hoàn thành\n\nLược đồ tạo riêng của mô hình có thang độ phân giải 1K và chín tỷ lệ: 1:1, 4:3, 3:2, 16:9, 2.35:1, 4:5, 3:4, 2:3 và 9:16. Hướng dẫn không gian làm việc Turbo của Krea cũng mô tả tạo tối đa bốn ảnh trong một lô. Thiết lập lô thuộc quy trình không gian làm việc được tài liệu mô tả, tách biệt với lược đồ yêu cầu tạo từng ảnh.\n\nChọn khung cho sản phẩm dự định trước khi tạo. Bìa dọc cần cân bằng chủ thể và khoảng trống khác với ảnh biên tập ngang rộng. Tách thang tạo ảnh khỏi mọi bước nâng cấp sau đó hoặc xuất bố cục hoàn chỉnh.\n\nQuy trình tạo được tài liệu Krea mô tả trả về một công việc có thể ban đầu ở trạng thái chờ. Theo dõi công việc đến khi hoàn tất và lấy các vị trí ảnh kết quả. So sánh phương án đã hoàn thành thực tế về bố cục, hình dạng, kết cấu, bảng màu và chữ hiển thị, rồi lưu ảnh được chọn cùng đầu vào và thiết lập. Nếu sản phẩm cần chữ chính xác, đặt hoặc sửa chữ trong thiết kế hoàn thiện.\n\nVai trò khám phá nhanh của Turbo không bảo đảm thời gian hoàn thành cụ thể, chữ hoàn hảo hoặc tái tạo chính xác ảnh tham chiếu. Cường độ ảnh nguồn và mức ảnh hưởng của tham chiếu vẫn cần kiểm tra kết quả. Dùng phiên bản này để xác định hướng hình ảnh hiệu quả, chọn phương án cụ thể và thực hiện các chỉnh sửa cuối về chi tiết, bố cục hoặc sản xuất theo mục đích sử dụng.",
    "alias_of": null,
    "aliases": [],
    "author": "Krea",
    "capabilities": {
      "context_length": 65536,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "image"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.03",
            "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.03",
            "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,
    "formats": [
      "images"
    ],
    "id": "krea/krea-2-medium-turbo",
    "input": [
      "text",
      "image"
    ],
    "kind": "image",
    "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": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Giữ lại X-Client-Request-ID đã trả về để đối soát. Chỉ truy xuất theo các giá trị task_id/asset_id thực tế đã trả về hoặc từ thư viện nội dung đa phương tiện thuộc quyền sở hữu của bạn; tuyệt đối không tạo URL tác vụ từ ID thao tác và không gửi lại yêu cầu tạo."
            },
            "outputs": {
              "all_results": "Giữ lại toàn bộ phản hồi và các header, mọi đầu ra thực tế, các định danh gốc đã trả về và mọi trường usage. Khôi phục thao tác gốc mà không gửi lại yêu cầu tạo.",
              "family": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "krea/krea-2-medium-turbo"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "4:3",
                  "3:2",
                  "16:9",
                  "4:5",
                  "2:3",
                  "9:16"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "4:3",
                    "3:2",
                    "16:9",
                    "4:5",
                    "2:3",
                    "9:16"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "krea/krea-2-medium-turbo"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                },
                "resolution": {
                  "enum": [
                    "1K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "krea/krea-2-medium-turbo",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "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"
              }
            ]
          },
          {
            "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.03",
                "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.03",
                "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}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'krea/krea-2-medium-turbo', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\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 base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Ảnh",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "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"
              }
            ]
          },
          {
            "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.03",
                "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.03",
                "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": "krea/krea-2-medium-turbo",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "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.03",
            "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.03",
            "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": "krea/krea-2-medium-turbo",
        "request_model_id": "krea/krea-2-medium-turbo",
        "route_label": "Ultra"
      }
    ],
    "name": "Krea: Krea 2 Medium Turbo",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.03,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.03,
      "varies": false
    },
    "short": "Krea 2 Medium Turbo là phiên bản tạo ảnh nhanh của Krea để khám phá ý tưởng thị giác và tạo bản nháp giàu biểu cảm. Mô hình kết hợp lịch lấy mẫu đã chưng cất với các tuỳ chọn văn bản, ảnh nguồn và phong cách, gồm điều chỉnh riêng cường độ, độ phức tạp và chuyển động gợi ra trong ảnh."
  },
  "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": "Krea 2 Medium Turbo là phiên bản tạo ảnh nhanh của Krea để khám phá ý tưởng thị giác và tạo bản nháp giàu biểu cảm. Mô hình kết hợp lịch lấy mẫu đã chưng cất với các tuỳ chọn văn bản, ảnh nguồn và phong cách, gồm điều chỉnh riêng cường độ, độ phức tạp và chuyển động gợi ra trong ảnh.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "a32f2d91d35670a5d7d7263357d419d4790bbf4da034a1c6f74fde0a196787f5",
    "renderer_sha256": "64a62299639eb843877e9ec5c95e32bf22bac3acfe230f6f502c5c3aa186f9c1"
  },
  "sourceRevision": "7ae7d0f8c9c73f3681e8b9b1d35b92c2f18fd95919ed249209cb06b1cc45bc48"
}
