gpt-image-1 单图编辑 API 接口
API接口文档
基础信息
- Base URL:
https://www.dmxapi.cn/v1/images/edits
- 请求方式: POST
- 认证方式: Bearer Token
示例代码
python
import base64 # 导入 base64 模块
import json # 导入 json 模块
import requests # 导入 requests 库
# API 端点,用于图像编辑和操作
url = "https://www.DMXAPI.cn/v1/images/edits" # <-- 根据你注册的DMXAPI网站修改域名 .com 或 .cn
api_key ="sk-**********************************" # 替换为你的 DMXAPI 令牌
headers = {
"Authorization": f"Bearer {api_key}" # 使用你的 API 密钥进行认证
}
# 请求参数,包含编辑的提示词
payload = {
"prompt": "给哪吒带上一个红色的鸭舌帽,风格保持不变", # 描述对上传图片的编辑要求
# "size": "1024x1024" # 可选参数,指定输出尺寸。注意:编辑通常保持原图比例,指定尺寸可能导致裁剪或缩放
}
# 需要编辑的图片文件,以 multipart/form-data 格式发送
files = [
(
"image", # 参数名称必须是 "image"
(
"nezha1.png", # 文件名(可以随意命名,最好能反映内容)
open(
"c:\\nezha1.png", # <-- 请替换为你的图片文件完整路径
"rb", # 以二进制只读模式打开文件
),
"image/png", # 文件的 MIME 类型 (image/png, image/jpeg 等)
),
)
]
# 发送 POST 请求
# requests 库会自动处理 multipart/form-data 的编码
response = requests.post(url, headers=headers, data=payload, files=files)
# 检查请求是否成功
if response.status_code == 200:
try:
# 解析 JSON 响应
response_data = response.json() # requests 库可以直接解析 JSON
# 检查响应数据结构是否符合预期
if (
"data" in response_data
and isinstance(response_data["data"], list)
and len(response_data["data"]) > 0
):
# 提取第一个结果中的 base64 字符串 (编辑结果通常以 base64 返回)
image_base64 = response_data["data"][0].get("b64_json")
if image_base64:
try:
# 解码 base64 字符串为二进制数据
image_data = base64.b64decode(image_base64)
# 定义保存文件的路径和名称
output_filename = (
"output_edited_image.png" # 您可以修改文件名和扩展名
)
# 将二进制数据写入文件
with open(output_filename, "wb") as f:
f.write(image_data)
print(f"图像已成功保存到 {output_filename}")
except base64.binascii.Error as e:
print(f"Base64 解码错误: {e}")
except IOError as e:
print(f"文件写入错误: {e}")
else:
print("响应中未找到 'b64_json' 字段或其值为 None")
else:
print("响应数据结构不符合预期或 'data' 列表为空")
print("原始响应文本:", response.text) # 打印原始响应以便调试
except json.JSONDecodeError:
print("无法解析 JSON 响应")
print("原始响应文本:", response.text)
except Exception as e:
print(f"处理响应时发生未知错误: {e}")
else:
print(f"请求失败,状态码: {response.status_code}")
print("响应文本:", response.text) # 打印错误响应文本