拒绝 Banana 割韭菜!用国产模型给 OpenClaw 打造生图 Skill
摘要:国产AI生图技能开发实战 本文记录了使用阿里云通义万相国产AI模型开发OpenClaw图片生成技能的完整过程。通过分析qwen-image和wanx系列模型的特性,作者实现了包含复杂文字渲染、通用场景、高质量图片和写实摄影的多模型支持。文章详细介绍了技能文件结构、异步API调用方法、常见问题解决方案,并分享了"科技海报"、"电商促销"等实用生成示例。开
📝 概述
龙虾的公众号自动化大业,卡在了一张封面图上。网上搜解决方案,清一色洋牌子:OpenAI、nano-banana……价格看得我钱包一紧。不是,咱国产大模型们堆成山的免费额度,是留着下崽吗?果断决定:给龙虾换国产装备!目标阿里云通义万相,零成本,纯国产,免费额度管饱!
这篇就是我从零开始,手搓 OpenClaw 生图技能的"犯罪记录"——技能怎么搭、API 怎么骗(不对,对接)、bug 怎么修,以及让龙虾打工更丝滑的最佳实践。全程干货,踩过的坑都给你标红了!
🎯 目标
创建一个可以使用阿里云百炼平台的 Qwen-Image 和 Wanx 系列模型生成图片的 OpenClaw 技能。只要注册就有免费额度啊,大家可以直接去阿里云百炼去查有哪些免费模型可以用!
支持的模型:
- qwen-image-2.0-pro:复杂文字渲染(海报、对联)
- qwen-image-plus:通用场景(默认)
- qwen-image-max:高质量通用场景
- wan2.6-t2i:写实摄影
- wan2.2-t2i-flash:快速生成
📁 技能文件结构
~/.openclaw/workspace/skills/ali-image-gen/
├── SKILL.md # 技能文档(必需)
├── package.json # Node.js 依赖配置
└── scripts/
└── generate.mjs # 图片生成脚本
🔧 开发步骤
步骤 1:创建目录结构
mkdir -p C:\Users\Administrator\.openclaw\workspace\skills\ali-image-gen\scripts
步骤 2:编写 SKILL.md
SKILL.md 是 OpenClaw 技能的元数据文件,包含技能名称、描述、使用说明等。
步骤 3:编写生成脚本 (generate.mjs)
核心功能包括:
- 命令行参数解析
- API Key 获取
- 异步调用阿里云 API(关键!)
- 图片下载保存
步骤 4:配置 package.json
{
"name": "ali-image-gen",
"version": "1.0.0",
"type": "module",
"dependencies": {
"node-fetch": "^3.3.2"
}
}
步骤 5:安装依赖
cd C:\Users\Administrator\.openclaw\workspace\skills\ali-image-gen
npm install
步骤 6:配置 OpenClaw
编辑 openclaw.json,在 skills.entries 中添加:
"ali-image-gen": {
"enabled": true,
"apiKey": "sk-xxxxxxxxxxxxxxxxxx"
}
步骤 7:测试运行
$env:DASHSCOPE_API_KEY="sk-xxxxxxxxxxxxxxxxx"
node scripts/generate.mjs "一只可爱的卡通猫咪" --model qwen-image-plus -n 1
⚠️ 踩坑记录
坑 1:同步 vs 异步调用
问题:最初使用同步调用,报错 current user api does not support synchronous calls
原因:qwen-image-plus 和 qwen-image-max 需要使用异步调用方式
解决:添加 X-DashScope-Async: enable 请求头,实现任务提交 + 轮询查询的异步流程
坑 2:异步 API 端点
问题:最初使用 /tasks 端点提交任务,返回格式不对
原因:阿里云文生图 API 统一使用 /services/aigc/text2image/image-synthesis 端点
解决:通过请求头 X-DashScope-Async: enable 启用异步模式
坑 3:PowerShell 命令连接符
问题:使用 && 连接命令时报错
原因:PowerShell 中 && 不是有效的分隔符
解决:使用 ; 或分多行执行
坑 4:模型尺寸限制
不同模型支持的尺寸不同:
- qwen-image-plus/max:仅支持 5 种固定尺寸
- qwen-image-2.0 系列:支持 512512 到 20482048 任意尺寸
- wan2.2-t2i-flash:支持 [512, 1440] 范围内任意尺寸
📋 使用示例
# 基础用法
node scripts/generate.mjs "一只可爱的猫咪"
# 指定模型和尺寸
node scripts/generate.mjs "科技风格海报" --model qwen-image-2.0-pro --size 1664*928
# 生成多张并优化提示词
node scripts/generate.mjs "风景照片" -n 4 --prompt-extend
# 电商海报
node scripts/generate.mjs "C4D 风格电商促销海报,蓝色主色调,双十一预售" --model qwen-image-2.0-pro --size 1664*928
# 写实人像
node scripts/generate.mjs "时尚摄影街拍人像,年轻亚洲女孩,街头潮流造型" --model wan2.6-t2i
🔑 关键要点
- SKILL.md 是必需的:OpenClaw 通过它识别技能
- 异步调用更可靠:qwen-image-plus/max 和 wanx 系列必须用异步
- API Key 管理:通过环境变量或 openclaw.json 配置
- 图片 URL 有效期 24 小时:需要及时下载保存
- 错误处理很重要:API 调用可能失败,需要友好的错误提示
💬 开发心得
事实上,以上是 AI 开发完自己总结的方法。实际我只编了一段提示词,给了阿里配置 API 的说明文档,龙虾自己就编好了,很顺利。
当然也有坑,最开始我用 claudecode 帮我编 skill,竟然测试迭代了 n 个循环,愣是耗光了我的耐心。最后甩给龙虾,十分钟就搞定了。
最后说句大实话:我力挺国产模型,首要原因当然是——穷。但真用起来,发现便宜不是它唯一的优点,它是真的便宜又好用啊!
免费广告时间:阿里 Code Plan,生图额度多到能当饭吃,管饱。这篇文章的封面就是用它搓的,提示词简单粗暴——“帮我根据文章内容生成封面”,出图稳得一批!
咱穷归穷,骨气要有。如果你也是"国产真香"党,点个赞,让我看看有多少同志在默默白嫖!🦞
更多推荐



所有评论(0)