Skip to main content
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"
    }
  }'
{
  "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-preview model
  • 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 Image API first to upload images and get URLs, then call this endpoint.

Authorizations

Authorization
string
required
All endpoints require Bearer Token authenticationGet your API Key from the API Key Management PageAdd to request header:
Authorization: Bearer YOUR_API_KEY

Body

model
string
default:"gemini-3.1-flash-image-preview"
required
Image generation model nameExample: "gemini-3.1-flash-image-preview"
prompt
string
required
Text description for image generation
size
string
Image aspect ratioSupported ratios:
ValueUse Case
1:1Square, avatar, social media
3:2 / 2:3Standard photo
4:3 / 3:4Traditional display ratio
16:9 / 9:16Widescreen / vertical video cover
5:4 / 4:5Instagram images
21:9Ultra-wide banner
1:4 / 4:1Long poster / banner
1:8 / 8:1Extreme long image / ad banner
n
integer
default:1
Number of images to generate⚠️ Note: Must be a pure number (e.g. 1), do not add quotes, otherwise it will error
image_urls
object[]
List of reference image URLs for image-to-image or image editingLimit: Maximum 14 images (recommended: up to 10 object references + 4 character references)
metadata
object
Metadata parameters for passing additional configuration options

Response

id
string
Unique task identifier for status queries
object
string
Object type, always generation.task
model
string
Model name used
status
string
Task status
  • queued - Queued for processing
  • in_progress - Processing
  • completed - Successfully completed
  • failed - Failed
progress
integer
Task progress percentage (0-100)
created_at
integer
Task creation timestamp (Unix timestamp)
metadata
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"
    }
  }'
{
  "id": "task_img_abc123def456",
  "object": "generation.task",
  "model": "gemini-3.1-flash-image-preview",
  "status": "queued",
  "progress": 0,
  "created_at": 1703884800,
  "metadata": {}
}