使用 Codex 通过 Dlow 生成或编辑图片
必须实际调用 Dlow 接口、保存并验证图片,不能只提供示例代码。自动识别当前系统是 Windows 还是 macOS,并使用对应命令。
固定配置
| 配置项 | 值 |
|---|---|
| Base URL | https://www.dlowapi.me/v1 |
| 模型 | gpt-image-2 |
| API Key | <在本地替换为真实的 Dlow API Key> |
| 请求超时 | 300 秒 |
API Key 直接读取上表中的值,不使用环境变量。
真实 Key 仅允许存在于上方配置项中。禁止输出、回显、记录、写入临时脚本或重复展示该值。
仅允许调用:
- 文生图:
POST https://www.dlowapi.me/v1/images/generations - 图片编辑:
POST https://www.dlowapi.me/v1/images/edits
禁止:
- 使用 Codex 内置
image_gen工具; - 请求 OpenAI 官方地址;
- 调用
/v1/responses、/v1/chat/completions或其他接口; - 将
gpt-image-2设置为 Codex 主对话模型; - 输出 API Key、
Authorization请求头或完整接口响应。
执行前检查
- 检查 API Key 是否仍是占位符或空值,但不得输出其内容。
- 如果尚未替换,立即停止,并提示我在本地修改提示词中的 API Key。
- 自动识别操作系统,仅支持 Windows 和 macOS。
- 检查任务模式、提示词、尺寸及输出文件名是否完整。
edit模式还必须检查输入图片存在、是普通文件且可读取。- 缺少必要参数、运行时或依赖时立即停止,不得自行安装依赖。
- 不得修改当前项目的依赖文件。
请求规则
- 模型固定为
gpt-image-2。 - 每次只请求一张图片,设置
n=1。 - 请求超时设置为
300秒。 - 每项任务最多执行一次付费请求。
- 请求失败后不得自动重试。
- 优先使用当前环境已有的 OpenAI Python SDK或可靠的结构化 HTTP 客户端。
- Windows 优先使用
python或py -3,macOS 优先使用python3。 - 不得把 API Key放入命令行参数。
- 不得在终端打印完整响应、图片 URL、Base64、请求头或调试日志。
- 如需临时文件,放入当前工作区的
tmp/imagegen/,任务结束后删除。
文生图
任务模式为 generate 时调用:
| |
请求体至少包含:
| |
本次任务明确要求 medium,因此发送:
| |
如果中转站不支持该参数,只报告脱敏错误,不得删除参数后自动重试。
图片编辑
任务模式为 edit 时调用:
| |
表单至少包含:
| 字段 | 内容 |
|---|---|
model | gpt-image-2 |
prompt | 图片编辑要求 |
image | 输入图片文件 |
编辑要求:
- 将输入路径转换为当前系统的绝对路径。
- Windows 路径示例:
C:\Users\username\Pictures\input.png。 - macOS 路径示例:
/Users/username/Pictures/input.png。 - 正确处理空格、中文和 macOS 的
~路径。 - 保持用户未要求修改的内容不变。
- 不得发送
input_fidelity参数。 - 输入图片不存在或不可读时立即停止,不得调用接口。
返回结果处理
接口成功后只检查 data[0],不得输出完整响应。
如果存在 data[0].b64_json:
- 在进程内解码 Base64。
- 禁止打印或记录 Base64 内容。
- 将二进制数据保存为本地图片。
如果存在 data[0].url:
- 使用结构化 HTTP 客户端下载图片。
- 不得输出或记录完整 URL。
- 必须保存到本地,不能只返回 URL。
如果两者都不存在,报告响应结构不符合预期,不得重新请求。
文件保存
默认输出目录:
| |
处理规则:
- 目录不存在时创建。
- 输出目录相对于当前工作区。
- 使用任务指定的输出文件名。
- 如果文件已存在,追加时间戳或递增序号,禁止覆盖。
- 最终报告必须使用绝对路径。
- 文件扩展名必须与实际格式一致。
- 如果要求 PNG,但返回 JPEG 或 WebP,使用当前系统已有工具转换;缺少转换能力时停止,不得安装依赖或重新调用接口。
- 中间文件统一放入
tmp/imagegen/,完成后删除。
文件验证
保存后必须验证:
- 文件存在且是普通文件;
- 文件大小大于
0; - 文件头确实属于 PNG、JPEG 或 WebP;
- 图片能够被图片解码器正常读取;
- 宽度和高度能够读取;
- 实际尺寸符合本次任务要求。
优先使用已有 Python 图片库验证。没有可用图片库时:
- Windows 可使用 PowerShell 和系统图片组件;
- macOS 可使用
file与sips; - 不得仅根据扩展名判断格式。
校验失败时只报告失败,不得再次调用付费接口。
打开图片
验证成功后,使用当前系统的默认图片查看器打开文件。
Windows:
| |
macOS:
| |
打开查看器失败不代表图片生成失败,不得因此重新调用接口。
错误处理
请求失败时只报告:
- 实际调用的接口;
- HTTP 状态码;
- 中转站返回的脱敏错误信息;
- 是否执行过付费请求;
- 是否生成了本地文件;
- 建议的下一步。
禁止输出:
- API Key;
Authorization请求头;- 完整请求或响应;
- 完整 Base64;
- 图片下载 URL;
- 包含密钥的命令、脚本或异常堆栈。
未经我明确确认,不得执行第二次付费请求。
完成报告
完成后简洁报告:
- 操作系统;
- 任务模式;
- 使用的模型;
- 实际调用的接口;
- 是否执行过付费请求;
- 图片尺寸;
- 最终文件绝对路径;
- 文件格式及字节大小;
- 文件验证结果;
- 是否已调用系统图片查看器;
- 如失败,提供脱敏后的失败原因。
本次任务参数
| 参数 | 值 |
|---|---|
| 任务模式 | generate |
| 图片提示词 | 一只坐在落地窗旁的橘猫,午后自然光,写实摄影,毛发细节清晰,构图干净,不要文字,不要水印 |
| 输入图片路径 | 留空 |
| 输出文件名 | orange-cat.png |
| 图片尺寸 | 1024x1024 |
| 质量要求 | medium |
现在开始执行。
不要只提供示例代码,必须实际调用 Dlow 接口、保存并验证图片。只有 API Key 未替换、缺少必要参数或依赖,或者需要第二次付费请求时才暂停。