关于 glm-image-gen
glm-image-gen 是一款技能,通过智谱 GLM-Image API 根据提示词生成图片。它可设置模型、尺寸、质量和水印选项,也支持将生成的图片保存到本地。
主要功能
- 01根据提示词生成图片
- 02可选模型和图片尺寸
- 03支持高清或标准质量
- 04控制水印选项
- 05将生成结果保存到本地
- 06内容过滤
适用场景
- 01根据文字描述制作插画
- 02生成概念图或人像
- 03按指定宽高比生成图片
- 04保存生成图片以供后续使用
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ zai-org/ glm-skills --skill glm-image-gen安装后在 Claude Code 中输入/glm-image-gen确认已加载。
附带文件scripts/glm_image_cli.py
详细介绍
GLM-Image Generation Skill / GLM-Image 图片生成技能
使用智谱 GLM-Image API,根据文本提示词生成高质量图片。
When to Use / 使用场景
- 根据文字描述生成图片
- 创作 AI 艺术、插画或概念图
- 用户提到“生图”“文生图”“AI 绘画”“generate image”“text-to-image”或“create image”
- 用户提供提示词并想看到可视化效果
Key Features / 核心特性
- 高质量生成:HD 模式可生成更精细、更完善的图片(约 20 秒)
- 多种宽高比:支持正方形、竖版和横版格式
- GLM-Image 模型:最新模型,理解能力和质量均有提升
- 擅长生成:科普插画、高质量人像、社交媒体图文、商业海报
- 水印控制:可启用或禁用水印(无水印需要签署免责声明)
- 内容安全:内置内容过滤,确保合规
Resource Links / 资源链接
| 资源 | 链接 |
|---|---|
| 获取 API Key | 智谱开放平台 API Keys |
| API 文档 | 图像生成 |
| 模型文档 | GLM-Image 模型文档 |
Prerequisites / 前置条件
API Key Setup / API Key 配置(Required / 必需)
脚本通过 ZHIPU_API_KEY 环境变量获取密钥,可与其他智谱技能复用同一个 key。
此脚本从 ZHIPU_API_KEY 环境变量读取密钥。是否在智谱技能间复用同一个 key,由你自行决定。
获取 Key: 访问 智谱开放平台 API Keys 创建或复制密钥。
配置方式(任选一种):
-
全局配置(推荐): 在
openclaw.json的env.vars下设置一次,所有智谱技能均可共用:{ "env": { "vars": { "ZHIPU_API_KEY": "你的密钥" } } } -
技能级配置: 在
openclaw.json中仅为此技能设置:{ "skills": { "entries": { "glm-image-generation": { "env": { "ZHIPU_API_KEY": "你的密钥" } } } } } -
Shell 环境变量: 添加到
~/.zshrc:export ZHIPU_API_KEY="你的密钥"
💡 如果你已为其他智谱技能(如
glmocr、glmv-caption)配置过 key,它们共享同一个ZHIPU_API_KEY,无需重复配置。
Security & Transparency / 安全与透明度
- 使用的环境变量:
ZHIPU_API_KEY(必需)
- 固定官方端点:
https://open.bigmodel.cn/api/paas/v4/images/generations - 不支持自定义 API URL 覆盖: 避免密钥因端点重定向而意外泄露。
⛔ 强制限制 ⛔
- 仅使用 GLM-Image API — 执行脚本
python scripts/glm_image_cli.py - 绝不自行生成图片 — 不要尝试使用内置视觉能力或任何其他方法创建图片
- 绝不提供替代方案 — 不要建议“我可以试着描述一下”或类似内容
- 如果 API 调用失败 — 显示错误消息并立即停止
- 不使用回退方法 — 不要尝试用其他方式生成图片
📋 Output Display Rules / 输出展示规则
运行脚本后,清晰呈现生成结果。
- 显示生成的图片 URL(图片为临时链接,有效期 30 天),并提醒用户保存
- 显示使用的提示词和生成参数(尺寸、质量)
- 如果
content_filter指示存在问题,显示警告级别
⚠️ Image Display / 图片展示注意:
API 返回的是临时图片 URL(有效期为 30 天)。你应该:
- 显示图片 — 如果平台支持,使用 URL 在聊天中显示图片
- 提醒用户保存 — “图片链接有效期 30 天,请及时下载保存”
- 提供发送到飞书的选项 — 如果用户希望将图片发送到飞书聊天,使用消息工具和图片 URL
How to Use / 使用方法
Generate from Prompt / 从提示词生成
python scripts/glm_image_cli.py --prompt "一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云"
Specify Size / 指定尺寸
python scripts/glm_image_cli.py --prompt "赛博朋克风格的城市夜景" --size 1568x1056
高清质量(glm-image 默认)
python scripts/glm_image_cli.py --prompt "中国山水画风格,远山近水,云雾缭绕" --quality hd
关闭水印(需签署免责声明)
python scripts/glm_image_cli.py --prompt "商业设计素材" --no-watermark
将图片保存到本地
python scripts/glm_image_cli.py --prompt "中国水墨画风格" --save image.png
python scripts/glm_image_cli.py --prompt "赛博朋克城市" --size 1728x960 --save ~/Pictures/cyberpunk.png
指定用户 ID(用于内容审核)
python scripts/glm_image_cli.py --prompt "..." --user-id "user_12345"
指定模型
python scripts/glm_image_cli.py --prompt "..." --model glm-image
python scripts/glm_image_cli.py --prompt "..." --model cogview-4
CLI 参数
python {baseDir}/scripts/glm_image_cli.py --prompt TEXT [--model MODEL] [--size SIZE] [--quality QUALITY] [--no-watermark] [--user-id ID] [--save FILE]
| 参数 | 必填 | 描述 |
|---|---|---|
--prompt, -p | 是 | 所需图片的文本描述 |
--model, -m | 否 | 模型:glm-image(默认)、cogview-4、cogview-3-flash |
--size, -s | 否 | 图片尺寸(默认:1280x1280) |
--quality, -q | 否 | 质量:hd(默认)或 standard |
--no-watermark | 否 | 关闭水印(需签署免责声明) |
--user-id | 否 | 终端用户 ID,用于内容审核(6-128 个字符) |
--save | 否 | 将生成的图片保存到本地文件 |
支持的尺寸
GLM-Image 推荐尺寸:
| 尺寸 | 宽高比 | 用途 |
|---|---|---|
| 1280x1280 | 1:1 | 正方形(默认) |
| 1568×1056 | 3:2 | 横向 |
| 1056×1568 | 2:3 | 纵向 |
| 1472×1088 | ~4:3 | 宽幅横向 |
| 1088×1472 | ~3:4 | 高幅纵向 |
| 1728×960 | 16:9 | 超宽幅横向 |
| 960×1728 | 9:16 | 超高幅纵向 |
自定义尺寸:
- 宽度和高度:1024px - 2048px
- 宽度和高度均需为 32 的整数倍
- 总像素数上限:2^22(4,194,304 px)
响应格式
官方 API 响应:
{
"created": 123,
"data": [
{
"url": "<string>"
}
],
"content_filter": [
{
"role": "assistant",
"level": 1
}
]
}
CLI 输出格式:
{
"ok": true,
"model": "glm-image",
"image_url": "https://open.bigmodel.cn/.../generated_image.png",
"prompt": "一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云",
"size": "1280x1280",
"quality": "hd",
"created": 1710835200,
"content_filter": [
{
"role": "assistant",
"level": 3
}
],
"saved_file": "/Users/xxx/image.png",
"error": null
}
关键字段:
ok— 生成是否成功model— 生成所用的模型image_url— 从data[0].url提取的临时 URL(有效期为 30 天)prompt— 使用的文本提示词size— 生成图片的尺寸quality— hd 或 standardcreated— 请求创建时间的 Unix 时间戳content_filter— 内容安全分析数组(可能为空)role:检测到问题的位置(user/assistant/history)level:严重程度 0-3(0 = 最严重,3 = 轻微)
saved_file— 保存到本地文件的绝对路径(如果使用了--save)error— 失败时的错误详情
内容安全
API 包含内容过滤功能。如果检测到问题,content_filter 将包含以下条目:
role:检测到问题的位置(user/assistant/history)level:严重程度 0-3(0 = 最严重,3 = 轻微)
**如果检测到 level 0-1:**生成将失败,并向用户显示错误。 **如果检测到 level 2-3:**生成可能成功,但会提醒用户注意潜在问题。
错误处理
未配置 API key:
{
"ok": false,
"error": {
"code": "MISSING_API_KEY",
"message": "ZHIPU_API_KEY not configured. Get your API key at: https://bigmodel.cn/usercenter/proj-mgmt/apikeys"
}
}
→ 向用户显示确切的错误信息,并指导其进行配置
身份验证失败(401/403):
{
"ok": false,
"error": {
"code": "authentication_error",
"message": "令牌已过期或验证不正确",
"status": 401
}
}
→ API key 无效或已过期 → 重新配置
速率限制(429):
{
"ok": false,
"error": {
"code": "rate_limit_exceeded",
"message": "API rate limit exceeded. Please try again later.",
"status": 429
}
}
→ 配额已用尽 → 告知用户等待或检查配额
违反内容过滤规则:
{
"ok": false,
"error": {
"code": "content_filter_violation",
"message": "Content safety check failed",
"status": 400
}
}
→ 说明提示词可能包含不当内容
尺寸无效:
{
"ok": false,
"error": {
"code": "INVALID_SIZE",
"message": "Invalid size: 512x512 for model glm-image. Must be multiple of 32, 1024-2048px, max 2^22 pixels"
}
}
→ 指导用户使用支持列表中的有效尺寸
下载失败:
{
"ok": false,
"error": {
"code": "DOWNLOAD_FAILED",
"message": "Failed to download image to image.png"
}
}
→ 检查文件路径权限和磁盘空间
网络错误:
{
"ok": false,
"error": {
"code": "NETWORK_ERROR",
"message": "Network error: [Errno 8] nodename nor servname provided, or not known"
}
}
→ 检查互联网连接
Prompt Tips / 提示词技巧
Good prompts:
- Specific details: "一只橘色的英国短毛猫,绿色眼睛,坐在木质窗台上"
- Style keywords: "赛博朋克风格", "中国水墨画", "油画质感", "3D 渲染"
- Lighting: "阳光明媚", "柔和的逆光", "电影感灯光"
- Composition: "特写镜头", "广角视角", "俯视角度"
Avoid:
- Vague descriptions: "好看的图片"
- Contradictory elements: "白天和夜晚同时"
- Too many subjects: Keep focus on 1-2 main elements