curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-3.1-flash-image-preview",
"prompt": "A cyberpunk city at night with flickering neon lights",
"size": "16:9",
"n": 1,
"metadata": {
"resolution": "2K"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-3.1-flash-image-preview",
"prompt": "Transform this photo into a watercolor painting style",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/photo.jpg"],
"metadata": {
"resolution": "2K"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-3.1-flash-image-preview",
"prompt": "Latest iPhone product promotional image",
"size": "16:9",
"n": 1,
"metadata": {
"resolution": "2K",
"google_search": true,
"google_image_search": true
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gemini-3.1-flash-image-preview",
"prompt": "A cyberpunk city at night with flickering neon lights",
"size": "16:9",
"n": 1,
"metadata": {
"resolution": "2K"
}
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gemini-3.1-flash-image-preview",
"prompt": "Transform this photo into a watercolor painting style",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/photo.jpg"],
"metadata": {
"resolution": "2K"
}
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gemini-3.1-flash-image-preview',
prompt: 'A cyberpunk city at night with flickering neon lights',
size: '16:9',
n: 1,
metadata: {
resolution: '2K'
}
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gemini-3.1-flash-image-preview',
prompt: 'Transform this photo into a watercolor painting style',
size: '1:1',
n: 1,
image_urls: ['https://example.com/photo.jpg'],
metadata: {
resolution: '2K'
}
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "gemini-3.1-flash-image-preview",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
Gemini-3.1-Flash-Image-preview (Nano banana2)
Gemini-3.1-Flash 이미지 생성
Generate images using Google Gemini 3.1 Flash model with extreme aspect ratios and Google Search enhancement
POST
/
v1
/
images
/
generations
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-3.1-flash-image-preview",
"prompt": "A cyberpunk city at night with flickering neon lights",
"size": "16:9",
"n": 1,
"metadata": {
"resolution": "2K"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-3.1-flash-image-preview",
"prompt": "Transform this photo into a watercolor painting style",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/photo.jpg"],
"metadata": {
"resolution": "2K"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-3.1-flash-image-preview",
"prompt": "Latest iPhone product promotional image",
"size": "16:9",
"n": 1,
"metadata": {
"resolution": "2K",
"google_search": true,
"google_image_search": true
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gemini-3.1-flash-image-preview",
"prompt": "A cyberpunk city at night with flickering neon lights",
"size": "16:9",
"n": 1,
"metadata": {
"resolution": "2K"
}
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gemini-3.1-flash-image-preview",
"prompt": "Transform this photo into a watercolor painting style",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/photo.jpg"],
"metadata": {
"resolution": "2K"
}
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gemini-3.1-flash-image-preview',
prompt: 'A cyberpunk city at night with flickering neon lights',
size: '16:9',
n: 1,
metadata: {
resolution: '2K'
}
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gemini-3.1-flash-image-preview',
prompt: 'Transform this photo into a watercolor painting style',
size: '1:1',
n: 1,
image_urls: ['https://example.com/photo.jpg'],
metadata: {
resolution: '2K'
}
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "gemini-3.1-flash-image-preview",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
- Google Gemini 3.1 Flash image generation model (Nano banana2)
- Use model parameter to select
gemini-3.1-flash-image-previewmodel - Supports text-to-image and image-to-image, up to 4K resolution output
- Up to 14 reference images to maintain style/character consistency
- Supports extreme aspect ratios (1:4, 4:1, 1:8, 8:1)
- Integrated Google Search enhancement for more accurate real-world images
- Async task management, query results by task ID
Important Change: For better performance and cost control, we no longer support passing base64 image data directly in
image_urls. Please use the Upload 이미지 API first to upload images and get URLs, then call this endpoint.Authorizations
string
필수
All endpoints require Bearer Token authenticationGet your API Key from the API Key Management PageAdd to request header:
Authorization: Bearer YOUR_API_KEY
Body
string
기본값:"gemini-3.1-flash-image-preview"
필수
Image generation model nameExample:
"gemini-3.1-flash-image-preview"string
필수
Text description for image generation
string
Image aspect ratioSupported ratios:
| Value | Use Case |
|---|---|
1:1 | Square, avatar, social media |
3:2 / 2:3 | Standard photo |
4:3 / 3:4 | Traditional display ratio |
16:9 / 9:16 | Widescreen / vertical video cover |
5:4 / 4:5 | Instagram images |
21:9 | Ultra-wide banner |
1:4 / 4:1 | Long poster / banner |
1:8 / 8:1 | Extreme long image / ad banner |
integer
기본값:1
Number of images to generate⚠️ Note: Must be a pure number (e.g.
1), do not add quotes, otherwise it will errorobject[]
List of reference image URLs for image-to-image or image editing
Limit: Maximum 14 images (recommended: up to 10 object references + 4 character references)
표시 Detailed field description
표시 Detailed field description
string
필수
Image URL address⚠️ URL format only (base64 no longer supported)
- Publicly accessible image URL (http:// or https://)
- Example:
https://example.com/image.jpg - You can use the Upload 이미지 API to upload local images and get URLs
- Single image must not exceed 10MB
- Supported formats: .jpeg, .jpg, .png, .webp
object
Metadata parameters for passing additional configuration options
표시 Supported metadata fields
표시 Supported metadata fields
string
기본값:"1K"
Output image resolutionSupported values:
0.5K- ~512px, low-resolution preview1K- ~1024px, standard resolution (default)2K- ~2048px, high resolution4K- ~4096px, ultra-high resolution
boolean
기본값:"false"
Enable Google text search enhancement
true: The model will first search the web for text information to assist in image generation, suitable for scenarios requiring real-world accuracyfalse: Disabled (default)
boolean
기본값:"false"
Enable Google image search enhancement
true: In addition to text search, also searches for reference images to assist generation, suitable for scenarios requiring visual referencesfalse: Disabled (default)
google_search: true응답
string
Unique task identifier for status queries
string
Object type, always
generation.taskstring
모델 name used
string
Task status
queued- Queued for processingin_progress- Processingcompleted- Successfully completedfailed- Failed
integer
Task progress percentage (0-100)
integer
Task creation timestamp (Unix timestamp)
object
Task metadata
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-3.1-flash-image-preview",
"prompt": "A cyberpunk city at night with flickering neon lights",
"size": "16:9",
"n": 1,
"metadata": {
"resolution": "2K"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-3.1-flash-image-preview",
"prompt": "Transform this photo into a watercolor painting style",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/photo.jpg"],
"metadata": {
"resolution": "2K"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-3.1-flash-image-preview",
"prompt": "Latest iPhone product promotional image",
"size": "16:9",
"n": 1,
"metadata": {
"resolution": "2K",
"google_search": true,
"google_image_search": true
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gemini-3.1-flash-image-preview",
"prompt": "A cyberpunk city at night with flickering neon lights",
"size": "16:9",
"n": 1,
"metadata": {
"resolution": "2K"
}
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gemini-3.1-flash-image-preview",
"prompt": "Transform this photo into a watercolor painting style",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/photo.jpg"],
"metadata": {
"resolution": "2K"
}
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gemini-3.1-flash-image-preview',
prompt: 'A cyberpunk city at night with flickering neon lights',
size: '16:9',
n: 1,
metadata: {
resolution: '2K'
}
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gemini-3.1-flash-image-preview',
prompt: 'Transform this photo into a watercolor painting style',
size: '1:1',
n: 1,
image_urls: ['https://example.com/photo.jpg'],
metadata: {
resolution: '2K'
}
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "gemini-3.1-flash-image-preview",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
⌘I