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": "grok-4-1-image",
    "prompt": "A cyberpunk futuristic city at night",
    "size": "16:9",
    "n": 1
  }'
{
  "id": "img_abc123def456",
  "object": "generation.task",
  "model": "grok-4-1-image",
  "status": "queued",
  "progress": 0,
  "created_at": 1768380224,
  "metadata": {}
}
  • Unified image generation API
  • Use model parameter to select grok-4-1-image or grok-4-2-image model
  • Supports text-to-image and image-to-image
  • 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
required
Image generation model nameSupported models:
  • grok-4-1-image - Grok 4.1 image generation model
  • grok-4-2-image - Grok 4.2 image generation model
Example: "grok-4-1-image"
prompt
string
required
Text description for image generationMaximum 1000 characters
size
string
default:"1:1"
Image aspect ratioSupported formats:
  • 1:1 - Square (default)
  • 2:3 - Portrait
  • 3:2 - Landscape
  • 16:9 - Widescreen landscape
  • 9:16 - Widescreen portrait
n
integer
default:1
Number of images to generateSupports 1, 2, 4. Charges will be pre-deducted based on the numberDefault: 1⚠️ Note: Must enter a plain number (e.g., 1), do not use quotes or it will cause an error
image_urls
string[]
Reference image URL list for image-to-image generation⚠️ URL format only (base64 no longer supported)
  • Publicly accessible image URL (http:// or https://)
  • You can use the Upload Image API to upload local images and get URLs
Limitations:
  • Maximum 5 images
  • Single image up to 10MB
  • Supported formats: jpeg, jpg, png, webp

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": "grok-4-1-image",
    "prompt": "A cyberpunk futuristic city at night",
    "size": "16:9",
    "n": 1
  }'
{
  "id": "img_abc123def456",
  "object": "generation.task",
  "model": "grok-4-1-image",
  "status": "queued",
  "progress": 0,
  "created_at": 1768380224,
  "metadata": {}
}