SuperAPI AI 工具集

glm-image-generation

设计与创作

查看项目

更新于 10-16 08:55

技能介绍

GLM-Image Generation Skill 是一个基于智谱 GLM-Image API 的官方图片生成技能,用于根据文本提示词生成高质量图片。

用途与使用场景 该技能适用于从文字描述生成图片,创作 AI 艺术、插画或概念图,以及把用户提供的提示词可视化的场景。当用户提到“生图”“文生图”“AI 绘画”“generate image”“text-to-image”“create image”,或提供描述并希望看到可视化效果时,可使用本技能。

主要能力

  • 高质量生成:HD 模式可生成更细致、更精致的图片,耗时约 20 秒。
  • 多种画幅比例:支持正方形、竖版、横版格式。
  • GLM-Image 模型:官方描述为具有改进的理解与质量的最新模型。
  • 擅长领域:科普插画、高质量人像、社交媒体图文、商业海报。
  • 水印控制:可启用或关闭水印,关闭水印需签署免责声明。
  • 内容安全:内置内容过滤以保障合规。

前置条件与 API Key 配置 脚本通过 ZHIPU_API_KEY 环境变量获取密钥,可与其他智谱技能复用同一个 key。获取 Key 需访问智谱开放平台 API Keys 创建或复制。配置方式任选一种:

  1. 全局配置(推荐):在 openclaw.json 的 env.vars 中设置一次,所有智谱技能共享: { "env": { "vars": { "ZHIPU_API_KEY": "你的密钥" } } }
  2. Skill 级别配置:仅在 openclaw.json 中为该技能设置: { "skills": { "entries": { "glm-image-generation": { "env": { "ZHIPU_API_KEY": "你的密钥" } } } } }
  3. Shell 环境变量:添加到 ~/.zshrc: export ZHIPU_API_KEY="你的密钥" 如果已为其他智谱 skill(如 glmocr、glmv-caption)配置过 key,它们共享同一个 ZHIPU_API_KEY,无需重复配置。

安全与透明度

  • 使用的环境变量:ZHIPU_API_KEY(必需)。
  • 固定官方端点:https://open.bigmodel.cn/api/paas/v4/images/generations。
  • 不支持自定义 API URL 覆盖,以避免通过重定向端点意外泄露密钥。 强制限制:仅使用 GLM-Image API,执行脚本 python scripts/glm_image_cli.py;不得自行生成图片或使用内置视觉等其它方法;不得提供替代方案;若 API 失败应立即显示错误并停止;不得使用任何回退方法。

输出展示规则 运行脚本后应清晰呈现生成结果:展示生成的图片 URL(图片为临时链接,30 天有效,提醒用户保存);展示所用提示词与生成参数(尺寸、质量);若 content_filter 指示存在问题,显示警告级别。API 返回临时图片 URL(30 天有效),可在支持图片的聊天中展示,并提醒用户“图片链接有效期 30 天,请及时下载保存”。若用户希望将图片发送到飞书聊天,可使用 message 工具配合图片 URL。

使用方法 从提示词生成: python scripts/glm_image_cli.py --prompt "一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云" 指定尺寸: 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、data(含 url)、content_filter(含 role 与 level)。 CLI 输出格式为 JSON,关键字段包括:ok(生成是否成功)、model(所用模型)、image_url(从 data[0].url 提取,临时 URL,30 天有效)、prompt(所用文本提示词)、size(生成图片尺寸)、quality(hd 或 standard)、created(请求创建的 Unix 时间戳)、content_filter(内容安全分析数组,可能为空,role 表示问题检测位置 user/assistant/history,level 表示严重程度 0-3,0 为最严重,3 为轻微)、saved_file(若使用 --save 则为保存到本地的绝对路径)、error(失败时的错误详情)。

内容安全 API 包含内容过滤。若检测到问题,content_filter 将包含相应条目。若检测到 level 0-1:生成将失败,向用户显示错误;若检测到 level 2-3:生成可能成功,但需向用户警告潜在问题。

错误处理

  • API key 未配置:返回 MISSING_API_KEY,提示在 https://bigmodel.cn/usercenter/proj-mgmt/apikeys 获取密钥。应向用户显示确切错误并引导配置。
  • 认证失败(401/403):令牌已过期或验证不正确,API key 无效或过期,需重新配置。
  • 限流(429):rate_limit_exceeded,配额耗尽,提示用户等待或检查配额。
  • 内容过滤违规:content_filter_violation,状态 400,说明提示词可能包含不当内容。
  • 尺寸无效:INVALID_SIZE,提示需为 32 的整数倍、1024-2048px、最大 2^22 像素,引导使用受支持列表中的有效尺寸。
  • 下载失败:DOWNLOAD_FAILED,检查文件路径权限与磁盘空间。
  • 网络错误:NETWORK_ERROR,检查网络连接。

提示词技巧 好的提示词:具体细节,如“一只橘色的英国短毛猫,绿色眼睛,坐在木质窗台上”;风格关键词,如“赛博朋克风格”“中国水墨画”“油画质感”“3D 渲染”;光照,如“阳光明媚”“柔和的逆光”“电影感灯光”;构图,如“特写镜头”“广角视角”“俯视角度”。 应避免:模糊描述,如“好看的图片”;相互矛盾的元素,如“白天和夜晚同时”;过多主体,保持聚焦于 1-2 个主要元素。