Nano Banana API cho phép bạn tạo hình ảnh từ text prompt sử dụng các model Gemini Image của Google.
Endpoint
- Base URL:
https://api.shopaikey.com - Tạo ảnh:
POST /images/google/generations
Xác thực
Tất cả các request đều yêu cầu API key trong header:
Authorization: Bearer <your-api-key>
Tạo hình ảnh
Request
Endpoint: POST /images/google/generations
Headers:
Authorization: Bearer <your-api-key>
Content-Type: application/json
Body Parameters:
Model nano-banana
Model cơ bản, hỗ trợ tối đa 3 ảnh tham chiếu.
Model nano-banana-2
Model thế hệ mới, cân bằng giữa tốc độ và chất lượng. Hỗ trợ tối đa 5 ảnh tham chiếu và tùy chọn kích thước ảnh (imageSize).
Model nano-banana-2.1
Phiên bản nâng cấp của nano-banana-2. Dùng chung tham số với nano-banana-2: tối đa 5 ảnh tham chiếu và tùy chọn kích thước ảnh (imageSize).
Model nano-banana-pro
Model chuyên nghiệp, hỗ trợ tối đa 5 ảnh tham chiếu và chất lượng cao nhất.
Image sizes hỗ trợ (cho nano-banana-2, nano-banana-2.1 và nano-banana-pro):
0.5K: 512x512 (cho aspect ratio 1:1)1K: 1024x1024 (cho aspect ratio 1:1)2K: 2048x2048 (cho aspect ratio 1:1)4K: 4096x4096 (cho aspect ratio 1:1)
Aspect ratios hỗ trợ (cho mỗi image size):
1:1,2:3,3:2,3:4,4:3,4:5,5:4,9:16,16:9,21:9
Ví dụ Request - nano-banana-2
curl --location --request POST 'https://api.shopaikey.com/images/google/generations' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"model": "nano-banana-2",
"prompt": "Một phi hành gia đang cưỡi ngựa trên mặt trăng, phong cách cyberpunk",
"size": "1:1",
"imageSize": "1K",
"format": "png"
}'
Ví dụ Request - nano-banana-2.1
curl --location --request POST 'https://api.shopaikey.com/images/google/generations' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"model": "nano-banana-2.1",
"prompt": "Chân dung một cô gái dưới mưa đêm Sài Gòn, ánh đèn neon phản chiếu",
"size": "9:16",
"imageSize": "2K",
"format": "png"
}'
Ví dụ Request - nano-banana-pro
curl --location --request POST 'https://api.shopaikey.com/images/google/generations' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"model": "nano-banana-pro",
"prompt": "Một bức tranh phong cảnh siêu thực với màu sắc sống động",
"size": "16:9",
"imageSize": "4K",
"format": "png"
}'
Ví dụ JavaScript
const response = await fetch('https://api.shopaikey.com/images/google/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer <your-api-key>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'nano-banana-2',
prompt: 'Một bức tranh phong cảnh siêu thực với màu sắc sống động',
size: '16:9',
imageSize: '2K',
format: 'png',
response_format: 'url',
}),
});
const data = await response.json();
console.log('Image URL:', data.data[0].url);
Response
Khi response_format là "url":
{
"created": 1234567890,
"data": [
{
"url": "https://example.com/image.png"
}
]
}
Khi response_format là "b64_json":
{
"created": 1234567890,
"data": [
{
"b64_json": "iVBORw0KGgoAAAANSUhEUgAA..."
}
]
}
Tạo ảnh với hình ảnh tham chiếu
Bạn có thể cung cấp các hình ảnh tham chiếu để model tạo ảnh dựa trên style hoặc nội dung của chúng:
const response = await fetch('https://api.shopaikey.com/images/google/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer <your-api-key>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'nano-banana-2',
prompt: 'Tạo một bức ảnh tương tự nhưng với chủ đề khác',
size: '16:9',
imageSize: '2K',
image_urls: [
'https://example.com/reference1.jpg',
'https://example.com/reference2.jpg'
],
}),
});
So sánh các Model
Xử lý lỗi
API sẽ trả về mã lỗi HTTP và thông báo lỗi trong response:
{
"error": {
"message": "Model và prompt là bắt buộc"
}
}
Các mã lỗi phổ biến:
- 400: Request không hợp lệ (thiếu tham số, giá trị không hợp lệ, quá nhiều ảnh tham chiếu)
- 401: Thiếu hoặc API key không hợp lệ
- 500: Lỗi server hoặc model không tìm thấy
Best Practices
- Prompt Quality: Viết prompt rõ ràng và chi tiết để có kết quả tốt hơn
- Aspect Ratio: Chọn aspect ratio phù hợp với mục đích sử dụng
- Image Size: Với
nano-banana-pro, chọn image size phù hợp (2K cho hầu hết trường hợp, 4K cho chất lượng cao) - Reference Images: Sử dụng ảnh tham chiếu chất lượng cao để có kết quả tốt hơn
- Format: Sử dụng
pngcho ảnh có transparency,jpegcho ảnh thông thường