gemini-nano-banana-2.1 là mô hình tạo/chỉnh sửa hình ảnh thuộc dòng Gemini, hỗ trợ chuyển văn bản thành hình ảnh và chỉnh sửa dựa trên nhiều hình ảnh tham chiếu (hoán đổi khuôn mặt, thay đổi trang phục, chuyển đổi phong cách, v.v.).generateContent gốc của GeminiinlineData (base64) trong candidates[0].content.parts[]; trả về URL hình ảnh khi truyền response_format: "url" (chỉ khi không phát trực tuyến)imageConfig.imageSize chỉ hỗ trợ 1K / 2K / 4K, mặc định là 1K, không hỗ trợ 512imageConfig.aspectRatio hỗ trợ 1:1, 16:9, 9:16, 4:3, 3:4, 2:3, 3:2, 4:5, 5:4, 1:4, 4:1, 1:8, 8:1, 21:9thinkingConfig.thinkingLevel chỉ hỗ trợ minimal / high, không hỗ trợ thinkingBudget; cũng có thể dùng hậu tố tên mô hình -thinking / -nothinkingcurl --location '/v1beta/models/gemini-nano-banana-2.1:generateContent' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"contents": [
{
"parts": [
{
"text": "Thay thế hoàn toàn khuôn mặt và tóc của nhân vật trong Hình 1 vào nhân vật trong Hình 2: các đường nét và chi tiết khuôn mặt phải hoàn toàn lấy từ Hình 1, không giữ lại đặc điểm khuôn mặt của Hình 2; điều chỉnh góc khuôn mặt theo tư thế đầu trong Hình 2; giữ nguyên trang phục, phần cơ thể không bao gồm phụ kiện tóc và phông nền của Hình 2; màu da, ánh sáng và bóng đổ hòa quyện tự nhiên, không xuất hiện đường nối ghép rõ ràng; phong cách chân thực ở cấp độ nhiếp ảnh."
},
{
"text": "Hình tham khảo 1 (\"Hình 1\" trong câu lệnh):"
},
{
"inlineData": {
"data": "<base64 của Hình 1, không bao gồm tiền tố data:image/jpeg;base64,>",
"mimeType": "image/jpeg"
}
},
{
"text": "Tham khảo Hình 2 (\"Hình 2\" trong lời nhắc):"
},
{
"inlineData": {
"data": "<base64 của Hình 2, không bao gồm tiền tố data:image/jpeg;base64,>",
"mimeType": "image/jpeg"
}
}
],
"role": "user"
}
],
"generationConfig": {
"imageConfig": {
"aspectRatio": "3:4",
"imageSize": "2K"
},
"responseModalities": [
"Vui lòng cung cấp nội dung tài liệu cần dịch.",
"HÌNH ẢNH"
]
},
"response_format": "base64"
}'{
"candidates": [
{
"content": {
"parts": [
{
"text": "Đã thay khuôn mặt trong Hình 1 vào Hình 2, đồng thời giữ nguyên trang phục và phông nền của Hình 2."
},
{
"inlineData": {
"data": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/...(da cat ngan)",
"mimeType": "image/jpeg"
}
}
],
"role": "mô hình"
},
"finishReason": "DỪNG LẠI",
"index": 0
}
],
"modelVersion": "gemini-nano-banana-2.1",
"responseId": "abc123xyz",
"usageMetadata": {
"candidatesTokenCount": 1290,
"promptTokenCount": 1083,
"totalTokenCount": 2373
}
}