curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-nano-banana-2.1-official",
"prompt": "A futuristic city skyline with neon lights, cyberpunk style",
"size": "16:9",
"n": 1,
"metadata": {
"temperature": 1.0,
"topP": 0.95,
"resolution": "2K",
"grounding": "web_image",
"personGeneration": "ALLOW_ALL",
"thinkingConfig": {
"thinkingLevel": "HIGH"
}
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gemini-nano-banana-2.1-official",
"prompt": "A futuristic city skyline with neon lights, cyberpunk style",
"size": "16:9",
"n": 1,
"metadata": {
"temperature": 1.0,
"topP": 0.95,
"resolution": "2K",
"personGeneration": "ALLOW_ALL",
"thinkingConfig": {
"thinkingLevel": "HIGH"
}
}
}
)
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-nano-banana-2.1-official',
prompt: 'A futuristic city skyline with neon lights, cyberpunk style',
size: '16:9',
n: 1,
metadata: {
temperature: 1.0,
topP: 0.95,
resolution: '2K',
personGeneration: 'ALLOW_ALL',
thinkingConfig: {
thinkingLevel: 'HIGH'
}
}
})
});
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-nano-banana-2.1-official",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
Gemini Nano Banana 2.1
Gemini Nano Banana 2.1 Official 이미지 생성
Gemini Nano Banana 2.1 Official은 최대 14장의 참조 이미지, 1K-4K 출력 및 선택적 Google 검색 그라운딩으로 텍스트/이미지에서 이미지를 생성합니다.
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-nano-banana-2.1-official",
"prompt": "A futuristic city skyline with neon lights, cyberpunk style",
"size": "16:9",
"n": 1,
"metadata": {
"temperature": 1.0,
"topP": 0.95,
"resolution": "2K",
"grounding": "web_image",
"personGeneration": "ALLOW_ALL",
"thinkingConfig": {
"thinkingLevel": "HIGH"
}
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gemini-nano-banana-2.1-official",
"prompt": "A futuristic city skyline with neon lights, cyberpunk style",
"size": "16:9",
"n": 1,
"metadata": {
"temperature": 1.0,
"topP": 0.95,
"resolution": "2K",
"personGeneration": "ALLOW_ALL",
"thinkingConfig": {
"thinkingLevel": "HIGH"
}
}
}
)
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-nano-banana-2.1-official',
prompt: 'A futuristic city skyline with neon lights, cyberpunk style',
size: '16:9',
n: 1,
metadata: {
temperature: 1.0,
topP: 0.95,
resolution: '2K',
personGeneration: 'ALLOW_ALL',
thinkingConfig: {
thinkingLevel: 'HIGH'
}
}
})
});
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-nano-banana-2.1-official",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
중국 본토 사용자 안내: 중국 본토 사용자는
https://toapis.cn 를 API 엔드포인트(Base URL)로 사용해 주세요. 본 문서의 예시에서 https://toapis.com 을 https://toapis.cn 로 바꿔 주세요.- Direct connection to Google Vertex AI using the Gemini Nano Banana 2.1 native API
- Select the
gemini-nano-banana-2.1-officialmodel via the model parameter - Supports text-to-image and image-to-image generation
- Supports native generation parameters like temperature, topP, and maxOutputTokens
- Supports resolution (1K/2K/4K), personGeneration, and imageOutputOptions image configuration
- Google 검색 그라운딩(web / image / web_image)을 지원하며 결과에 인용 출처가 포함될 수 있습니다
- Supports thinkingConfig thinking mode for improved complex scene generation
- Supports safetySettings for content safety control
- Asynchronous task management with task ID for result querying
Important Change: For better performance and cost control, we no longer support passing base64 image data directly in
image_urls. Please use the Upload Image endpoint to upload images first, then use the returned URL in this API.Authorizations
string
필수
All endpoints require Bearer Token authenticationGet API Key: Visit the API Key Management page to obtain your API KeyAdd to request headers:
Authorization: Bearer YOUR_API_KEY
Body
string
기본값:"gemini-nano-banana-2.1-official"
필수
Image generation model nameExample:
"gemini-nano-banana-2.1-official"string
필수
Text description for image generation
string
Image aspect ratioSupported formats:
1:1- Square3:2/2:33:4/4:34:5/5:49:16/16:921:9/9:211:4/4:11:8/8:1
integer
기본값:1
Number of images to generateFixed at 1
string[]
Reference image URL array for image-to-image generation or editing⚠️ Only URL format is supported (base64 is no longer supported)
- Publicly accessible image URLs (http:// or https://)
- Use the Upload Image endpoint to upload local images and get URLs
- Maximum 14 images
- Maximum file size per image: 10MB
- Supported formats: .jpeg, .jpg, .png, .webp
object
Vertex AI native extension parameters
표시 Show metadata fields
표시 Show metadata fields
number
Generation temperature, controls output randomnessRange:
0.0 - 2.0number
Top-P sampling parameterRange:
0.0 - 1.0, default 0.95integer
Maximum output tokensDefault
32768string
Output image resolution, automatically mapped to Vertex AI native imageSizeOptions:
1K, 2K, 4K, default 1Kstring
기본값:"none"
Google 검색 그라운딩. 활성화하면 모델이 생성 전에 Google을 검색하며, 결과의
grounding_metadata에 인용 출처가 포함될 수 있습니다.옵션:none- 비활성화 (기본값)web- 웹 검색image- 이미지 검색web_image- 웹 + 이미지 검색
string
Person generation controlOptions:
ALLOW_ALL- Allow generating all people (including adults and children)ALLOW_ADULT- Allow generating adults onlyALLOW_NONE- Disallow generating people
object
object
Thinking mode configuration. When enabled, the model reasons before generating images, improving results for complex scenes
array
Safety settings array for content safety filtering
응답
string
Unique task identifier for querying task status
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-nano-banana-2.1-official",
"prompt": "A futuristic city skyline with neon lights, cyberpunk style",
"size": "16:9",
"n": 1,
"metadata": {
"temperature": 1.0,
"topP": 0.95,
"resolution": "2K",
"grounding": "web_image",
"personGeneration": "ALLOW_ALL",
"thinkingConfig": {
"thinkingLevel": "HIGH"
}
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gemini-nano-banana-2.1-official",
"prompt": "A futuristic city skyline with neon lights, cyberpunk style",
"size": "16:9",
"n": 1,
"metadata": {
"temperature": 1.0,
"topP": 0.95,
"resolution": "2K",
"personGeneration": "ALLOW_ALL",
"thinkingConfig": {
"thinkingLevel": "HIGH"
}
}
}
)
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-nano-banana-2.1-official',
prompt: 'A futuristic city skyline with neon lights, cyberpunk style',
size: '16:9',
n: 1,
metadata: {
temperature: 1.0,
topP: 0.95,
resolution: '2K',
personGeneration: 'ALLOW_ALL',
thinkingConfig: {
thinkingLevel: 'HIGH'
}
}
})
});
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-nano-banana-2.1-official",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}