OpenClaw绘图技能:免API Key调用多模态LLM的底层逻辑拆解
用OpenClaw想绘图,第一步肯定是装绘图技能——这是基础操作,不多赘述。但很多同学实操后都会有个灵魂拷问:「我有一个问题,这种技能里面是如何连接多模态llm的,我指我也没有交钱,也没提供apikey,它怎么绘图」。
其实这也是我第一次用OpenClaw绘图时的疑问,毕竟常规调用多模态LLM(比如绘图模型),要么掏钱包付费,要么手动配置一串API Key,少一步都玩不转。今天就结合OpenClaw的技能机制,把这个「免Key、看似免费」的核心逻辑拆透,全程干货不啰嗦,适合刚接触OpenClaw的开发者和小白。
先给结论:OpenClaw能实现免API Key绘图,核心不是“免费白嫖”,而是靠Codex OAuth授权技术,帮我们简化了调用流程,费用最终还是由我们自己的OpenAI账户承担——相当于OpenClaw做了个“中间人”,帮我们省了手动配置API Key的麻烦。
先澄清一个关键认知:LLM调用逻辑,本就藏在技能(Skill)里
很多同学可能没意识到,OpenClaw本身只是个“框架”,不具备任何绘图、联网等具体能力,所有功能都靠「技能(Skill)」扩展——而多模态LLM的调用逻辑,恰恰就写在每个技能的核心代码里。
举个直观的例子,一个标准的绘图技能,目录结构大概是这样的(和实际开发场景完全一致):
my-drawing-skill/
├── skill.yaml # 技能配置文件(声明能力、权限,告诉OpenClaw这是个绘图技能)
├── instructions.md # 提示词工程(告诉AI如何解析用户绘图需求,转化为LLM能识别的指令)
├── handler.js / .py # 核心逻辑代码(重点!这里就是多模态LLM的调用入口)
├── cli.js # 可选:命令行入口,方便开发者调试
└── utils/ # 可选:辅助工具,处理图片格式、请求异常等
其中最关键的就是handler.js(或handler.py),开发者会在里面硬编码「调用哪个LLM、用什么接口、传什么参数」,相当于给技能定好了“调用规则”。
两种常见的LLM调用写法(附伪代码,一看就懂)
第一种:常规API Key调用(比如OpenRouter),需要手动配置Key,适合开发者自定义模型:
// handler.js 常规调用示例(JavaScript)
asyncfunctiondrawImage(userPrompt, options) {
// 手动传入API Key(从环境变量读取,需提前配置)
const response = await fetch('https://openrouter.ai/api/v1/chat/completions', {
headers: {
'Authorization': `Bearer ${process.env.OPENROUTER_API_KEY}`,
},
body: JSON.stringify({
model: "google/gemini-2.0-flash-exp:free", // 自定义选择多模态模型
messages: [{role: "user", content: userPrompt}]
})
});
return response.json(); // 返回绘图结果
}
第二种:就是我们关心的「免API Key」写法(Codex OAuth授权),也是OpenClaw现在主推的方式:
// handler.js OAuth免Key调用示例(JavaScript)
asyncfunctiondrawImage(userPrompt) {
// 无需手动配置API Key,OpenClaw框架自动注入授权Token
const response = await fetch('https://api.openai.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': `Bearer ${getOAuthToken()}`, // 框架提供的方法,自动获取有效Token
},
body: JSON.stringify({
model: "gpt-image-2", // 固定调用OpenAI的绘图模型
prompt: userPrompt
})
});
}
重点差异:免Key写法里,开发者不用关心API Key的配置、Token的管理,这些都由OpenClaw框架帮我们搞定——这也是“免Key”的核心原因。
Codex OAuth授权:免Key绘图的底层逻辑(3步拆解)
很多同学疑惑“没交钱、没给Key,怎么就能绘图”,其实答案很简单:钱没少花,只是付款渠道变了;Key没手动输,只是框架帮我们自动管理了。具体拆解3步,全程无废话:
第一步:授权借用——不用手动配置Key,借的是你自己的OpenAI账户授权
OpenClaw从v2026.4.23版本开始,新增了Codex OAuth功能,针对OpenAI的gpt-image-2绘图模型做了专属适配。
以前调用OpenAI的绘图模型,需要你自己注册OpenAI账号、绑定信用卡、获取API Key,再手动配置到OpenClaw里——每一步都要自己操作,门槛很高。
现在有了OAuth授权,就像用微信登录第三方网站一样:你不用重新注册,也不用手动复制API Key,只要授权OpenClaw“代表你”去调用OpenAI的模型就行。
第二步:临时令牌——授权后,OpenClaw会拿到“临时通行证”
当你第一次用OpenClaw绘图时,会弹出一个浏览器窗口,引导你登录自己的OpenAI账户,然后点击“授权”——这个过程就是给OpenClaw颁发“临时通行证”(Token)。
这个Token的作用,和API Key一样,都是用来验证身份、允许调用模型的,但它有两个优势:
1. 自动生成、自动刷新:OpenClaw框架会自动管理Token的有效期,过期了会自动重新获取,你完全不用管;
2. 安全可控:Token是和你的OpenAI账户绑定的,只有你授权的OpenClaw实例能使用,不会泄露你的API Key和账户信息。
整个交互流程其实很简单,用一句话概括:你发绘图指令 → OpenClaw用你的授权Token调用gpt-image-2模型 → 模型生成图片 → OpenClaw把图片返回给你。
流程可视化如下:

第三步:费用承担——“免费”是错觉,钱从你的OpenAI账户扣
这是最关键的一点:你没有给OpenClaw交钱,不代表绘图是“免费”的,绘图的成本最终还是由你自己承担,只是付款渠道变成了你的OpenAI账户。
具体分两种情况,覆盖所有使用场景:
1. 有免费额度:OpenAI的新模型(比如gpt-image-2)在推广期,会给新账户发放免费调用额度;如果你的账户还有免费额度,绘图费用会优先从免费额度里扣——对你来说,相当于“免费”使用;
2. 无免费额度:如果免费额度用完了,费用会直接计入你的OpenAI账户,从你绑定的信用卡、PayPal等付费方式中扣除——和你自己手动配置API Key调用,费用完全一样。
简单说:OpenClaw没有“白嫖”模型,只是帮你省了手动配置API Key的麻烦,相当于一个“万能遥控器”,帮你操作复杂的调用流程,账单最终还是OpenAI发给你。
3种绘图方式对比(清晰避坑)
除了上面说的OAuth免Key方式,OpenClaw还有两种常见的绘图方式,这里做个对比,方便大家根据自己的情况选择(纯干货,无多余内容):
|
|
|
|
|
|
|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
最后总结
回到最开始的疑问:技能如何连接多模态LLM?免Key、没交钱怎么绘图?其实核心就两点:
-
多模态LLM的调用逻辑,写在绘图技能的handler核心代码里,技能相当于“包装”了LLM的调用流程,让OpenClaw能识别并执行绘图指令;
-
免Key绘图靠的是Codex OAuth授权,本质是OpenClaw帮你管理授权Token,省去手动配置API Key的麻烦,费用最终由你的OpenAI账户承担——没有真正的“免费”,只有更便捷的“调用方式”。
如果是小白,直接用OpenAI OAuth方式,装完绘图技能就能用;如果是开发者,想自定义模型,推荐用OpenRouter或本地模型。
另外提一句:安装社区第三方绘图技能时,建议先装「Skill Vetter」安全工具,排查潜在风险——毕竟涉及账户授权和网络请求,安全第一。
如果大家在实操中遇到授权失败、模型调用报错,或者想了解具体的技能代码结构,评论区留言,后续补充具体解决方案~
夜雨聆风
