CC Switch 配置 API 后 Codex 无法生成图片?修改 config.toml 即可解决

适用范围说明: 在我使用的这API ,添加该请求头后图片生成功能恢复正常,不保证适用于其他 API 供应商,如果无法使用,请查看 API 密钥中的 http_headers

摘要:在 CC Switch 中为 Codex 配置自定义 API 后,如果文字对话能够正常使用,但图片生成功能不可用,可以检查对应供应商的 config.toml。在本文所使用的环境中,将 requires_openai_auth 设置为 false,并补充 x-openai-actor-authorization 请求头后,图片生成功能恢复正常。

问题现象

我在 CC Switch 中配置自定义 API,并将其用于 Codex。普通对话功能可以正常使用,但调用图片生成功能时无法生成图片。

经过排查,我最终通过调整当前供应商的认证配置,并补充这家 API 服务识别图片扩展时所需的请求头解决了问题。

最终需要修改两处配置:

requires_openai_auth = false
http_headers = { "x-openai-actor-authorization" = "local-image-extension" }

下面记录完整的修改过程。

第一步:进入供应商编辑界面

打开 CC Switch,切换到 Codex 的供应商列表,找到当前正在使用的自定义 API。

点击供应商右侧的“编辑”按钮,也就是下图红框和箭头标出的铅笔图标。

在这里插入图片描述

进入“编辑供应商”页面后,找到 config.toml (TOML) 配置区域。

第二步:修改 config.toml

在对应的模型供应商配置段中,将 requires_openai_auth 设置为 false,并加入 http_headers

[model_providers.custom]
name = "你的供应商名称"
wire_api = "responses"
requires_openai_auth = false
base_url = "你的 API 地址"
http_headers = { "x-openai-actor-authorization" = "local-image-extension" }

需要重点确认的是下面两行:

requires_openai_auth = false
http_headers = { "x-openai-actor-authorization" = "local-image-extension" }

其中:

  • requires_openai_auth = false:表示这个自定义供应商不使用 OpenAI 官方认证。它控制的是认证方式,并不是通用的图片生成开关。
  • http_headers:为发往当前供应商的请求添加静态 HTTP 请求头。在本文使用的 API 服务中,x-openai-actor-authorization 请求头与图片扩展有关,但不能保证其他供应商也采用相同约定。

修改完成后的配置如下图所示:

在这里插入图片描述

最后点击右下角的“保存”按钮,让新配置生效。

配置时需要注意的几个问题

1. 配置必须写在正确的供应商段内

请以自己配置文件中的实际名称和模型为准,本文实例仅是参考。http_headersrequires_openai_auth 应放在对应的 [model_providers.<供应商 ID>] 段内,例如 [model_providers.custom]

2. 不要重复定义同一个字段

如果配置中已经存在 requires_openai_authhttp_headers,直接修改原有字段即可,不要再添加一份。TOML 中重复定义键可能导致配置解析失败;如果 http_headers 中原本还有其他请求头,请保留它们并将本文的请求头合并进去。

3. 注意引号和拼写

如果你使用的 API 服务明确要求该请求头,请原样填写:

http_headers = { "x-openai-actor-authorization" = "local-image-extension" }

尤其要注意连字符、双引号和花括号,任何拼写错误都可能导致请求头没有被正确发送。

4. 截图中的其他配置不要直接照抄

base_url、模型名称、供应商名称等内容应继续使用你自己的配置。本文场景中修改的是认证开关和指定请求头,其他 API 服务可能需要不同的配置。

最终

requires_openai_auth = false
http_headers = { "x-openai-actor-authorization" = "local-image-extension" }

保存配置后,再重新尝试生成图片即可。在我当前使用的配置中,问题通过这两项修改得到解决。

附录:config.toml 常用参数说明

config.toml 中既有作用于整个 Codex 会话的全局参数,也有只作用于某个 API 供应商的参数。不同 Codex 版本和 API 服务的支持范围可能不同,下面列出本文配置中较常见的项目。

全局参数

参数 作用与注意事项
model_provider 指定当前使用的供应商 ID,必须与下方 [model_providers.<供应商 ID>] 中的 ID 对应。例如 model_provider = "custom" 对应 [model_providers.custom]
model 指定主要使用的模型名称。该模型必须由当前供应商实际支持,不能直接照抄其他人的模型 ID。
review_model 指定执行 /review 时使用的模型;不设置时,通常使用当前会话模型。
model_reasoning_effort 设置模型的推理强度,例如 lowmediumhigh 等。可用档位取决于模型,档位越高通常耗时越长。
sandbox_mode 控制 Codex 执行命令时的文件系统和网络权限。常见值包括 read-onlyworkspace-writedanger-full-access。其中 danger-full-access 权限很高,不建议直接照抄。
approval_policy 控制 Codex 在执行命令前何时请求确认。on-request 适合交互使用;never 不会弹出交互式确认,应结合沙箱权限谨慎配置。
notify 配置 Codex 发送通知时调用的外部命令,该命令会接收 Codex 提供的 JSON 数据。

供应商参数

参数 作用与注意事项
[model_providers.<供应商 ID>] 定义一个自定义模型供应商。尖括号中的 ID 需要替换为实际名称,并与顶层的 model_provider 保持一致。
name 供应商的显示名称,主要用于界面识别。
base_url 供应商的 API 基础地址,应填写 API 服务商提供的地址。不要复制截图中其他人的地址。
wire_api 指定供应商使用的请求协议。当前 Codex 配置参考中支持的值是 responses,省略时也默认使用该值。
requires_openai_auth 表示该供应商是否使用 OpenAI 认证,默认值为 false。自定义 API 是否需要显式设置,应以供应商的认证方式为准。
env_key 指定从哪个环境变量读取供应商的 API Key,例如 OPENAI_API_KEY。这里填写的是环境变量名称,而不是直接填写密钥内容。
http_headers 为发往该供应商的请求添加静态 HTTP 请求头。请求头名称和值由服务端决定,不是所有供应商都能通用;已有其他请求头时,应合并而不是覆盖。

更多参数及最新支持范围可以查看 Codex 官方配置参考


推荐标签: CC Switch、Codex、OpenAI API、config.toml、AI 图片生成

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐