Tạo ảnh
Tạo ảnh
Trạm AI hỗ trợ tạo ảnh qua endpoint Chat Completions và Responses. Người dùng có thể xem model nào được hỗ trợ, khả năng của từng model và mức giá bằng cách lọc danh sách model theo image output.
Tìm model
Có nhiều cách để tìm model tạo ảnh:
Qua API
Dùng Public Models API để lấy danh sách model kèm thông tin chi tiết, sau đó lọc theo mode hoặc capabilities:
Trên trang Models
Truy cập trang Models rồi lọc theo output modalities để tìm model có khả năng tạo ảnh. Hãy để ý những model liệt kê "image" trong output modalities.
Trong Chatroom
Khi dùng Chatroom, nhấp nút Image để tự động lọc và chọn model có khả năng tạo ảnh. Nếu chưa có model hỗ trợ ảnh nào đang hoạt động, người dùng sẽ được nhắc thêm một model.
Sử dụng API
Để tạo ảnh, gửi request đến endpoint /v1/chat/completions kèm parameter modalities. Giá trị tùy thuộc vào khả năng của model:
- Model xuất cả text và ảnh (ví dụ: Gemini): dùng
modalities: ["image", "text"] - Model chỉ xuất ảnh (ví dụ: Sourceful, Flux): dùng
modalities: ["image"]
Tạo ảnh cơ bản
Tùy chọn cấu hình ảnh
Một số model tạo ảnh cho phép cấu hình thêm qua parameter image_config. Các tùy chọn dùng chung bên dưới — tỷ lệ khung hình (aspect ratio) và kích thước ảnh — đều hoạt động trên nhiều model ảnh. Những parameter dành riêng cho một provider cụ thể được tách thành các phần Recraft và Sourceful riêng ở phía dưới.
Tỷ lệ khung hình
Đặt image_config.aspect_ratio để yêu cầu một tỷ lệ khung hình cụ thể cho ảnh được tạo.
Các tỷ lệ khung hình được hỗ trợ:
1:1→ 1024×1024 (default)2:3→ 832×12483:2→ 1248×8323:4→ 864×11844:3→ 1184×8644:5→ 896×11525:4→ 1152×8969:16→ 768×134416:9→ 1344×76821:9→ 1536×672
Tỷ lệ khung hình của Azure MAI Image (được hỗ trợ bởi microsoft/mai-image-2.5):
1:1→ 1024×1024 (default)4:3→ 1024×7683:4→ 768×102416:9→ 1365×7689:16→ 768×13653:2→ 1152×7682:3→ 768×1152
Tỷ lệ khung hình mở rộng (chỉ được hỗ trợ bởi google/gemini-3.1-flash-image-preview):
1:4→ Định dạng cao và hẹp, lý tưởng cho carousel cuộn và các phần tử UI dọc4:1→ Định dạng rộng và thấp, dành cho hero banner và bố cục ngang1:8→ Định dạng siêu cao, dành cho phần đầu thông báo và các không gian dọc hẹp8:1→ Định dạng siêu rộng, dành cho banner khổ rộng và bố cục toàn cảnh
Kích thước ảnh
Đặt image_config.image_size để kiểm soát độ phân giải của ảnh được tạo.
Các kích thước được hỗ trợ:
1K→ Độ phân giải chuẩn (mặc định)2K→ Độ phân giải cao hơn4K→ Độ phân giải cao nhất0.5K→ Độ phân giải thấp hơn, tối ưu cho hiệu quả (chỉ được hỗ trợ bởigoogle/gemini-3.1-flash-image-preview)
Người dùng có thể kết hợp aspect_ratio và image_size trong cùng một request:
Tùy chọn ảnh của Recraft
Các parameter trong phần này chỉ được hỗ trợ bởi model Recraft. Khi một parameter chỉ áp dụng cho một phiên bản Recraft cụ thể (ví dụ V3 nhưng không phải V4), điều đó sẽ được ghi chú ngay tại parameter đó.
Strength
Đặt image_config.strength để kiểm soát mức độ khác biệt giữa ảnh đầu ra và ảnh đầu vào khi tạo ảnh từ ảnh (image-to-image). Parameter này chỉ áp dụng khi có ảnh đầu vào trong messages, và được hỗ trợ bởi tất cả các model Recraft (recraft/recraft-v3, recraft/recraft-v4 và recraft/recraft-v4-pro).
- Khoảng giá trị:
0.0đến1.0 - Mặc định:
0.2 - Giá trị càng thấp thì đầu ra càng bám sát ảnh đầu vào; giá trị càng cao thì model càng được sáng tạo, sai lệch nhiều hơn.
Ví dụ:
Text Layout (chỉ Recraft V3)
Dùng image_config.text_layout để đặt văn bản tại những vị trí cụ thể trên ảnh được tạo. Mỗi mục chỉ định văn bản cần render và một bounding box xác định bởi bốn điểm góc theo tọa độ chuẩn hóa (0 đến 1). Parameter này chỉ được Recraft V3 (recraft/recraft-v3) hỗ trợ, cho cả request text-to-image và image-to-image. Recraft V4 và V4 Pro không hỗ trợ text_layout.
Mỗi mục text layout là một object gồm:
text(bắt buộc): chuỗi văn bản cần renderbbox(bắt buộc): mảng gồm 4 cặp tọa độ[x, y]xác định các góc của bounding box (trên-trái, trên-phải, dưới-phải, dưới-trái), với giá trị từ 0 đến 1
Ví dụ:
Style (chỉ Recraft V3)
Dùng image_config.style để áp dụng một phong cách nghệ thuật cụ thể cho ảnh được tạo. Parameter này chỉ được Recraft V3 (recraft/recraft-v3) hỗ trợ. Recraft V4 và V4 Pro không hỗ trợ style.
Xem danh sách đầy đủ các style khả dụng trong tài liệu của Recraft. Lưu ý rằng style vector không được hỗ trợ.
Ví dụ:
RGB Colors
Dùng image_config.rgb_colors để chỉ định một bảng màu chi phối ảnh được tạo. Mỗi màu là một mảng [r, g, b] gồm ba số nguyên (0 đến 255). Tùy chọn này được hỗ trợ bởi tất cả các model Recraft (recraft/recraft-v3, recraft/recraft-v4 và recraft/recraft-v4-pro) cho cả request text-to-image và image-to-image.
Ví dụ:
Background RGB Color
Dùng image_config.background_rgb_color để đặt một màu nền cụ thể cho ảnh được tạo. Giá trị là một mảng [r, g, b] gồm ba số nguyên (0 đến 255). Tùy chọn này được hỗ trợ bởi tất cả các model Recraft (recraft/recraft-v3, recraft/recraft-v4 và recraft/recraft-v4-pro) cho cả request text-to-image và image-to-image.
Ví dụ:
Người dùng cũng có thể kết hợp rgb_colors và background_rgb_color trong cùng một request:
Tùy chọn ảnh của Sourceful
Các parameter trong phần này chỉ được hỗ trợ bởi model Sourceful. Mỗi parameter đều ghi chú phiên bản Sourceful (V2 hoặc V2.5) hỗ trợ nó.
Font Inputs (Riverflow V2 trở lên)
Dùng image_config.font_inputs để render văn bản tùy chỉnh với những font cụ thể trong ảnh được tạo. Để có kết quả tốt nhất, văn bản cần render cũng nên được đưa vào trong prompt. Tùy chọn này được hỗ trợ bởi Sourceful Riverflow V2 trở lên — sourceful/riverflow-v2-fast, sourceful/riverflow-v2-pro, sourceful/riverflow-v2.5-fast và sourceful/riverflow-v2.5-pro.
Mỗi font input là một object gồm:
font_url(bắt buộc): URL đến file fonttext(bắt buộc): văn bản cần render với font đó
Giới hạn:
- Tối đa 2 font input mỗi request
- Chi phí bổ sung: $0.03 mỗi font input
Ví dụ:
Mẹo để có kết quả tốt nhất:
- Đưa văn bản vào prompt cùng với chi tiết về tên font, màu sắc, kích thước và vị trí
- Parameter
textnên khớp chính xác với nội dung trong prompt — tránh thêm từ ngữ thừa hoặc dấu ngoặc kép - Dùng dấu xuống dòng hoặc dấu cách đôi để tách tiêu đề chính và tiêu đề phụ khi dùng cùng một font
- Hoạt động tốt nhất với tiêu đề chính và tiêu đề phụ ngắn gọn, rõ ràng
Super Resolution References (chỉ Riverflow V2)
Dùng image_config.super_resolution_references để cải thiện các phần tử chất lượng thấp trong ảnh đầu vào bằng những ảnh tham chiếu chất lượng cao. Ảnh đầu ra sẽ khớp với kích thước ảnh đầu vào, vì vậy hãy dùng ảnh đầu vào lớn hơn để có kết quả tốt hơn. Tùy chọn này được hỗ trợ bởi các model Sourceful V2 (sourceful/riverflow-v2-fast và sourceful/riverflow-v2-pro) khi tạo ảnh image-to-image (tức là khi có ảnh đầu vào trong messages).
Giới hạn:
- Tối đa 4 URL tham chiếu mỗi request
- Chỉ hoạt động với request image-to-image (bị bỏ qua khi không có ảnh trong
messages) - Chi phí bổ sung: $0.20 mỗi tham chiếu
Ví dụ:
Mẹo để có kết quả tốt nhất:
- Cung cấp ảnh đầu vào mà trong đó các phần tử cần cải thiện đã xuất hiện sẵn nhưng còn chất lượng thấp
- Dùng ảnh đầu vào lớn hơn để có chất lượng đầu ra tốt hơn (đầu ra khớp với kích thước đầu vào)
- Dùng ảnh tham chiếu chất lượng cao thể hiện rõ mong muốn các phần tử sau khi cải thiện trông như thế nào
Scoring Prompt (chỉ Riverflow V2.5)
Dùng image_config.scoring_prompt để đưa cho model một hướng dẫn dạng tự do, để model dựa vào đó đánh giá và tinh chỉnh đầu ra của chính nó trong quá trình tạo ảnh. Tùy chọn này được hỗ trợ bởi các model Sourceful V2.5 (sourceful/riverflow-v2.5-fast và sourceful/riverflow-v2.5-pro).
Ví dụ:
Scoring Rubric (chỉ Riverflow V2.5)
Dùng image_config.scoring_rubric để cung cấp một tập hợp có cấu trúc gồm các tiêu chí có trọng số, để model dựa vào đó chấm điểm đầu ra của nó. Đây là phần bổ trợ có cấu trúc cho scoring_prompt — hai parameter này độc lập với nhau và có thể được dùng chung trong cùng một request (rubric để chấm điểm theo tiêu chí có trọng số, prompt để bổ sung hướng dẫn dạng tự do). Tùy chọn này được hỗ trợ bởi các model Sourceful V2.5 (sourceful/riverflow-v2.5-fast và sourceful/riverflow-v2.5-pro).
Mỗi mục rubric là một object gồm:
key(bắt buộc): định danh duy nhất, máy đọc được cho tiêu chí nàylabel(bắt buộc): tên dạng người đọc đượcdescription(bắt buộc): tiêu chí này đánh giá điều gìweight(bắt buộc): mức độ quan trọng tương đối, là một số dươngpassing_score(tùy chọn): điểm tối thiểu có thể chấp nhậnscore_guidance(tùy chọn): mảng các mốc neo dạng{ "score": number, "description": string }
Giới hạn:
- 1 đến 8 tiêu chí mỗi request
Ví dụ:
Background Mode and Color (chỉ Riverflow V2.5)
Dùng image_config.background_mode để kiểm soát cách xử lý nền của ảnh được tạo, và image_config.background_hex_color để đặt màu tô cho nền đặc. Hai tùy chọn này được hỗ trợ bởi các model Sourceful V2.5 (sourceful/riverflow-v2.5-fast và sourceful/riverflow-v2.5-pro).
background_mode: nhận một trong các giá trịoriginal(mặc định — giữ nguyên nền được tạo),transparent(xóa nền), hoặcsolid(ghép lên một màu phẳng).background_hex_color: một chuỗi hex#RRGGBB, bắt buộc khibackground_modelàsolid.
Hành vi:
- Nếu chỉ truyền
background_hex_color(không kèmbackground_mode), giá trị này sẽ được xử lý nhưsolidvới màu đó. background_hex_colorluôn được kiểm tra tính hợp lệ nhưng sẽ bị bỏ qua với chế độoriginalvàtransparent— một chuỗi hex không hợp lệ luôn trả về lỗi 400, bất kể đang ở chế độ nào.
Ví dụ (màu đặc):
Ví dụ (trong suốt):
Recraft dùng background_rgb_color (một mảng [r, g, b]) để đặt màu nền đặc, còn Sourceful V2.5 thì dùng background_mode đi kèm background_hex_color.
Tạo ảnh với streaming
Tạo ảnh cũng hoạt động với response dạng streaming:
Định dạng response
Khi tạo ảnh, tin nhắn của assistant sẽ có thêm trường images chứa những ảnh được tạo ra:
Định dạng ảnh
- Định dạng: ảnh được trả về dưới dạng data URL mã hóa base64
- Loại: thường là định dạng PNG (
data:image/png;base64,) - Nhiều ảnh: một số model có thể tạo nhiều ảnh trong cùng một response
- Kích thước: kích thước ảnh khác nhau tùy theo khả năng của model
Tính tương thích của model
Không phải model nào cũng hỗ trợ tạo ảnh. Để dùng tính năng này:
- Kiểm tra khả năng model: đảm bảo model có
mode: "image_generation"(kiểm tra qua Public Models API) - Đặt parameter Modalities: dùng
["image", "text"]cho model xuất cả hai, hoặc["image"]cho model chỉ xuất ảnh - Dùng model tương thích: ví dụ:
google/gemini-3.1-flash-image-preview(hỗ trợ tỷ lệ khung hình mở rộng và độ phân giải 0.5K)google/gemini-2.5-flash-imageblack-forest-labs/flux.2-problack-forest-labs/flux.2-flexsourceful/riverflow-v2-standard-preview- Cùng các model khác có khả năng tạo ảnh
Thực hành tốt nhất
- Prompt rõ ràng: mô tả càng chi tiết thì chất lượng ảnh càng tốt
- Chọn model: ưu tiên những model được thiết kế riêng cho việc tạo ảnh
- Xử lý lỗi: kiểm tra trường
imagestrong response trước khi xử lý tiếp - Rate limit: tạo ảnh có thể có rate limit khác với tạo text
- Lưu trữ: cân nhắc trước cách xử lý và lưu trữ dữ liệu ảnh base64
Khắc phục sự cố
Không có ảnh trong response?
- Xác minh model có hỗ trợ tạo ảnh (kiểm tra
mode: "image_generation"qua Public Models API) - Đảm bảo đã đặt parameter
modalitiesđúng cách:["image", "text"]cho model xuất cả hai, hoặc["image"]cho model chỉ xuất ảnh - Kiểm tra xem prompt có thực sự đang yêu cầu tạo ảnh không
Không tìm thấy model?
- Dùng trang Models để tìm những model tạo ảnh khả dụng
- Lọc theo output modalities để xem các model tương thích