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
}'
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": "Transform this image into watercolor painting style",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/photo.jpg"
]
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "grok-4-1-image",
"prompt": "A cyberpunk futuristic city at night",
"size": "16:9",
"n": 1
}
)
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: 'grok-4-1-image',
prompt: 'A cyberpunk futuristic city at night',
size: '16:9',
n: 1
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "img_abc123def456",
"object": "generation.task",
"model": "grok-4-1-image",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}
{
"error": {
"code": "invalid_request",
"message": "The 'prompt' field is required.",
"param": "prompt",
"type": "invalid_request_error"
}
}
{
"error": {
"code": "unauthorized",
"message": "Invalid API key",
"type": "authentication_error"
}
}
Grok Image
Grok 画像生成
Generate images using Grok models, supporting text-to-image and image-to-image
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
}'
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": "Transform this image into watercolor painting style",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/photo.jpg"
]
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "grok-4-1-image",
"prompt": "A cyberpunk futuristic city at night",
"size": "16:9",
"n": 1
}
)
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: 'grok-4-1-image',
prompt: 'A cyberpunk futuristic city at night',
size: '16:9',
n: 1
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "img_abc123def456",
"object": "generation.task",
"model": "grok-4-1-image",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}
{
"error": {
"code": "invalid_request",
"message": "The 'prompt' field is required.",
"param": "prompt",
"type": "invalid_request_error"
}
}
{
"error": {
"code": "unauthorized",
"message": "Invalid API key",
"type": "authentication_error"
}
}
中国本土のユーザー向け: 中国本土のユーザーは
https://toapis.cn を API エンドポイント(Base URL)としてご利用ください。本ドキュメント内の例では https://toapis.com を https://toapis.cn に置き換えてください。- Unified image generation API
- Use model parameter to select
grok-4-1-imageorgrok-4-2-imagemodel - 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 画像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
必須
Image generation model nameSupported models:
grok-4-1-image- Grok 4.1 image generation modelgrok-4-2-image- Grok 4.2 image generation model
"grok-4-1-image"string
必須
Text description for image generationMaximum 1000 characters
string
デフォルト:"1:1"
Image aspect ratioSupported formats:
1:1- Square (default)2:3- Portrait3:2- Landscape16:9- Widescreen landscape9:16- Widescreen portrait
integer
デフォルト: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 errorstring[]
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 画像API to upload local images and get URLs
- Maximum 5 images
- Single image up to 10MB
- Supported formats: jpeg, jpg, png, webp
レスポンス
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": "grok-4-1-image",
"prompt": "A cyberpunk futuristic city at night",
"size": "16:9",
"n": 1
}'
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": "Transform this image into watercolor painting style",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/photo.jpg"
]
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "grok-4-1-image",
"prompt": "A cyberpunk futuristic city at night",
"size": "16:9",
"n": 1
}
)
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: 'grok-4-1-image',
prompt: 'A cyberpunk futuristic city at night',
size: '16:9',
n: 1
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "img_abc123def456",
"object": "generation.task",
"model": "grok-4-1-image",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}
{
"error": {
"code": "invalid_request",
"message": "The 'prompt' field is required.",
"param": "prompt",
"type": "invalid_request_error"
}
}
{
"error": {
"code": "unauthorized",
"message": "Invalid API key",
"type": "authentication_error"
}
}