Codex第三方API使用生图接口

Codex第三方API使用生图接口

💡 原文中文,约1200字,阅读约需3分钟。
📝

内容提要

本文介绍如何修复Codex或ChatGPT客户端配置第三方API时,内置imagegen Skills无法生图的问题。方法一是在config.toml中为自定义模型提供商添加http_headers和image_generation配置;方法二是直接修改内置skills脚本。此外,还分享了将生图能力扩展到oh-my-pi(OMP)的安装与使用方法。

🔎

延伸解读

配置层级与协议兼容性

修复的关键在于将http_headers和image_generation配置放在[model_providers.<provider>]层级下,而非全局顶层。同时,该方案依赖API中转站支持Responses API的图片生成协议。若配置后仍无法生图或返回空结果,说明中转站仅兼容普通文本Responses请求,需更换支持图片生成的服务商。

内置Skills的降级机制

Codex内置的imagegen Skills本质是一个SKILL.md文件,指导Agent调用生图接口。当接口不支持时,会回落到一个Python脚本。用户可直接指示Codex从本地配置文件(config.toml)读取baseurl,从auth.json读取key,从而绕过配置问题,实现生图功能。

扩展至oh-my-pi的实践

作者将Codex的imagegen Skills改造后用于oh-my-pi(OMP),通过调整参数传入方式和路径,实现了OMP的生图能力。用户可通过git clone命令安装该skills,或直接让OMP自动安装。使用时需设置OPENAI_BASE_URL和OPENAI_API_KEY环境变量,然后调用skills即可。

Q&A

Codex配置第三方API时,内置imagegen Skills无法生图,如何修复?

可以通过修改~/.codex/config.toml文件,在[model_providers.custom]下添加http_headers和image_generation配置,例如:http_headers = { "x-openai-actor-authorization" = "local-image-extension" },image_generation = true。注意配置层级,http_headers应放在具体的provider下。

Codex内置imagegen Skills的工作原理是什么?

内置imagegen Skills实际上是一个SKILL.md文件,它告诉Agent如何调用生图接口,如果不支持,则回落到skills下的一个Python脚本。

如果API中转站不支持图片生成协议,会有什么表现?

如果API中转站不支持图片生成协议,即使配置了image_generation = true,仍会返回协议不支持或图片结果为空,说明该中转站只兼容普通文本Responses请求。

如何将Codex的生图能力扩展到oh-my-pi(OMP)?

可以通过git clone https://github.com/AlliotTech/omp-imagegen.git ~/.omp/agent/skills/imagegen安装,或者直接让OMP安装该skills。使用时,设置环境变量OPENAI_BASE_URL和OPENAI_API_KEY,然后运行omp即可调用skills。

在config.toml中配置http_headers时,需要注意什么?

需要注意配置层级,http_headers应放在具体的[model_providers.<provider>]下,而不是全局顶层。

Codex配置第三方API时,需要满足什么前提才能使用生图功能?

前提是API中转站支持Responses API的图片生成协议。如果不支持,即使配置了相关参数,也无法正常生图。

🏷️

标签

➡️

继续阅读