← Back to Skills Marketplace
patches429

Giggle Generation Image

by Parker · GitHub ↗ · v0.0.10 · MIT-0
cross-platform ✓ Security Clean
416
Downloads
0
Stars
1
Active Installs
10
Versions
Install in OpenClaw
/install giggle-generation-image
Description
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...
README (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).

Usage Guidance
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.
Capability Analysis
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.
Capability Assessment
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).
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install giggle-generation-image
  3. After installation, invoke the skill by name or use /giggle-generation-image
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
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.
Metadata
Slug giggle-generation-image
Version 0.0.10
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 10
Frequently Asked Questions

What is 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... It is an AI Agent Skill for Claude Code / OpenClaw, with 416 downloads so far.

How do I install Giggle Generation Image?

Run "/install giggle-generation-image" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Giggle Generation Image free?

Yes, Giggle Generation Image is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Giggle Generation Image support?

Giggle Generation Image is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Giggle Generation Image?

It is built and maintained by Parker (@patches429); the current version is v0.0.10.

💬 Comments