乐于分享
好东西不私藏

分享给AI装上图片识别,图片生成,视频生成的三件套方法,全部免费,小白一键复制安装

分享给AI装上图片识别,图片生成,视频生成的三件套方法,全部免费,小白一键复制安装

先说个场景。我平时写东西、查资料基本都使用agent,AI 助手其实有很多功能。之前它只能「打字回话」,我老觉得差点意思——我想让它看看我截图里报的错、帮我画个示意图、甚至做个短视频素材,它都说办不到。后来才知道,这玩意儿居然能「装技能」,装上之后该看图画图的,全都能干。今天就把我怎么装的整个过程记下来,给想折腾的朋友一条明路。

注意:文章前面是科普,文章最后有可一键复制全自动安装的提示词,直接发给opencode就能自动安装,不需要懂,前提是准备好APIKEY

下面是以opencode作为示例,其他支持技能的工具都一样能用

我用的这个叫 opencode,是命令行里的 AI 编程助手(类似 Claude Code / Codex 的本地方案),他也有桌面版本,在官网可以直接下安装包。它有一套 Skill(技能) 机制:把「可复用的指令 + 工具脚本」打包成一个文件夹,你在对话里说句话,它自己会去加载、执行。我给它装了三样技能:

技能能力底层模型计费
vision看图识别内容、提取图中文字/参数/型号glm-4v-flash免费
imagegen文字描述生成图片,自动下载到本地cogview-3-flash免费
videogen文字描述生成短视频,自动下载 mp4+封面cogvideox-flash免费
¥0三个技能全部免费

搭配起来就是:能看 ➜ 能画 ➜ 能拍,全在本地命令行搞定,不用开网页。关键是模型都是免费档,折腾它完全不心疼额度。

技能到底是个啥?一句话讲清

opencode 的官方机制就一条核心:

每个技能 = 一个目录 + 目录里的 SKILL.md 文件

目录名就是技能名(小写字母/数字/连字符,比如 imagegen)。SKILL.md 是技能的「身份证」,AI 靠它知道三件事:这技能叫什么、干嘛用(frontmatter 里的 name/description);具体怎么调用(正文里的命令、参数、示例);返回什么结果、有什么坑。

AI 干活前会先扫一遍所有技能的「名片」(就是 description),你说话命中了谁的 description,它就加载谁。所以 description 写得越全,AI 越不会「忘了用你」。SKILL.md 的格式长这样:

markdown
---
name: imagegen # 必填,与目录名一致
description: 本机 AI 文生图... # 必填,写得越具体越好
license: MIT # 可选
compatibility: opencode # 可选
---
# 以下是正文,Markdown 随意写
官方文档里容易忽略的坑:SKILL.md 文件名必须全大写;frontmatter 必须有 name 和 description;技能名全局唯一;别在权限配置里把它设成 deny,否则会对 AI 隐藏。

技能放哪?发现机制

opencode 会按目录层级自动往上扫,找到这些位置:

作用域路径
项目级.opencode/skills/<技能名>/SKILL.md
全局级(重要)~/.config/opencode/skills/<技能名>/SKILL.md
兼容 Claude.claude/skills/<技能名>/SKILL.md(项目);~/.claude/skills/...(全局)
兼容 Agents.agents/skills/<技能名>/SKILL.md(项目);~/.agents/skills/...(全局)

我用的是全局级,放用户配置目录,任何项目目录下都能用,不用每个项目都建一遍。

Windows 小知识:如果 opencode 是作为系统服务(SYSTEM 账户)跑,它读的是 systemprofile 下的配置目录,用户目录那份不生效。要双份维护、用 md5 校验保证一致。不跑服务就不用管这条。

一个技能的目录结构

每个技能目录内部长得几乎一样,以 imagegen 为例:

text
C:\Users\<你>\.config\opencode\skills\imagegen\
├── SKILL.md # 给 AI 看的说明书
├── image_config.json # 模型配置(含 API Key)
└── scripts\
    └── imagegen.py # 真正干活的脚本(纯 Python 标准库)
文件作用
SKILL.md面向 AI 的操作手册:何时用、调用命令、全部参数、示例、返回格式、限流与水印说明
*_config.json面向脚本的配置:api_key、api_base、model、默认尺寸/时长/并发/重试等
scripts/*.py面向实际执行的本体:请求智谱 API、下载文件。全部用 Python 标准库(urllib)实现,不装任何第三方依赖

三个技能共用同一个智谱开放平台 Key,各自模型不同、端点不同:

text
vision    API_BASE = .../api/paas/v4/chat/completions   模型 glm-4v-flash
imagegen API_BASE = .../api/paas/v4/images/generations 模型 cogview-3-flash
videogen API_BASE = .../api/paas/v4/videos/generations 模型 cogvideox-flash

安装步骤(照着做就行)

先确认环境:Windows 10/11、opencode 已装、网络能访问 open.bigmodel.cn(国内直连就行)、去智谱开放平台免费领一个 API Key。Python 或 Node 至少有一个(推荐 Python 3.9+),脚本全是标准库,啥第三方包都不用装。

建目录

按技能名建三个子目录 + scripts 目录

写配置文件

*_config.json:api_key / api_base / model / 默认参数

写 SKILL.md

给 AI 看的说明书:何时用 + 怎么调用 + 参数 + 示例 + 坑

写脚本

scripts/*.py:纯标准库请求智谱 API

命令行验证

每个脚本跑一次,确定能出结果才算装好

第 1 步:建目录,三条命令搞定:

powershell
New-Item -ItemType Directory -Force -Path "...\skills\vision\scripts"
New-Item -ItemType Directory -Force -Path "...\skills\imagegen\scripts"
New-Item -ItemType Directory -Force -Path "...\skills\videogen\scripts"

第 2 步:写配置文件。以 imagegen 为例,字段大致如下,另外两个同理:

json
{
  "api_key": "*****你的智谱Key*****",
  "api_base": "https://open.bigmodel.cn/api/paas/v4/images/generations",
  "model": "cogview-3-flash",
  "size": "1024x1024",
  "concurrency": 1,
  "max_retries": 3,
  "timeout": 120
}
Key 不一定非要写进 config 文件:脚本里有读取优先级——先看环境变量 ZHIPU_API_KEY,再看 config.json,再看项目 .env。所以 Key 只放环境变量也行。分享文章一律把 Key 打码。

第 3 步:写 SKILL.md,这是给 AI 看的说明书,写不写全直接影响 AI 用不用得顺。要点有三条:

description 是触发器:把用户可能说的每类话都写进去,比如 imagegen 就写「生成图片/AI画图/文生图/配图/插图/海报图/根据描述画图」,写少了 AI 就忘用
参数必须写全、写默认值:AI 不会猜,--size 有哪些合法值、默认是什么,全列出来
把坑写进文档:并发上限=1、撞 1302 会自动重试、水印默认带但可签声明去掉,AI 知道了就不折腾

第 4 步:写脚本。这是技能的「手」,负责真调 API。我们脚本的特点:纯标准库(urllib/json/argparse/threading)、请求头、结果打印 JSON 到 stdout 方便 AI 解析、撞限流错误码(1302/429/1305)自动指数退避、带 --out 落盘。三个脚本能力对比:

vision.pyimagegen.pyvideogen.py
入参1..N 张图片路径提示词提示词
关键参数--prompt 自定义识别要求--n 张数、--size--duration、--size、--fps、--with-audio
并发并发 5并发 1(实测该账户=1)一个任务串行
执行方式同步同步,多线程并发异步:提交 → 轮询 async-result/{task_id}
自动下载文字结果写 <名>.txt每张 image_001.pngvideo.mp4 + cover.png

第 5 步:验证。命令行直接跑一次,看能不能出结果:

powershell
# vision:识别一张图
python ...\vision\scripts\vision.py C:\测试图.png --prompt "这是什么产品?列出型号参数"

# imagegen:生成一张图
python ...\imagegen\scripts\imagegen.py "光纤收发器产品图,浅灰工业风" --size 1440x720

# videogen:生成一段视频(约 60 秒出结果)
python ...\videogen\scripts\videogen.py "一只白色的柴犬在海边奔跑,黄昏暖色调" --duration 5

验证通过后,重启/新开 opencode 会话,AI 的可选技能清单里就会出现这三个名字,命中 description 时自动调用。

实测记录(都是真实数据)

这套在我本机是端到端跑通的,说点真实结果给你参考:

  1. vision:识别 AMD 主板图,正确输出产品/型号/参数,JSON 落盘,每图一个 .txt。
  2. imagegen:1024x1024、768x768、自定义尺寸都成功生成 PNG 并下载;但并发 2 时第 2 张撞 1302「该账户已达到并发限制」——实测该账户并发上限就是 1(官方文档说新用户 2,别全信,以实测为准)。脚本会自动退避重试。
  3. videogen:生成「白柴犬海边奔跑」5 秒视频,约 60 秒轮询到 SUCCESS,下载了 2.9MB video.mp4 + 126KB cover.png。坑:/v4/videos 返回 404,正确端点是 /v4/videos/generations。
60s生成一段 5 秒视频的耗时

错误码速记,遇到不慌:1302=并发限流、1305=平台过载、1214=尺寸非法、429=限流。

踩过的坑,帮你省掉

原因解决办法
--help 用不了argparse 一开始设了 add_help=False改成 add_help=True,给每个参数写中文说明
参数漏传SKILL.md 里没写 --watermark/--max-retries/--timeoutSKILL.md 必须是全参数清单,AI 只会用文档里写到的
服务方式下技能不生效用的是 systemprofile 配置目录,用户目录那份没用上双份维护,md5 校验,清掉 __pycache__
复制报文件被占用实际已写入成功用 md5 校验确认一致,别慌
图片并发撞 1302官方说并发 2,实际账户=1以实测为准,脚本默认并发设 1
视频端点 404/v4/videos 不存在用 /v4/videos/generations;视频要提交→轮询两步,不能一把同步拿到
传统方法 = 一个人费半天写脚本调 API;opencode 方法 = 把要求说清楚,剩下的交给 AI 自己装好并测好。

小白福音:一段提示词全自动装

如果你不想自己建目录、写文件,那思路可以反过来:把安装要求写成一段提示词,直接甩给 opencode,让它自己检查环境、装好依赖(如 Python)、建目录、生成三个技能,再用你的 API Key 实测通过。 这是真正「小白也能成」的办法——你只干两件事:发一句提示词、给它 Key。

  1. 打开 opencode,新建对话
  2. 整段复制提示词粘贴发送(它要 Key 你就如实给,只会显示成 *
  3. 看到「三件套已就绪 + 示例命令」就算装好,直接让它帮我生成一张图/一段视频试用

这段提示词为什么「小白也能成」?我拆给你看:没 Python 会自动 winget 装(脚本全标准库不用装包);目录、config、脚本、SKILL.md 全由 AI 自己写;Key 只管发一次,写入 config 或环境变量;三个技能各跑一次真实验证,通过才算装好,不是「装了个寂寞」;最关键的是把它亲身踩过的坑全固化进提示词——端点、参数、错误码、size 规则、去水印、视频轮询,照着写出来就是能跑的版本。

可直接复制发给ai的提示词如下:

text
请在这台电脑上帮我安装三个 AI 技能:vision(看图)、imagegen(画图)、videogen(做视频),并帮我处理环境与依赖,全部自主执行、逐步汇报。

【一、先做环境自检】
1. 检查可用的运行时:python/python3 或 node(任选一个已存在的即可),脚本不依赖任何第三方包。
2. 如果都没有:在 Windows 用 winget install --id Python.Python.3.12 帮我装好并加入 PATH,装完继续。
3. 确认能访问 https://open.bigmodel.cn(智谱 API 域名)。

【二、安装位置】
全局技能目录 ...\.config\opencode\skills\,每个技能一个子目录:
  <技能名>\SKILL.md
  <技能名>\<技能名>_config.json
  <技能名>\scripts\<技能名>.<py|mjs>

【三、API Key(安全第一)】
1. 先询问用户是否已有智谱开放平台 API Key;若无,引导去控制台 API Keys 创建(免费)。
2. 用户提供后,写入每个 config 的 api_key 字段;若不想填,就写系统环境变量 ZHIPU_API_KEY。
3. Key 读取优先级:环境变量 ZHIPU_API_KEY > config.json 的 api_key。
4. 任何汇报里都别输出完整 Key,一律 *****。

【四、三个技能的规格(务必全部实现,参数别漏)】

1) vision 看图理解
- 端点:POST https://open.bigmodel.cn/api/paas/v4/chat/completions
- 模型:glm-4v-flash
- 参数:1..N 张图片路径 + --prompt + --out + --concurrency 默认 5 + --model + --timeout 默认 120
- 本地图片转 base64 以 data URL 传入;http(s) 图片直接传 URL
- 每图结果写 <图名>.txt 到 --out;stdout 输出 JSON
- 撞 429/1302/1305 自动指数退避重试(默认 3 次)

2) imagegen 文生图
- 端点:POST https://open.bigmodel.cn/api/paas/v4/images/generations
- 模型:cogview-3-flash
- 参数:<提示词> + --n 默认1 + --size + --out + --concurrency 默认1(实测该账户并发上限=1)+ --watermark on|off
- --size 支持 7 预设,也支持自定义:每边 512-2048、16 的整数倍、面积≤2^21
- 请求体:{model,prompt,size,watermark_enabled:false}(永远带上 false)
- 每张图下载为 image_001.png 递增到 --out;stdout 输出 JSON
- 撞 1302/429 自动指数退避重试

3) videogen 文生视频
- 端点:POST https://open.bigmodel.cn/api/paas/v4/videos/generations(别用 /v4/videos,会 404)
- 轮询:GET https://open.bigmodel.cn/api/paas/v4/async-result/{task_id},直到 SUCCESS
- 模型:cogvideox-flash
- 参数:<提示词> + --duration 5|10 + --size + --fps 30|60 + --with-audio on|off + --out + --poll-interval 默认10 + --max-wait 默认300 + --watermark on|off
- 成功取 video_result[0].url 下载 video.mp4、cover_image_url 下载 cover.png
- 提交失败 1302/1305 退避重试;生成约 1 分钟(提前告诉用户等一下)

【五、每个脚本都要支持 -h/--help】,用中文给每个参数写说明并标默认值。

【六、每个技能都要写 SKILL.md(给 AI 自己看的说明书)】
- frontmatter:name(=目录名)、description 1-1024字,写满触发词(如 生成图片/AI画图/配图/插图/海报图)
- 正文:何时使用 / 完整调用命令 / 全部参数表(含默认值) / 2-3 个示例 / 返回 JSON 示例 / 并发与限流提醒 / 配置说明
- 把坑写进去:图像并发=1、撞 1302 会自动重试、图片视频默认带水印但脚本已带去水印参数、size 规则

【七、最后必须验证】
1. 每个脚本先跑 --help 确认无报错
2. vision:用系统里任意一张图片跑一次识别
3. imagegen:跑 --n 1 --size 1024x1024 "一个发光的水晶球" 确认生成 PNG
4. videogen:跑 --duration 5 确认轮询到 SUCCESS 并下载 video.mp4(先告知约等 1 分钟)
5. 全部通过后,给用户一句话总结:三件套已就绪 + 三个试用示例命令

现在请开始;遇到需要用户决定的地方(API Key、是否安装 Python 等)先问我再继续。

上面的提示词直接发给opencode或者其他支持技能的agent工具,他就可以自主安装了,期间问你什么直接正常回答就可以

至此,你的 AI agent就有了眼睛、手和摄影机。有空也去智谱白嫖几个免费模型玩,别浪费额度。

说实话,智谱的免费模型只能用来测试,生成的效果太差,本文封面图就是他生成的,图片识别还可以,比ocr能识别更多细节。上面的技能之前一个例子,其他厉害的接口也可以这样做。

本文只是个人的折腾记录,不是广告,纯属分享。如果你也这么折腾过,或者有更省事的办法,欢迎在评论区聊聊。觉得有用的话,点个关注,下次继续折腾更好玩的东西分享给你们。

[1] opencode Agent Skills 官方文档:https://opencode.ai/docs/skills/

[2] 智谱开放平台(申请免费 API Key):https://open.bigmodel.cn