图像编辑
图像编辑允许应用通过 AISIX 发送源图片、可选蒙版和文本指令,并将调用方认证、模型别名、上游凭证和请求侧策略保留在同一条网关路径中。
AISIX 为使用 OpenAI 服务提供方配置的模型别名公开 OpenAI 的 multipart 图像编辑路由。gpt-image-2 等编辑模型会在同一个 multipart/form-data 请求体中接收图片、提示词和调节参数。
准备工作
请先准备以下内容:
- 一个可以处理代理请求的 AISIX 网关。
- 一个可以访问该模型别名的调用方 API Key。
- 一个配置服务提供方为 OpenAI、上游
model_name为图像编辑模型(如gpt-image-2)的模型别名。示例使用别名image-edit-prod。 - 一张待编辑的源图片文件。 示例使用
original.png。
导出网关连接和请求值:
# AISIX_PROXY 不含尾部斜杠或 /v1 等端点路径
# 本地快速入门使用 http://127.0.0.1:3000。
export AISIX_PROXY="YOUR_AISIX_GATEWAY_URL"
export AISIX_API_KEY="YOUR_CALLER_API_KEY"
export AISIX_MODEL="image-edit-prod"
发送图像编辑请求
以 multipart 表单形式通过网关代理发送编辑请求,并在 model 字段中使用 AISIX 模型别名:
curl -sS -X POST "${AISIX_PROXY}/v1/images/edits" \
-H "Authorization: Bearer ${AISIX_API_KEY}" \
-F "model=${AISIX_MODEL}" \
-F "image=@original.png" \
-F "prompt=Add a red hat to the subject" \
-F "size=1024x1024" \
-o aisix-image-edit-response.json
AISIX 会解析模型别名、检查调用方 API Key,并对提示词执行受支持的输入策略检查。它把 model 表单字段替换为上游模型 ID,然后重建并转发 multipart 请求体。源图片和蒙版会保留其字节、文件名及各部分的顺序,其他所有字段都会原样转发。只有已配置的脱敏动作安全护栏规则可以修改提示词。
响应保持 OpenAI 图片格式。编辑模型返回 Base64 图片数据和一个 Token 用量块:
{
"created": 1710000000,
"data": [
{
"b64_json": "..."
}
],
"usage": {
"input_tokens": 50,
"output_tokens": 1056,
"total_tokens": 1106
}
}
检查响应中包含一条图片记录:
jq '.data | length' aisix-image-edit-response.json
命令应输出:
1
请求字段
该路由只接受 multipart/form-data。JSON 请求体会返回网关错误信封中的 400。
| 字段 | 必填方 | 含义 |
|---|---|---|
model | 网关 | AISIX 模型别名。AISIX 唯一必定改写的字段;配置了脱敏动作的安全护栏规则还可能改写 prompt。 |
image | 服务提供方 | 源图片文件。对于接受多张输入图片的模型,该字段可以重复出现;AISIX 会按原顺序转发每个部分,字节和文件名保持不变。 |
prompt | 服务提供方 | 编辑指令。输入安全护栏会在请求发往上游之前检查并可脱敏该文本。 |
mask | — | 可选的蒙版图片,其透明区域标记要编辑的范围。原样转发。 |
其余所有表单字段——n、size、quality、background、input_fidelity,以及服务提供方后续新增的任何参数——都会原样转发,因此上游新增参数不需要升级网关。未设置的字段不会出现在上游请求中。