curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux-kontext-pro",
"prompt": "赛博朋克风格的城市夜景,霓虹灯闪烁",
"size": "16:9",
"metadata": {
"response_format": "png"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux-kontext-max",
"prompt": "将这张照片改为水彩画风格",
"size": "match_input_image",
"image_urls": ["https://example.com/photo.jpg"],
"metadata": {
"response_format": "jpg"
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "flux-kontext-pro",
"prompt": "赛博朋克风格的城市夜景,霓虹灯闪烁",
"size": "16:9",
"metadata": {
"response_format": "png"
}
}
)
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": "flux-kontext-max",
"prompt": "将这张照片改为水彩画风格",
"size": "match_input_image",
"image_urls": ["https://example.com/photo.jpg"],
"metadata": {
"response_format": "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: 'flux-kontext-pro',
prompt: '赛博朋克风格的城市夜景,霓虹灯闪烁',
size: '16:9',
metadata: {
response_format: 'png'
}
})
});
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: 'flux-kontext-max',
prompt: '将这张照片改为水彩画风格',
size: 'match_input_image',
image_urls: ['https://example.com/photo.jpg'],
metadata: {
response_format: 'jpg'
}
})
});
const task = await response.json();
console.log(`任务 ID: ${task.id}`);
console.log(`状态: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "flux-kontext-pro",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
Flux Kontext
Flux Kontext 图像生成
使用 Flux Kontext 模型进行图片编辑和生成,支持文生图和图片编辑
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": "flux-kontext-pro",
"prompt": "赛博朋克风格的城市夜景,霓虹灯闪烁",
"size": "16:9",
"metadata": {
"response_format": "png"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux-kontext-max",
"prompt": "将这张照片改为水彩画风格",
"size": "match_input_image",
"image_urls": ["https://example.com/photo.jpg"],
"metadata": {
"response_format": "jpg"
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "flux-kontext-pro",
"prompt": "赛博朋克风格的城市夜景,霓虹灯闪烁",
"size": "16:9",
"metadata": {
"response_format": "png"
}
}
)
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": "flux-kontext-max",
"prompt": "将这张照片改为水彩画风格",
"size": "match_input_image",
"image_urls": ["https://example.com/photo.jpg"],
"metadata": {
"response_format": "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: 'flux-kontext-pro',
prompt: '赛博朋克风格的城市夜景,霓虹灯闪烁',
size: '16:9',
metadata: {
response_format: 'png'
}
})
});
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: 'flux-kontext-max',
prompt: '将这张照片改为水彩画风格',
size: 'match_input_image',
image_urls: ['https://example.com/photo.jpg'],
metadata: {
response_format: 'jpg'
}
})
});
const task = await response.json();
console.log(`任务 ID: ${task.id}`);
console.log(`状态: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "flux-kontext-pro",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
- Flux Kontext 图像生成与编辑模型
- 通过 model 参数选择
flux-kontext-pro(Pro)或flux-kontext-max(Max,更高质量) - 支持文生图、图片编辑两种模式
- 有参考图时为图片编辑,无参考图时为文生图
- 按请求固定计费
- 异步任务模式,返回
task_id用于查询结果
重要变更:为了更好的性能和成本控制,我们不再支持在
image_urls 中直接传入 base64 图片数据。请先使用 上传图片接口 上传图片,获取 URL 后再调用本接口。Authorizations
string
必填
所有接口均需要使用 Bearer Token 进行认证获取 API Key:访问 API Key 管理页面 获取您的 API Key使用时在请求头中添加:
Authorization: Bearer YOUR_API_KEY
Body
string
必填
图像生成模型名称可选值:
flux-kontext-pro- Pro 版本flux-kontext-max- Max 版本,更高质量
string
必填
图像生成的文本描述
string
图像宽高比默认值:
- 有参考图时:
match_input_image(匹配输入图片) - 无参考图时:
16:9
| 值 | 说明 |
|---|---|
match_input_image | 匹配输入图片比例(仅图片编辑时) |
1:1 | 正方形 |
4:3 / 3:4 | 传统显示器比例 |
16:9 / 9:16 | 宽屏/竖屏 |
3:2 / 2:3 | 标准照片 |
21:9 / 9:21 | 超宽屏/超窄屏 |
string[]
参考图像 URL 数组,用于图片编辑⚠️ 仅支持 URL 格式(不支持 base64)
- 公开可访问的图片 URL(http:// 或 https://)
- 可使用 上传图片接口 上传本地图片获取 URL
- 最多 1 张图片
- 传入图片时为图片编辑模式,不传时为文生图模式
object
Response
string
任务唯一标识符,用于查询任务状态
string
对象类型,固定为
generation.taskstring
使用的模型名称
string
任务状态
queued- 排队等待处理in_progress- 处理中completed- 成功完成failed- 失败
integer
任务进度百分比(0-100)
integer
任务创建时间戳(Unix 时间戳)
object
任务元数据
使用场景
场景一:文生图
{
"model": "flux-kontext-pro",
"prompt": "赛博朋克风格的城市夜景,霓虹灯闪烁",
"size": "16:9",
"metadata": {
"response_format": "png",
"safety_tolerance": 2
}
}
场景二:图片编辑
{
"model": "flux-kontext-max",
"prompt": "将这张照片改为水彩画风格",
"size": "match_input_image",
"image_urls": ["https://example.com/photo.jpg"],
"metadata": {
"response_format": "jpg",
"prompt_upsampling": true
}
}
场景三:高质量文生图(Max 模型)
{
"model": "flux-kontext-max",
"prompt": "一只可爱的橘猫在窗台上晒太阳,写实风格",
"size": "1:1",
"metadata": {
"response_format": "png",
"safety_tolerance": 3
}
}
查询任务结果图像生成为异步任务,提交后会返回任务 ID。使用 获取图像任务状态 接口查询生成进度和结果。
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux-kontext-pro",
"prompt": "赛博朋克风格的城市夜景,霓虹灯闪烁",
"size": "16:9",
"metadata": {
"response_format": "png"
}
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux-kontext-max",
"prompt": "将这张照片改为水彩画风格",
"size": "match_input_image",
"image_urls": ["https://example.com/photo.jpg"],
"metadata": {
"response_format": "jpg"
}
}'
import requests
response = requests.post(
"https://toapis.com/v1/images/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "flux-kontext-pro",
"prompt": "赛博朋克风格的城市夜景,霓虹灯闪烁",
"size": "16:9",
"metadata": {
"response_format": "png"
}
}
)
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": "flux-kontext-max",
"prompt": "将这张照片改为水彩画风格",
"size": "match_input_image",
"image_urls": ["https://example.com/photo.jpg"],
"metadata": {
"response_format": "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: 'flux-kontext-pro',
prompt: '赛博朋克风格的城市夜景,霓虹灯闪烁',
size: '16:9',
metadata: {
response_format: 'png'
}
})
});
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: 'flux-kontext-max',
prompt: '将这张照片改为水彩画风格',
size: 'match_input_image',
image_urls: ['https://example.com/photo.jpg'],
metadata: {
response_format: 'jpg'
}
})
});
const task = await response.json();
console.log(`任务 ID: ${task.id}`);
console.log(`状态: ${task.status}`);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "flux-kontext-pro",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
⌘I