关于 glmv-caption
glmv-caption 是调用智谱 GLM-V 为图像、视频和文档生成描述或内容解读的技能,适用于需要从媒体中提取视觉或文本信息的场景。它支持自定义提示词、多文件输入及将结果保存为 JSON。
主要功能
- 01为图像、视频和文档生成描述
- 02支持多图及多文件输入
- 03允许设置自定义提示词和模型参数
- 04支持思考模式与流式输出
- 05可将结果保存为 JSON
适用场景
- 01为图像生成内容描述或比较多张图像
- 02总结视频内容
- 03提取 PDF 或 Office 文档中的信息
- 04将生成结果保存为 JSON 供后续处理
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ zai-org/ glm-skills --skill glmv-caption安装后在 Claude Code 中输入/glmv-caption确认已加载。
附带文件scripts/glmv_caption.py
详细介绍
GLM-V 图像说明技能
使用智谱 GLM-V 多模态模型为图像、视频和文档生成说明。
使用场景
- 描述、说明、总结或解读图像/视频/文档内容
- 用户提到“描述这张图片”“图像说明”“总结这个视频”“图片描述”“视频摘要”“文档解读”“看图说话”
- 从媒体文件中提取视觉或文本信息
- 比较多张图片
- 用户提供图像/视频/文件并询问其中的内容
支持的输入类型
| 类型 | 格式 | 最大大小 | 最大数量 | Base64 |
|---|---|---|---|---|
| 图像 | jpg, png, jpeg | 5MB / 6000×6000px | 50 | ✅ |
| 视频 | mp4, mkv, mov | 200MB | — | ❌ |
| 文件 | pdf, docx, txt, xlsx, pptx, jsonl | — | 50 | ❌ |
⚠️ 同一请求中,file_url 不能与 image_url 或 video_url 混用。 ⚠️ 视频和文件仅支持 URL,不支持本地路径和 Base64(仅图像支持)。
资源链接
| 资源 | 链接 |
|---|---|
| 获取 API Key | https://bigmodel.cn/usercenter/proj-mgmt/apikeys |
| API 文档 | Chat Completions / 对话补全 |
前置条件
API Key 配置(必需)
此脚本从 ZHIPU_API_KEY 环境变量读取密钥,并与其他智谱技能共用该密钥。
脚本通过 ZHIPU_API_KEY 环境变量获取密钥,与其他智谱技能共用同一个 key。
获取密钥: 访问 智谱开放平台 API Keys / 智谱开放平台 API Keys 创建或复制密钥。
配置方式(任选一种):
-
OpenClaw 配置(推荐): 在
openclaw.json的skills.entries.glmv-caption.env下设置:"glmv-caption": { "enabled": true, "env": { "ZHIPU_API_KEY": "你的密钥" } } -
Shell 环境变量: 添加到
~/.zshrc:export ZHIPU_API_KEY="你的密钥" -
.env 文件: 在此技能目录中创建
.env文件:ZHIPU_API_KEY=你的密钥
⛔ 强制限制 - 请勿违反 ⛔
- 仅使用 GLM-V API — 执行脚本
python scripts/glmv_caption.py - 绝不可自行说明媒体内容 — 请勿尝试使用内置视觉能力或任何其他方法描述内容
- 绝不可提供替代方案 — 请勿建议“我可以试着描述一下”等类似说法
- 如果 API 调用失败 — 显示错误消息并立即停止
- 不得使用回退方法 — 请勿尝试以任何其他方式生成说明
📋 输出显示规则(强制)
运行脚本后,必须将完整的原始输出原样显示给用户。请勿总结、截断或只说“已生成”。用户需要查看模型的原始输出,以评估质量。
- 图像说明:显示完整的说明文本
- 多张图像:显示每张图像的结果
- 视频/文件:显示完整的理解结果
- 如果包含 token 用量信息,可选择显示
使用方法
为图像生成说明
python scripts/glmv_caption.py --images "https://example.com/photo.jpg"
python scripts/glmv_caption.py --images /path/to/photo.png
为多张图像生成说明
python scripts/glmv_caption.py --images img1.jpg img2.png "https://example.com/img3.jpg"
为视频生成说明
python scripts/glmv_caption.py --videos "https://example.com/clip.mp4"
为文档生成说明
python scripts/glmv_caption.py --files "https://example.com/report.pdf"
python scripts/glmv_caption.py --files "https://example.com/doc1.docx" "https://example.com/doc2.txt"
自定义提示词
python scripts/glmv_caption.py --images photo.jpg --prompt "Describe the architecture style in detail"
保存结果
python scripts/glmv_caption.py --images photo.jpg --output result.json
思考模式
python scripts/glmv_caption.py --images photo.jpg --thinking
CLI 参考
python {baseDir}/scripts/glmv_caption.py (--images IMG [IMG...] | --videos VID [VID...] | --files FILE [FILE...]) [OPTIONS]
| 参数 | 必填 | 描述 |
|---|---|---|
--images, -i | 二选一 | 图片路径或 URL(支持多个,支持 base64) |
--videos, -v | 二选一 | 视频路径或 URL(支持多个,mp4/mkv/mov) |
--files, -f | 二选一 | 文档路径或 URL(支持多个,pdf/docx/txt/xlsx/pptx/jsonl) |
--prompt, -p | 否 | 自定义提示词(默认值:"请详细描述这张图片的内容" / "Please describe this image in detail") |
--model, -m | 否 | 模型名称(默认值:glm-4.6v) |
--temperature, -t | 否 | 采样温度 0-1(默认值:0.8) |
--top-p | 否 | 核采样 0.01-1.0(默认值:0.6) |
--max-tokens | 否 | 最大输出 token 数(默认值:1024,最大值:32768) |
--thinking | 否 | 启用思考/推理模式 |
--output, -o | 否 | 将结果 JSON 保存到文件 |
--pretty | 否 | 美化打印 JSON 输出 |
--stream | 否 | 启用流式输出 |
注意: 受 API 限制,--images、--videos 和 --files 不能同时使用。
响应格式
{
"success": true,
"caption": "A landscape photo showing a mountain range at sunset...",
"usage": {
"prompt_tokens": 128,
"completion_tokens": 256,
"total_tokens": 384
}
}
关键字段:
success— 请求是否成功caption— 生成的说明文本usage— token 使用统计warning— 内容被安全审核拦截时出现error— 失败时的错误详情
错误处理
未配置 API 密钥:
ZHIPU_API_KEY not configured. Get your API key at: https://bigmodel.cn/usercenter/proj-mgmt/apikeys
→ 向用户显示确切错误,并指导其进行配置
身份验证失败(401/403): API 密钥无效/已过期 → 重新配置
速率限制(429): 配额已用尽 → 告知用户等待
未找到文件: 本地文件缺失 → 检查路径
内容已过滤: 存在 warning 字段 → 内容被安全审核拦截