curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "星空下的古老城堡",
"size": "1:1",
"n": 1
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "將這張圖片轉換爲星空下的古老城堡風格",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/castle.jpg"
]
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "在城堡上方添加煙花",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/castle.jpg"
],
"mask_url": "https://example.com/mask.png"
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gpt-4o-image",
"prompt": "星空下的古老城堡",
"size": "1:1",
"n": 1
}
)
task = response.json()
print(f"任務 ID: {task['id']}")
print(f"狀態: {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": "gpt-4o-image",
"prompt": "將這張圖片轉換爲星空下的古老城堡風格",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/castle.jpg"]
}
)
task = response.json()
print(f"任務 ID: {task['id']}")
print(f"狀態: {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: 'gpt-4o-image',
prompt: '星空下的古老城堡',
size: '1:1',
n: 1
})
});
const task = await response.json();
console.log(`任務 ID: ${task.id}`);
console.log(`狀態: ${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: 'gpt-4o-image',
prompt: '將這張圖片轉換爲星空下的古老城堡風格',
size: '1:1',
n: 1,
image_urls: ['https://example.com/castle.jpg']
})
});
const task = await response.json();
console.log(`任務 ID: ${task.id}`);
console.log(`狀態: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "gpt-4o-image",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"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"
}
}
GPT-4o-image
GPT-4o 圖像生成
使用 GPT-4o 模型生成圖像,支持文本到圖像和圖像編輯
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": "gpt-4o-image",
"prompt": "星空下的古老城堡",
"size": "1:1",
"n": 1
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "將這張圖片轉換爲星空下的古老城堡風格",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/castle.jpg"
]
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "在城堡上方添加煙花",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/castle.jpg"
],
"mask_url": "https://example.com/mask.png"
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gpt-4o-image",
"prompt": "星空下的古老城堡",
"size": "1:1",
"n": 1
}
)
task = response.json()
print(f"任務 ID: {task['id']}")
print(f"狀態: {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": "gpt-4o-image",
"prompt": "將這張圖片轉換爲星空下的古老城堡風格",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/castle.jpg"]
}
)
task = response.json()
print(f"任務 ID: {task['id']}")
print(f"狀態: {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: 'gpt-4o-image',
prompt: '星空下的古老城堡',
size: '1:1',
n: 1
})
});
const task = await response.json();
console.log(`任務 ID: ${task.id}`);
console.log(`狀態: ${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: 'gpt-4o-image',
prompt: '將這張圖片轉換爲星空下的古老城堡風格',
size: '1:1',
n: 1,
image_urls: ['https://example.com/castle.jpg']
})
});
const task = await response.json();
console.log(`任務 ID: ${task.id}`);
console.log(`狀態: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "gpt-4o-image",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"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"
}
}
- 統一的圖像生成 API 接口
- 通過 model 參數選擇
gpt-4o-image模型 - 支持文本到圖像、圖生圖和圖像編輯
- 異步任務管理,通過任務 ID 查詢結果
重要變更:爲了更好的性能和成本控制,我們不再支持在
image_urls 中直接傳入 base64 圖片數據。請先使用 上傳圖片接口 上傳圖片,獲取 URL 後再調用本接口。Authorizations
string
必填
所有接口均需要使用 Bearer Token 進行認證獲取 API Key:訪問 API Key 管理頁面 獲取您的 API Key使用時在請求頭中添加:
Authorization: Bearer YOUR_API_KEY
Body
string
預設值:"gpt-4o-image"
必填
圖像生成模型名稱示例:
"gpt-4o-image"string
必填
圖像生成的文本描述最長 1000 個字符
string
預設值:"1:1"
圖像生成的尺寸比例支持的格式:
1:1- 正方形(默認)2:3- 豎版3:2- 橫版
integer
預設值:1
生成圖像的數量支持 1、2、4,會根據生成數量進行預扣費默認:1⚠️ 注意: 必須輸入純數字(如
1),不要加引號,否則會報錯string[]
參考圖像 URL 列表,用於圖生圖或圖像編輯⚠️ 僅支持 URL 格式(不再支持 base64)
- 公開可訪問的圖片 URL(http:// 或 https://)
- 可使用 上傳圖片接口 上傳本地圖片獲取 URL
- 最多 5 張圖片
- 單張圖片不超過 10MB
- 支持格式:jpeg、jpg、png、webp
string
蒙版圖像 URL(用於圖像編輯)
- 必須是 PNG 格式
- 尺寸必須與參考圖像匹配
- 不得超過 4MB
Response
string
任務唯一標識符,用於查詢任務狀態
string
對象類型,固定爲
generation.taskstring
使用的模型名稱
string
任務狀態
queued- 排隊等待處理in_progress- 處理中completed- 成功完成failed- 失敗
integer
任務進度百分比(0-100)
integer
任務創建時間戳(Unix 時間戳)
object
任務元數據
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "星空下的古老城堡",
"size": "1:1",
"n": 1
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "將這張圖片轉換爲星空下的古老城堡風格",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/castle.jpg"
]
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-4o-image",
"prompt": "在城堡上方添加煙花",
"size": "1:1",
"n": 1,
"image_urls": [
"https://example.com/castle.jpg"
],
"mask_url": "https://example.com/mask.png"
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "gpt-4o-image",
"prompt": "星空下的古老城堡",
"size": "1:1",
"n": 1
}
)
task = response.json()
print(f"任務 ID: {task['id']}")
print(f"狀態: {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": "gpt-4o-image",
"prompt": "將這張圖片轉換爲星空下的古老城堡風格",
"size": "1:1",
"n": 1,
"image_urls": ["https://example.com/castle.jpg"]
}
)
task = response.json()
print(f"任務 ID: {task['id']}")
print(f"狀態: {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: 'gpt-4o-image',
prompt: '星空下的古老城堡',
size: '1:1',
n: 1
})
});
const task = await response.json();
console.log(`任務 ID: ${task.id}`);
console.log(`狀態: ${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: 'gpt-4o-image',
prompt: '將這張圖片轉換爲星空下的古老城堡風格',
size: '1:1',
n: 1,
image_urls: ['https://example.com/castle.jpg']
})
});
const task = await response.json();
console.log(`任務 ID: ${task.id}`);
console.log(`狀態: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "gpt-4o-image",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"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"
}
}
⌘I