乐于分享
好东西不私藏

OpenClaw绘图技能:免API Key调用多模态LLM的底层逻辑拆解

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}`
        }, 
bodyJSON.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
        }, 
bodyJSON.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还有两种常见的绘图方式,这里做个对比,方便大家根据自己的情况选择(纯干货,无多余内容):

绘图方式
是否需要付费
是否需要API Key
核心优势
适用人群
OpenAI (Codex OAuth)
是(OpenAI账户支付)
不需要
操作简单,无需配置,适配性强
小白、非开发者,追求便捷性
OpenRouter
是(向OpenRouter支付)
需要(OPENROUTER_API_KEY)
可选择多种绘图模型,灵活度高
开发者,需要自定义模型
本地模型(Stable Diffusion)
否(用自身电脑硬件)
不需要
完全免费,无网络依赖
有高性能电脑,追求免费、隐私性

最后总结

回到最开始的疑问:技能如何连接多模态LLM?免Key、没交钱怎么绘图?其实核心就两点:

  1. 多模态LLM的调用逻辑,写在绘图技能的handler核心代码里,技能相当于“包装”了LLM的调用流程,让OpenClaw能识别并执行绘图指令;

  2. 免Key绘图靠的是Codex OAuth授权,本质是OpenClaw帮你管理授权Token,省去手动配置API Key的麻烦,费用最终由你的OpenAI账户承担——没有真正的“免费”,只有更便捷的“调用方式”。

如果是小白,直接用OpenAI OAuth方式,装完绘图技能就能用;如果是开发者,想自定义模型,推荐用OpenRouter或本地模型。

另外提一句:安装社区第三方绘图技能时,建议先装「Skill Vetter」安全工具,排查潜在风险——毕竟涉及账户授权和网络请求,安全第一。

如果大家在实操中遇到授权失败、模型调用报错,或者想了解具体的技能代码结构,评论区留言,后续补充具体解决方案~