SuperAPI AI Directory

glm-image-gen

Design & creation

View repository

Updated 10-16 06:51

About this skill

GLM-Image Generation Skill / GLM-Image Image Generation Skill

Generate high-quality images from text prompts using the ZhiPu GLM-Image API.

When to Use / When to Use

  • Generate images from text descriptions / Generate images from text descriptions
  • Create AI art, illustrations, or concept art / Create AI art, illustrations, or concept art
  • User mentions 生图 (generate images), 文生图 (text-to-image), AI 绘画 (AI drawing), generate image, text-to-image, or create image.
  • User provides a prompt and wants to see it visualized / User provides a prompt and wants to see it visualized

Key Features / Key Features

  • High-quality generation: HD mode produces more detailed, refined images (~20s)
  • Multiple aspect ratios: Square, portrait, landscape formats supported
  • GLM-Image model: Latest model with improved understanding and quality
  • Excellent at: Scientific illustrations (Chinese label: 科普插画), high-quality portraits (高质量人像), social media graphics (社交媒体图文), commercial posters (商业海报)
  • Watermark control: Enable/disable watermarks (requires signed disclaimer for no-watermark)
  • Content safety: Built-in content filtering for compliance

Resource Links / Resource Links

Resource Link
Get API Key Zhipu Open Platform API Keys
API Docs Image Generation / Image Generation
Model Docs GLM-Image Model Documentation

Prerequisites / Prerequisites

API Key Setup / API Key Setup (Required / Required)

The script reads the key from the ZHIPU_API_KEY environment variable, and it can be shared with other Zhipu skills. This script reads the key from the ZHIPU_API_KEY environment variable. Reusing the same key across Zhipu skills is optional.

Get Key / Get Key: Visit Zhipu Open Platform API Keys to create or copy your key.

Setup options / Setup options (choose one):

  1. Global config (recommended) / Global config (recommended): Set once in openclaw.json under env.vars, all Zhipu skills will share it:

    {
      "env": {
        "vars": {
          "ZHIPU_API_KEY": "你的密钥"
        }
      }
    }
    
  2. Skill-level config / Skill-level config: Set for this skill only in openclaw.json:

    {
      "skills": {
        "entries": {
          "glm-image-generation": {
            "env": {
              "ZHIPU_API_KEY": "你的密钥"
            }
          }
        }
      }
    }
    
  3. Shell environment variable / Shell environment variable: Add to ~/.zshrc:

     export ZHIPU_API_KEY="你的密钥"
    
    

💡 If you have already configured a key for other Zhipu skills (such as glmocr、glmv-caption), they share the same ZHIPU_API_KEY, so there is no need to configure it again.

Security & Transparency / Security & Transparency

  • Environment variables used / Environment variables used:
    • ZHIPU_API_KEY (required / required)
  • Fixed official endpoint / Fixed official endpoint: https://open.bigmodel.cn/api/paas/v4/images/generations
  • No custom API URL override / No custom API URL override: avoids accidental key exfiltration via redirected endpoints.

⛔ MANDATORY RESTRICTIONS / MANDATORY RESTRICTIONS ⛔

  1. ONLY use GLM-Image API — Execute the script python scripts/glm_image_cli.py
  2. NEVER generate images yourself — Do NOT try to create images using built-in vision or any other method
  3. NEVER offer alternatives — Do NOT suggest "I can try to describe it" or similar
  4. IF API fails — Display the error message and STOP immediately
  5. NO fallback methods — Do NOT attempt image generation any other way

📋 Output Display Rules / Output Display Rules

After running the script, present the generation result clearly.

  • Show the generated image URL(s) — images are temporary (30 days), remind user to save
  • Display the prompt used and generation parameters (size, quality)
  • If content_filter indicates issues, show the warning level

⚠️ Image Display / Image Display Note:

The API returns a temporary image URL (valid for 30 days). You should:

  1. Show the image — Use the URL to display the image in the chat (if platform supports it)
  2. Remind user to save — "Image links are valid for 30 days, please download and save them promptly"
  3. Offer to send to Feishu — If user wants the image sent to a Feishu chat, use the message tool with the image URL

How to Use / How to Use

Generate from Prompt / Generate from Prompt

python scripts/glm_image_cli.py --prompt "一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云"

Specify Size / Specify Size

python scripts/glm_image_cli.py --prompt "赛博朋克风格的城市夜景" --size 1568x1056

HD Quality (default for glm-image) / HD Quality (default for glm-image)

python scripts/glm_image_cli.py --prompt "中国山水画风格,远山近水,云雾缭绕" --quality hd

Disable Watermark (requires signed disclaimer) / Disable Watermark (requires signed disclaimer)

python scripts/glm_image_cli.py --prompt "商业设计素材" --no-watermark

Save Image to Local File / Save Image to Local File

python scripts/glm_image_cli.py --prompt "中国水墨画风格" --save image.png
python scripts/glm_image_cli.py --prompt "赛博朋克城市" --size 1728x960 --save ~/Pictures/cyberpunk.png

Specify User ID (for content moderation) / Specify User ID (for content moderation)

python scripts/glm_image_cli.py --prompt "..." --user-id "user_12345"

Specify Model / Specify Model

python scripts/glm_image_cli.py --prompt "..." --model glm-image
python scripts/glm_image_cli.py --prompt "..." --model cogview-4

CLI Reference / CLI Reference

python {baseDir}/scripts/glm_image_cli.py --prompt TEXT [--model MODEL] [--size SIZE] [--quality QUALITY] [--no-watermark] [--user-id ID] [--save FILE]
Parameter Required Description
--prompt, -p Yes Text description of the desired image / Text description of the desired image
--model, -m No Model: glm-image (default), cogview-4, cogview-3-flash / Model
--size, -s No Image size (default: 1280x1280) / Image size
--quality, -q No Quality: hd (default) or standard / Quality
--no-watermark No Disable watermark (requires signed disclaimer) / Disable watermark
--user-id No End-user ID for content moderation (6-128 chars) / End-user ID
--save No Save generated image to local file / Save the generated image to a local file

Supported Sizes / Supported sizes

GLM-Image recommended sizes:

Size Aspect Ratio Use Case
1280x1280 1:1 Square (default)
1568×1056 3:2 Landscape / Horizontal
1056×1568 2:3 Portrait / Vertical
1472×1088 ~4:3 Wide landscape
1088×1472 ~3:4 Tall portrait
1728×960 16:9 Ultra-wide landscape
960×1728 9:16 Ultra-tall portrait

Custom sizes / Custom sizes:

  • Width and height: 1024px - 2048px
  • Both dimensions must be multiples of 32 / Both length and width must be multiples of 32
  • Maximum total pixels: 2^22 (4,194,304 px) / Maximum total pixels must not exceed 2^22

Response Format / Response format

Official API Response:

{
  "created": 123,
  "data": [
    {
      "url": "<string>"
    }
  ],
  "content_filter": [
    {
      "role": "assistant",
      "level": 1
    }
  ]
}

CLI Output Format:

{
  "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
}

Key fields:

  • ok — whether generation succeeded
  • model — model used for generation
  • image_url — extracted from data[0].url, temporary URL (valid 30 days)
  • prompt — the text prompt used
  • size — generated image dimensions
  • quality — hd or standard
  • created — Unix timestamp when request was created
  • content_filter — content safety analysis array (may be empty)
    • role: where the issue was detected (user/assistant/history)
    • level: severity 0-3 (0 = most severe, 3 = minor)
  • saved_file — absolute path to saved local file (if --save was used)
  • error — error details on failure

Content Safety / Content safety

The API includes content filtering. If issues are detected, content_filter will contain entries with:

  • role: where the issue was detected (user/assistant/history)
  • level: severity 0-3 (0 = most severe, 3 = minor)

If level 0-1 detected: Generation will fail, show error to user. If level 2-3 detected: Generation may succeed, but warn user about potential issues.

Error Handling / Error Handling

API key not configured:

{
  "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"
  }
}

→ Show exact error to user, guide them to configure

Authentication failed (401/403):

{
  "ok": false,
  "error": {
    "code": "authentication_error",
    "message": "令牌已过期或验证不正确",
    "status": 401
  }
}

→ API key invalid/expired → reconfigure

Rate limit (429):

{
  "ok": false,
  "error": {
    "code": "rate_limit_exceeded",
    "message": "API rate limit exceeded. Please try again later.",
    "status": 429
  }
}

→ Quota exhausted → inform user to wait or check quota

Content filter violation:

{
  "ok": false,
  "error": {
    "code": "content_filter_violation",
    "message": "Content safety check failed",
    "status": 400
  }
}

→ Explain that the prompt may contain inappropriate content

Invalid size:

{
  "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"
  }
}

→ Guide user to use valid size from the supported list

Download failed:

{
  "ok": false,
  "error": {
    "code": "DOWNLOAD_FAILED",
    "message": "Failed to download image to image.png"
  }
}

→ Check file path permissions and disk space

Network error:

{
  "ok": false,
  "error": {
    "code": "NETWORK_ERROR",
    "message": "Network error: [Errno 8] nodename nor servname provided, or not known"
  }
}

→ Check internet connection

Prompt Tips / Prompt tips

Good prompts:

  • Specific detail: 一只橘色的英国短毛猫,绿色眼睛,坐在木质窗台上 (an orange British Shorthair cat with green eyes sitting on a wooden windowsill).
  • Style keywords: 赛博朋克风格 (cyberpunk style), 中国水墨画 (Chinese ink painting), 油画质感 (oil-painting texture), and 3D 渲染 (3D rendering).
  • Lighting: 阳光明媚 (bright sunshine), 柔和的逆光 (soft backlighting), and 电影感灯光 (cinematic lighting).
  • Composition: 特写镜头 (close-up), 广角视角 (wide-angle view), and 俯视角度 (overhead angle).

Avoid:

  • Vague description: 好看的图片 (a nice-looking image).
  • Contradictory elements: 白天和夜晚同时 (day and night at the same time).
  • Too many subjects: Keep focus on 1-2 main elements