编辑图片
post /v1/images/edits
根据一张或多张源图像和文本提示,创建编辑或扩展后的图像。此端点支持 GPT 图像模型gp-im-2。
请求体参数
images: array of object { file_id, image_url }要编辑的输入图像引用。对于 GPT 图像模型,最多可提供 16 张图像。
file_id: optional string已上传图像的 File API ID,用作输入。
image_url: optional string完整的 URL 或 base64 编码的 data URL。
prompt: string所需图像编辑的文本描述。
background: optional "transparent" 或 "opaque" 或 "auto"生成图像输出的背景行为。
"transparent""opaque""auto"
input_fidelity: optional "high" 或 "low"控制对原始输入图像的保真度。
"high""low"
mask: optional object { file_id, image_url }通过 URL 或上传的文件 ID 引用输入图像作为遮罩。请提供
image_url或file_id中的一项。file_id: optional string已上传图像的 File API ID,用作输入。
image_url: optional string完整的 URL 或 base64 编码的 data URL。
model: optional string 或 "gp-im-2"用于图像编辑的模型。
string"gp-im-2"用于图像编辑的模型。
"gp-im-2"
moderation: optional "low" 或 "auto"GPT 图像模型的内容审核级别。
"low""auto"
n: optional number生成的编辑图像数量。
output_compression: optional numberjpeg或webp输出格式的压缩级别。output_format: optional "png" 或 "jpeg" 或 "webp"输出图像格式。GPT 图像模型支持。
"png""jpeg""webp"
partial_images: optional number生成的中间过程图像数量。用于流式返回中间图像的场景。取值 0–3。设为 0 时,响应将在一次流事件中返回单张完整图像。注意:如果完整图像生成速度较快,最终图像可能会在达到指定中间图像数量之前发送。
quality: optional "low" 或 "medium" 或 "high" 或 "auto"GPT 图像模型的输出质量。
"low""medium""high""auto"
size: optional "auto" 或 "1024x1024" 或 "1536x1024" 或 "1024x1536"请求的输出图像尺寸。
"auto""1024x1024""1536x1024""1024x1536"
stream: optional boolean以流式事件返回中间图像结果。
user: optional string代表最终用户的唯一标识符,可帮助 OpenAI 监控和检测滥用行为。
返回结果
ImagesResponse 对象 { created, background, data 等 }图像生成端点的响应。
created: number图像创建时的 Unix 时间戳(秒)。
background: optional "transparent" 或 "opaque"图像生成所使用的背景参数。
transparent或opaque。"transparent""opaque"
data: optional array of Image生成的图像列表。
b64_json: optional string生成图像的 base64 编码 JSON。GPT 图像模型默认返回此字段;对于
dall-e-2和dall-e-3,仅在response_format设为b64_json时存在。revised_prompt: optional string仅
dall-e-3支持,用于生成图像的修订后提示词。url: optional string使用
dall-e-2或dall-e-3时,如果response_format设为url(默认值),返回生成图像的 URL。GPT 图像模型不支持此字段。
output_format: optional "png" 或 "webp" 或 "jpeg"图像生成的输出格式。可选
png、webp或jpeg。"png""webp""jpeg"
quality: optional "low" 或 "medium" 或 "high"生成图像的质量。可选
low、medium或high。"low""medium""high"
size: optional "1024x1024" 或 "1024x1536" 或 "1536x1024"生成图像的尺寸。可选
1024x1024、1024x1536或1536x1024。"1024x1024""1024x1536""1536x1024"
usage: optional object { input_tokens, input_tokens_details, output_tokens 等 }仅
gpt-image-1支持,图像生成的令牌用量信息。input_tokens: number输入提示中的令牌数(图像和文本)。
input_tokens_details: object { image_tokens, text_tokens }图像生成的输入令牌详情。
image_tokens: number输入提示中的图像令牌数。
text_tokens: number输入提示中的文本令牌数。
output_tokens: number模型生成的输出令牌数。
total_tokens: number图像生成所使用的总令牌数(图像和文本)。
output_tokens_details: optional object { image_tokens, text_tokens }图像生成的输出令牌详情。
image_tokens: number模型生成的图像输出令牌数。
text_tokens: number模型生成的文本输出令牌数。
编辑图像
curl -s -D >(grep -i x-request-id >&2) \
-o >(jq -r '.data[0].b64_json' | base64 --decode > gift-basket.png) \
-X POST "https://https://neolink.com/api/v1/images/edits" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F "model=gp-im-2" \
-F "image[]=@body-lotion.png" \
-F "image[]=@bath-bomb.png" \
-F "image[]=@incense-kit.png" \
-F "image[]=@soap.png" \
-F 'prompt=将这四个物品组合成一个精美的礼品篮'curl -s -N -X POST "https://https://neolink.com/api/v1/images/edits" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F "model=gp-im-2" \
-F "image[]=@body-lotion.png" \
-F "image[]=@bath-bomb.png" \
-F "image[]=@incense-kit.png" \
-F "image[]=@soap.png" \
-F 'prompt=将这四个物品组合成一个精美的礼品篮' \
-F "stream=true"响应
event: image_edit.partial_image
data: {"type":"image_edit.partial_image","b64_json":"...","partial_image_index":0}
event: image_edit.completed
data: {"type":"image_edit.completed","b64_json":"...","usage":{"total_tokens":100,"input_tokens":50,"output_tokens":50,"input_tokens_details":{"text_tokens":10,"image_tokens":40}}}{
"created": 0,
"background": "transparent",
"data": [
{
"b64_json": "b64_json",
"revised_prompt": "revised_prompt",
"url": "https://example.com"
}
],
"output_format": "png",
"quality": "low",
"size": "1024x1024",
"usage": {
"input_tokens": 0,
"input_tokens_details": {
"image_tokens": 0,
"text_tokens": 0
},
"output_tokens": 0,
"total_tokens": 0,
"output_tokens_details": {
"image_tokens": 0,
"text_tokens": 0
}
}
}