图像OpenAI 格式
编辑图像
基于原图(与可选蒙版)进行图像编辑或扩展 — 完全兼容 OpenAI Images Edits API
基于一张或多张原始图像与提示词,对图像进行编辑(局部修改 / 扩展 / 风格化)。完全兼容 OpenAI Images Edits API,支持 dall-e-2、gpt-image-1 系列等模型。
| 项目 | 值 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /v1/images/edits |
| 完整 URL | https://api.amux.ai/v1/images/edits |
| 认证方式 | Authorization: Bearer <API_TOKEN> |
| 请求格式 | multipart/form-data |
| 响应格式 | application/json |
本接口为 multipart/form-data 请求,需通过表单字段上传图像文件,不能使用 JSON。建议使用 OpenAI 官方 SDK 以避免手动构造 multipart 请求。
表单字段
Prop
Type
多图编辑:gpt-image-1 支持基于多张参考图进行编辑。可以重复 image 字段,或使用 image[] / image[0] / image[1] 等数组式字段名。amux-api 在网关层会自动识别并按数组形式转发给上游。
请求示例
curl https://api.amux.ai/v1/images/edits \
-H "Authorization: Bearer $AMUX_API_KEY" \
-F "model=gpt-image-1" \
-F "image=@cat.png" \
-F "mask=@cat-mask.png" \
-F "prompt=把背景换成樱花飘落的春日庭院" \
-F "size=1024x1024" \
-F "quality=high"import os
import base64
from openai import OpenAI
client = OpenAI(
base_url="https://api.amux.ai/v1",
api_key=os.environ["AMUX_API_KEY"],
)
with open("cat.png", "rb") as image, open("cat-mask.png", "rb") as mask:
response = client.images.edit(
model="gpt-image-1",
image=image,
mask=mask,
prompt="把背景换成樱花飘落的春日庭院",
size="1024x1024",
quality="high",
)
image_b64 = response.data[0].b64_json
with open("output.png", "wb") as f:
f.write(base64.b64decode(image_b64))import { createReadStream, writeFileSync } from 'node:fs';
import OpenAI, { toFile } from 'openai';
const client = new OpenAI({
baseURL: 'https://api.amux.ai/v1',
apiKey: process.env.AMUX_API_KEY,
});
const response = await client.images.edit({
model: 'gpt-image-1',
image: await toFile(createReadStream('cat.png'), 'cat.png'),
mask: await toFile(createReadStream('cat-mask.png'), 'cat-mask.png'),
prompt: '把背景换成樱花飘落的春日庭院',
size: '1024x1024',
quality: 'high',
});
const b64 = response.data![0].b64_json!;
writeFileSync('output.png', Buffer.from(b64, 'base64'));多参考图示例(gpt-image-1)
curl https://api.amux.ai/v1/images/edits \
-H "Authorization: Bearer $AMUX_API_KEY" \
-F "model=gpt-image-1" \
-F "image[]=@reference-1.png" \
-F "image[]=@reference-2.png" \
-F "image[]=@reference-3.png" \
-F "prompt=融合这三张参考图的风格生成新的封面图" \
-F "size=1024x1024"响应示例
响应字段与 生成图像 一致:
{
"created": 1730000000,
"data": [
{
"b64_json": "iVBORw0KGgoAAAANSUhEUgAA...",
"revised_prompt": "..."
}
],
"usage": {
"total_tokens": 1530,
"input_tokens": 320,
"output_tokens": 1210,
"input_tokens_details": {
"text_tokens": 28,
"image_tokens": 292
}
}
}响应字段
Prop
Type
错误响应
{
"error": {
"message": "...",
"type": "invalid_request_error",
"param": "image",
"code": "invalid_value"
}
}常见错误:
| 错误 | 原因 |
|---|---|
image is required | 未上传 image 字段(amux 网关层校验) |
failed to parse multipart form | 表单格式不合法 |
invalid_value 参数错误 | 文件不符合规格(非 PNG、超 4MB、非正方形等,因模型而异) |
HTTP 状态码与 生成图像 一致。