← 返回 Skills 市场
patches429

Giggle Generation Image

作者 Parker · GitHub ↗ · v0.0.10 · MIT-0
cross-platform ✓ 安全检测通过
416
总下载
0
收藏
1
当前安装
10
版本数
在 OpenClaw 中安装
/install giggle-generation-image
功能描述
Supports text-to-image and image-to-image. Use when the user needs to create or generate images. Use cases: (1) Generate from text description, (2) Use refer...
使用说明 (SKILL.md)

简体中文 | English

Giggle Image Generation (Multi-Model)

Source: giggle-official/skills · API: giggle.pro

Generates AI images via giggle.pro's Generation API. Supports multiple models (Seedream, Midjourney, Nano Banana). Submit task → query when ready. No polling or Cron.

API Key: Set system environment variable GIGGLE_API_KEY. The script will prompt if not configured.

No inline Python: All commands must be executed via the exec tool. Never use python3 \x3C\x3C 'EOF' or heredoc inline code.

No Retry on Error: If script execution encounters an error, do not retry. Report the error to the user directly and stop.

Supported Models

Model Description
seedream45 Seedream, realistic and creative
midjourney Midjourney style
nano-banana-2 Nano Banana 2
nano-banana-2-fast Nano Banana 2 fast

Execution Flow: Submit and Query

Image generation is asynchronous (typically 30–120 seconds). Submit a task to get task_id, then query when the user wants to check status.

Important: Never pass GIGGLE_API_KEY in exec's env parameter. API Key is read from system environment variable.


Step 1: Submit Task

# Text-to-image (default seedream45)
python3 scripts/generation_api.py \
  --prompt "description" --aspect-ratio 16:9 \
  --model seedream45 --resolution 2K \
  --no-wait --json

# Text-to-image - Midjourney
python3 scripts/generation_api.py \
  --prompt "description" --model midjourney \
  --aspect-ratio 16:9 --resolution 2K \
  --no-wait --json

# Image-to-image - Reference URL
python3 scripts/generation_api.py \
  --prompt "Convert to oil painting style, keep composition" \
  --reference-images "https://example.com/photo.jpg" \
  --model nano-banana-2-fast \
  --no-wait --json

# Batch generate multiple images
python3 scripts/generation_api.py \
  --prompt "description" --generate-count 4 \
  --no-wait --json

Response example:

{"status": "started", "task_id": "xxx"}

Store task_id in memory (addMemory):

giggle-generation-image task_id: xxx (submitted: YYYY-MM-DD HH:mm)

Tell the user: "Image generation started. It usually takes 30–120 seconds. You can ask me 'is it ready?' to check the status."


Step 2: Query Task (when user asks for status)

python3 scripts/generation_api.py --query --task-id \x3Ctask_id>

Behavior:

  • completed: Output image links for user
  • failed/error: Output error message
  • processing/pending: Output JSON {"status": "...", "task_id": "xxx"}; user can query again later

New Request vs Query Old Task

When the user initiates a new image generation request, run submit to create a new task. Do not reuse old task_id from memory.

When the user asks about a previous task's progress (e.g. "is it ready?", "check status"), query the task_id from memory.


Parameter Reference

Parameter Default Description
--prompt required Image description prompt
--model seedream45 seedream45, midjourney, nano-banana-2, nano-banana-2-fast
--aspect-ratio 16:9 16:9, 9:16, 1:1, 3:4, 4:3, 2:3, 3:2, 21:9
--resolution 2K Text-to-image: 1K, 2K, 4K (image-to-image partially supported)
--generate-count 1 Number of images to generate
--reference-images - Image-to-image reference; supports URL, base64, asset_id
--watermark false Add watermark (image-to-image)

Image-to-Image Reference: Three Input Methods

The image-to-image API's reference_images is an array of objects. Each element can be one of these three formats (can be mixed):

Method 1: URL

{
  "prompt": "A cute orange cat sitting on the windowsill in the sun, realistic style",
  "reference_images": [
    {
      "url": "https://assets.giggle.pro/private/example/image.jpg?Policy=EXAMPLE_POLICY&Key-Pair-Id=EXAMPLE_KEY_PAIR_ID&Signature=EXAMPLE_SIGNATURE"
    }
  ],
  "generate_count": 1,
  "model": "nano-banana-2-fast",
  "aspect_ratio": "16:9",
  "watermark": false
}

Method 2: Base64

{
  "prompt": "A cute orange cat sitting on the windowsill in the sun, realistic style",
  "reference_images": [
    {
      "base64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
    }
  ],
  "generate_count": 1,
  "model": "nano-banana-2-fast",
  "aspect_ratio": "16:9",
  "watermark": false
}

Base64 format: Pass the raw Base64 string directly. Do not add the data:image/xxx;base64, prefix.

Method 3: asset_id

{
  "prompt": "A cute orange cat sitting on the windowsill in the sun, realistic style",
  "reference_images": [
    {
      "asset_id": "vvsdsfsdf"
    }
  ],
  "generate_count": 1,
  "model": "nano-banana-2-fast",
  "aspect_ratio": "16:9",
  "watermark": false
}

For multiple reference images, add more objects to the reference_images array.


Interaction Guide

When the user request is vague, guide per the steps below. If the user has provided enough info, run the command directly.

Step 1: Model Selection

Question: "Which model would you like to use?"
Title: "Image Model"
Options:
- "seedream45 - Realistic & creative (recommended)"
- "midjourney - Artistic style"
- "nano-banana-2 - High quality"
- "nano-banana-2-fast - Fast generation"
multiSelect: false

Step 2: Aspect Ratio

Question: "What aspect ratio do you need?"
Title: "Aspect Ratio"
Options:
- "16:9 - Landscape (wallpaper/cover) (recommended)"
- "9:16 - Portrait (mobile)"
- "1:1 - Square"
- "Other ratios"
multiSelect: false

Step 3: Generation Mode

Question: "Do you need reference images?"
Title: "Generation Mode"
Options:
- "No - Text-to-image only"
- "Yes - Image-to-image (style transfer)"
multiSelect: false

Step 4: Execute and Display

Submit task → store task_id → inform user. When user asks for status, run query and forward stdout to user.

Link return rule: Image links in results must be full signed URLs (with Policy, Key-Pair-Id, Signature query params). Correct: https://assets.giggle.pro/...?Policy=...&Key-Pair-Id=...&Signature=.... Wrong: do not return unsigned URLs with only the base path (no query params).

安全使用建议
This skill is internally consistent with an image-generation client for giggle.pro. Before installing, verify you trust giggle.pro and that the GIGGLE_API_KEY you supply is safe to use (consider using a non-critical/test key first). The agent will run the included Python script (so the agent runtime will spawn processes and make network calls to giggle.pro and asset URLs) and may save downloaded images to your filesystem (default ~/Downloads) if asked. Note the SKILL.md claims the script will prompt for a missing API key, but the shipped script actually errors out and exits; ensure your environment provides GIGGLE_API_KEY. If you need stronger assurance, review the included scripts/generation_api.py yourself or run it locally with a limited-scope key before granting the skill access.
功能分析
Type: OpenClaw Skill Name: giggle-generation-image Version: 0.0.10 The skill bundle provides a legitimate integration for AI image generation via the giggle.pro API. The Python script `scripts/generation_api.py` is a well-structured wrapper that handles text-to-image and image-to-image requests using the `requests` library. The instructions in `SKILL.md` are task-aligned and include security-conscious guidance, such as advising the agent against using inline code execution (heredocs) and preventing API key leakage by reading from environment variables rather than command-line arguments. No indicators of data exfiltration, malicious persistence, or harmful prompt injection were found.
能力评估
Purpose & Capability
Name/description (text-to-image / image-to-image) match the included Python client and the single required secret (GIGGLE_API_KEY). Required binary (python3) and dependency (requests) are proportionate. Minor inconsistency: SKILL.md says "the script will prompt if not configured", but the included script prints an error and exits rather than prompting interactively.
Instruction Scope
SKILL.md limits the agent to invoking the included script via exec and to storing the returned task_id in memory — both are within the skill's purpose. The instructions explicitly forbid embedding the API key in exec's env parameter and instruct not to retry on script errors. Note: the skill will forward signed image URLs to the user and optionally download images to a local path (default ~/Downloads) if the --download flag is used; storing task_id in memory is expected but you should be aware this persists only in agent memory.
Install Mechanism
No install spec (instruction-only) and no external downloads. The only packaged file is a small Python script and a requirements.txt pin for requests; that's low-risk and proportionate for this functionality.
Credentials
Only GIGGLE_API_KEY is required (declared as primaryEnv). No unrelated secrets or config paths are requested. The script reads the API key from the process environment, which is appropriate for an API client. SKILL.md's guidance to not pass the key in exec's env param is an agent-level instruction (not a technical requirement) — the agent must ensure the runtime process has access to the env var without embedding the value in logs or external calls.
Persistence & Privilege
always is false and the skill does not request system-wide persistence or modify other skills. The only persistent behaviour is storing task_id in the agent memory (expected for asynchronous tasks).
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install giggle-generation-image
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /giggle-generation-image 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.0.10
- Updated author and homepage fields to giggle-official/skills. - Added new rule: If script execution encounters an error, do not retry; report the error to the user and stop. - Clarified that image reference URLs in documentation examples should be fully signed (with Policy, Key-Pair-Id, Signature). - Version bump to 0.0.10.
v0.0.9
- Added author and homepage fields to metadata for clearer attribution and project source. - Clarified documentation to reference the official GitHub repo and giggle.pro as the API source. - Minor formatting and organizational improvements in SKILL.md for better readability. - No changes to behavior, parameters, or workflow.
v0.0.8
- Streamlined and simplified the skill's execution flow: removed internal Cron polling logic, now supports straightforward "submit task" and "query task" steps. - Updated documentation to reflect removal of `.env` loading and `python-dotenv` dependency; now requires only system environment variable `GIGGLE_API_KEY` and the `requests` Python package. - Instructions for usage, new task submission, and status checking are clearer and less complex. - Internal behaviors and requirements updated for improved installation and easier environment setup. - Added step-by-step user interaction guides for model selection, aspect ratio, and generation mode.
v0.0.7
**v0.0.7** - Added a review checklist section highlighting file access, Cron registration, and stdout forwarding for transparency and security awareness. - Clarified and relocated requirements for installation: binaries, environment variable, and pip packages. - Explicitly documented that raw script output (image links, status) is sent directly to the user. - No changes to functional parameters or behavior; documentation and manifest improved for clarity and user understanding.
v0.0.6
giggle-generation-image 0.0.6 - Added runtime behaviors and security review details (reads/writes paths, Cron registration) in SKILL.md. - Added required pip dependencies (requests, python-dotenv) in metadata. - Documented logs directory for task state and Cron deduplication. - Improved clarity on API key loading and security requirements. - No functional changes to execution flow; documentation and metadata only.
v0.0.5
**giggle-generation-image v0.0.5** - Added Simplified Chinese documentation file (`SKILL.zh-CN.md`) for multi-language support. - SKILL.md rewritten and improved in English, with a link to the Chinese version. - Documentation and examples are now available in both English and Chinese, improving accessibility for more users. - No changes to skill logic or API, only documentation updates.
v0.0.4
- Updated trigger keywords in the skill description, removing "midjourney", "seedream", "nano-banana" and adding "AI 艺术图". - No changes to functionality or implementation; documentation and metadata only.
v0.0.3
- 移除了 SKILL.md 文件中关于具体使用的 Generation API 及相关模型说明。 - 精简了 description,仅保留主要功能和触发词,去除了模型与 API 细节。 - 其余执行流程、参数速查、交互引导等文档内容保持不变。 - 版本号未变(仍为 0.0.2)。
v0.0.2
giggle-generation-image v0.0.2 - 支持图生图参考图通过三种方式传入:URL、Base64、asset_id(详细用法新增在 SKILL.md) - SKILL.md 更新:参数说明和参考图三种传参格式说明更完善 - 其他说明文档内容修正和细节优化(如部分参数描述补充) - 核心接口和流程未变,保持与 v0.0.1 兼容
v0.0.1
Initial release of giggle-generation-image - Generate AI images using multiple models (Seedream, Midjourney, Nano Banana) via the Generation API. - Supports both text-to-image and image-to-image creation with options for model, aspect ratio, and resolution. - Job submission is non-blocking with asynchronous cron polling and fallback synchronous handling. - Interactive prompting guides users through model, aspect ratio, and generation mode selection. - Ensures secure API key handling and strict output requirements for image URLs.
元数据
Slug giggle-generation-image
版本 0.0.10
许可证 MIT-0
累计安装 1
当前安装数 1
历史版本数 10
常见问题

Giggle Generation Image 是什么?

Supports text-to-image and image-to-image. Use when the user needs to create or generate images. Use cases: (1) Generate from text description, (2) Use refer... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 416 次。

如何安装 Giggle Generation Image?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install giggle-generation-image」即可一键安装,无需额外配置。

Giggle Generation Image 是免费的吗?

是的,Giggle Generation Image 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Giggle Generation Image 支持哪些平台?

Giggle Generation Image 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Giggle Generation Image?

由 Parker(@patches429)开发并维护,当前版本 v0.0.10。

💬 留言讨论