OpenClaw生成图片出错问题解决
OpenClaw生成图片出错,出错信息:
现在清楚了。当前图片生成用的是 OpenAI gpt-image-2(唯一已配置的),连接失败了。
可用的图片生成服务如下:
| 服务 | 模型 | 需要配置 | 特点 |
|---|---|---|---|
| openai ✅已配置 | gpt-image-2 | 已有API Key | 质量最高,但连接不稳 |
| gemini-3.1-flash-image-preview | 需设 GEMINI_API_KEY | 速度快,支持多图编辑 | |
| fal | flux/dev | 需设 FAL_KEY | 开源模型,效果不错 |
| deepinfra | FLUX-1-schnell | 需设 DEEPINFRA_API_KEY | 多模型可选 |
| minimax | image-01 | 需设 MINIMAX_API_KEY | 国内服务,延迟低 |
| xai | grok-imagine | 需设 XAI_API_KEY | 马斯克的Grok |
推荐方案: 可以用 Google Gemini(免费额度大)或 Minimax(国内服务快)。
Google Gemini API 获取步骤:
- 打开 Google AI Studio
- 登录 Google 账号
- 点击 “Create API Key”
- 选择一个 GCP 项目(没有会自动创建)
- 复制生成的 API Key
免费额度(Gemini 1.5 Flash):
- RPM: 15 请求/分钟
- RPD: 1500 请求/天
- TPM: 100万 token/分钟
- 输入:免费
- 输出:免费(超出后 $0.075/1M tokens)
使用方式:复制
# OpenClaw 配置示例
provider: openai-compatible
baseUrl: https://generativelanguage.googleapis.com/v1beta/openai
apiKey: 你的Gemini API Key
model: gemini-2.0-flash
注意事项:
- Gemini API 兼容 OpenAI 格式,通过
googleapis.com/v1beta/openai端点调用 - 免免额足够日常使用,适合成本敏感场景
- 需要科学上网访问
获取API key之后,更改service文件,重启网关
1、systemctl – -user edit – -full openclaw-gateway.service 可以编辑service文件,把我们的API KEY都作为环境变量输入进去
2、重载并重启
systemctl –user daemon-reload
systemctl –user restart openclaw-gateway.service
测试:
指令: 检查下生成图片的功能是否正常?
结果:
图片生成功能检查结果:
| Provider | 状态 | 问题 |
|---|---|---|
| Google Gemini | ❌ | 网络超时(无法连接) |
| OpenAI gpt-image-2 | ❌ | 网络超时(无法连接) |
| DeepInfra | ⚠️ | 未配置 API 密钥 |
结论: 图片生成功能当前不可用。主要受网络限制影响。
建议:
- 配置可用的代理/翻墙工具确保外网访问正常
- 或者使用其他离线/本地图片生成方案
如需测试,我可以尝试:
- fal.ai – 需配置 FAL_KEY
- deepinfra – 需配置 DEEPINFRA_API_KEY
- Minimax – 国内可用,需配置 MINIMAX_API_KEY
Minimax API Key 获取方式:
- 访问 Minimax 开放平台:https://platform.minimaxi.com/
- 注册/登录 账号(支持手机号、微信等)
- 进入 「API 密钥」 或 「开发者中心」
- 点击 「创建密钥」 → 复制保存
关键信息:
- 新用户免费额度:约 10 万 tokens
- 图片生成模型:
image-01 - 支持格式:支持 OpenAI 兼容格式
配置方式:复制
# 方法1:环境变量
export MINIMAX_API_KEY="你的密钥"
# 方法2:OpenClaw 配置
# openclaw.json 中添加
"minimax": {
"apiKey": "你的密钥"
}
注意事项:
- Minimax 国内可用,无需翻墙
- 支持文生图、图生图
- 免费额度足够测试使用
- 注册送15元,生成图片是2.5分/张,免费额度可以有600张图片生成
获取API Key 之后更改Service文件,重启Service,再测试:
有问题:
排查结论:
✅ API Key 有效 — 文本生成正常工作
❌ image-01 模型不可用 — Minimax API 返回的模型列表中没有 image-01
原因分析:
- Minimax 的图片生成 API 可能需要单独开通或使用不同的端点/密钥
- 当前 API Key 只有文本模型权限(MiniMax-M2.7 等)
解决方案:
- 登录 Minimax 控制台 → 检查是否开通了「图片生成」服务
- 确认 API Key 权限 → 可能需要生成专门用于图片的 Key
- 检查计费状态 → 图片生成可能需要单独付费
去MiniMax 站点试了下,同样的API Key,在生图模型测试的地方在线测试是成功的。
把这个截图给Openclaw,Openclaw终于分析了错误的根本原因,并解决了:
Minimax 图片生成故障分析与解决
一、故障现象
- 测试命令:
curl -s -X POST "https://api.minimax.chat/v1/text/chatcompletion_v2" -H "Authorization: Bearer $MINIMAX_API_KEY" ... - 返回结果:
{"base_resp": {"status_code": 2049, "status_msg": "invalid api key"}} - 关键矛盾:同一个 API Key 在 MiniMax 官网在线测试正常,但通过 OpenClaw 调用失败。
二、根本原因
| 维度 | 详情 |
|---|---|
| 域名错误 | OpenClaw 内置 Minimax 图片生成默认使用国际端点 api.minimax.io,而用户的 API Key 是国内版,对应端点为 api.minimaxi.com。 |
| 域名检测机制 | OpenClaw 通过 MINIMAX_API_HOST 环境变量或配置中的 baseUrl 判断使用国内/国际端点,未设置时默认走国际版。 |
| API Key 有效性 | 用户的 API Key 在 api.minimaxi.com 上有效,但在 api.minimax.io 上无效,导致 2049 错误。 |
三、解决方案
步骤 1:定位问题
- 检查 OpenClaw 内置代码,发现存在两个 Minimax 端点:
- 国际版:
https://api.minimax.io(默认) - 国内版:
https://api.minimaxi.com
- 国际版:
- 确认用户的 API Key 需要国内端点。
步骤 2:修改配置
在 openclaw.json 的 env.vars 中添加:复制
{
"env": {
"vars": {
"MINIMAX_API_HOST": "api.minimaxi.com"
}
}
}
步骤 3:重启 Gateway
使用 gateway restart 使环境变量生效。
步骤 4:验证
测试图片生成,成功返回图片 URL。
四、技术细节
- 环境变量优先级:
MINIMAX_API_HOST>cfg.models.providers.minimax.baseUrl> 默认值api.minimax.io。 - 域名检测逻辑:复制
function isMinimaxCnHost(value) { const hostname = new URL(value).hostname.toLowerCase(); return hostname === "minimaxi.com" || hostname.endsWith(".minimaxi.com"); } - 端点选择:检测到国内域名后,自动切换到
CN_MINIMAX_IMAGE_BASE_URL = "https://api.minimaxi.com"。
五、经验总结
| 教训 | 说明 |
|---|---|
| 国内外 API 差异 | 国内云服务商通常有独立的 API 端点,配置时需明确区分。 |
| 环境变量优先 | OpenClaw 支持通过 env.vars 覆盖默认配置,适用于多环境场景。 |
| 官方测试验证 | API Key 有效但调用失败时,优先检查端点域名是否匹配。 |
六、后续建议
- 配置文档:在 TOOLS.md 中记录 Minimax 的国内端点配置方法。
- 故障排查流程:遇到 API 2049 错误时,先检查域名是否正确。
- 多环境支持:如需同时支持国内外 API,可通过环境变量动态切换。
当前状态:✅ 已修复,图片生成功能正常。
关于作者:
| 昵称:Jack.shang 档案信息:jack.shang 程序员->项目经理->技术总监->项目总监->部门总监->事业部总经理->子公司总经理->集团产品运营支持 联系方式:你可以通过syfvb@hotmail.com联系作者 点击查看Jack.shang发表过的所有文章... 本文永久链接: http://blog.retailsolution.cn/archives/6009 |
对本文的评价:
