![]() Custom Image API Skill:CodeX 调用 skill,让只有 Chat 接口的工具间接调用图片模型,该工具由 AI 生成,在 CodeX 做过测试完整可用。其他工具需要做一定的配置,根据相关工具的 skill 扩展来针对处理。最后有下载链接 一、背景:Chat 接口和图片接口不在同一条调用链上 很多 AI 工具的模型调用链默认面向对话模型,通常只会调用兼容 OpenAI 风格的:
例如:中转平台提供了当前顶流图片生成模型,gpt-image-2 模型。但 CodeX 等工具无法直接使用。因为 gpt-image-2 往往提供的是另一组 OpenAI 兼容接口:
这就导致:即使底层 provider 支持图片模型,上层工具也可能没有原生的图片请求入口,不能直接把一次对话调用转换为图片生成调用,更不能稳定地处理图片 URL、Base64 或图片二进制响应。
因此,它不是把图片模型“伪装成 Chat 模型”,而是让原本只有 Chat 调用能力的工具,通过 Skill/ 插件或本地脚本间接调用图片专用接口。
二、它解决了什么问题 图片接口接入时,除了请求路径不同,还存在一组重复工作:
custom-image-api 集中处理了这些协议细节。它是一套可被工具调用的适配 Skill。对于 Codex,它表现为 custom-image-api Skill;对于其他工具,也可以直接复用其中的 Python 脚本和配置约定。
从能力边界看,它把“上层只支持 Chat”与“底层支持图片接口”解耦了:
这里的 image2 可以理解为图片模型的具体名称,例如某个 provider 上配置的 gpt-image-2;真正决定能否使用的,是 provider 是否暴露兼容的图片接口。
其中最重要的是 generate_image.py。它使用 Python 标准库完成 HTTP 请求、TOML 配置读取、multipart 编码、Base64 解码和图片文件保存,因此没有额外的第三方 Python 依赖。
四、运行前提 需要满足以下条件:
五、CodeX 安装 Skill 将完整的 custom-image-api 目录复制到个人 Skill 目录:
Windows:
macOS/Linux:
复制完成后,重新启动一个 Codex task,使 Skill 元数据重新加载。不要把 API Key、auth.json、个人 config.toml、生成图片或机器相关的绝对路径复制到 Skill 目录中。
六、配置 Codex 在 Codex 的 config.toml 中配置一个图片 provider 和 custom-image profile。示例:
然后在本机设置 TEAM_IMAGE_API_KEY 环境变量。密钥不应写入 Skill、提示词或团队共享配置。
如果 provider 使用 Codex 已有的 OpenAI 认证,也可以配置:
此时脚本会从 Codex 的 auth.json 读取已经保存的 OPENAI_API_KEY。脚本还兼容 experimental_bearer_token,但不建议在共享模板中使用,因为它会把凭据直接放进 config.toml。
Endpoint 地址如何解析 脚本会根据 base_url 自动得到最终接口:
base_url
生成接口
编辑接口
https://hosthttps://host/v1/images/generationshttps://host/v1/images/edits 因此 provider 的 URL 可以配置在 host 根路径,也可以配置在 /v1 路径。
七、安装验证 先运行离线自测:
预期输出包含:
再运行配置检查。这个命令不会请求图片,但会读取 profile、provider、模型、认证来源并计算两个 endpoint:
示例输出结构如下,认证信息只显示来源,不显示密钥:
八、生成图片 没有输入图片时,脚本自动选择生成流程,向 /images/generations 发送 JSON:
对应的请求主体大致是:
常用参数:
支持的主要参数包括:
九、编辑图片 传入 –image 后,脚本自动选择编辑流程,并使用 multipart/form-data 请求 /images/edits:
编辑提示词最好明确写出不变量,例如“只修改背景,保留主体的形状、文字、颜色和细节”。这样可以降低模型误改主体的概率。–input-fidelity high 适合身份、产品细节或版式敏感的编辑,但是否真正生效取决于 provider。
多张输入图和 mask 可以重复使用 –image:
单张输入使用 multipart 字段 image;多张输入会重复使用 image[];mask 使用 mask 字段。mask 的黑白区域语义由具体图片服务定义,使用前应参考 provider 文档。
十、响应处理和文件保存 脚本会识别以下响应形式:
如果返回 URL,脚本会单独下载图片,且不会把 API Key 转发给图片 URL 所在的主机。如果返回 Base64,脚本会解码 Data URI 或普通 Base64 数据。
输出目录不存在时会自动创建。文件名默认类似:
如果文件已存在,脚本会追加数字后缀,避免覆盖原文件。程序最后输出 JSON,例如:
脚本还会根据图片文件签名识别 PNG、JPEG、GIF、BMP、TIFF、WebP 和 AVIF,无法判断格式时会报错,而不是写出一个扩展名错误的文件。单次 API 响应上限为 100 MB。
十一、在 Codex 中如何使用 安装和配置完成后,可以直接用自然语言提出图片任务,例如:
也可以显式指定 Skill:
Skill 的默认行为包括:判断是生成还是编辑、组织完整提示词、调用脚本、验证输出文件,并在 Codex 对话中显示结果图片。
十二、其他工具理论上也能使用 这个方案的关键逻辑位于 scripts/generate_image.py,并不依赖 Codex 的 Chat 模型推理接口。脚本只需要以下输入:
它最终执行的是普通 HTTP 请求,并把图片保存为本地文件。因此,理论上 WorkBuddy、Qorder、其他 Agent 框架、IDE 插件或自动化任务系统,只要具备以下任一能力,就可以复用这个方案:
不同工具只需要替换“如何触发”和“如何展示结果”这两部分,图片接口调用、认证、响应解析和文件落盘逻辑可以保持不变。这也是它比只在某个客户端内部增加图片按钮更容易迁移的原因。
需要注意的是,“理论上可复用”不代表所有工具可以直接复制目录即用。目标工具仍需要提供自己的 Skill/ 插件加载机制、配置位置、凭据管理方式以及本地文件展示能力。
十三、常见问题排查 1. 找不到 tomllib 说明 Python 版本低于 3.11。升级 Python,或在 Codex Desktop 中使用 load_workspace_dependencies 返回的 bundled Python 3.11+ 路径。
2. Codex configuration not found 检查 CODEX_HOME 是否指向正确的 Codex 配置目录,以及该目录下是否存在 config.toml。通常不需要设置 CODEX_HOME,脚本会使用默认的用户目录。
3. Missing Codex configuration value 检查 [profiles.custom-image] 是否存在 model_provider 和 model,并确认对应的 [model_providers.<provider>] 中有 base_url。
4. 认证变量未设置 如果配置了 env_key = “TEAM_IMAGE_API_KEY”,必须在当前进程环境中设置同名变量。不要把变量名误写成 API Key 本身。
5. HTTP 404 或接口路径错误 确认 provider 是否真的兼容 /images/generations 和 /images/edits,并用 –check 查看脚本计算出的 endpoint。若服务商只实现了其中一个接口,另一种操作无法使用。
6. 返回结果无法解析 检查服务是否返回了支持的 JSON 字段或 image/* Content-Type。只有文本 URL、Base64 字段和直接图片响应会被识别;其他自定义响应格式需要修改 image_candidates 或在 provider 侧增加兼容层。
十四、安全和工程注意事项
skill 下载链接 下载:https://wwapk.lanzouq.com/ivYWS42inzeh 密码:d6dx |
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧














暂无评论内容