# Send Image Gen Skill to your agent
Use the source page and any available docs to guide the install because the item currently does not return a direct package file.
## Fast path
- Open the source page via Open source listing.
- If you can obtain the package, extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the source page and extracted files.
## Suggested prompts
### New install

```text
I tried to install a skill package from Yavira, but the item currently does not return a direct package file. Inspect the source page and any extracted docs, then tell me what you can confirm and any manual steps still required.
```
### Upgrade existing

```text
I tried to upgrade a skill package from Yavira, but the item currently does not return a direct package file. Compare the source page and any extracted docs with my current installation, then summarize what changed and what manual follow-up I still need.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "image-gen",
    "name": "Image Gen Skill",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/wells1137/image-gen",
    "canonicalUrl": "https://clawhub.ai/wells1137/image-gen",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/image-gen",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=image-gen",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "generate.js",
      "package-lock.json",
      "package.json"
    ],
    "downloadMode": "manual_only",
    "sourceHealth": {
      "source": "tencent",
      "slug": "image-gen",
      "status": "source_issue",
      "reason": "not_found",
      "recommendedAction": "review_source",
      "checkedAt": "2026-05-01T22:36:37.821Z",
      "expiresAt": "2026-05-02T22:36:37.821Z",
      "httpStatus": 404,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=image-gen",
      "contentType": "text/plain",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=image-gen",
        "contentDisposition": null,
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "image-gen"
      },
      "scope": "item",
      "summary": "Known item issue.",
      "detail": "This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.",
      "primaryActionLabel": "Open source listing",
      "primaryActionHref": "https://clawhub.ai/wells1137/image-gen"
    },
    "validation": {
      "installChecklist": [
        "Open the source listing and confirm there is a real package or setup artifact available.",
        "Review SKILL.md before asking your agent to continue.",
        "Treat this source as manual setup until the upstream download flow is fixed."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/image-gen",
    "downloadUrl": "https://openagent3.xyz/downloads/image-gen",
    "agentUrl": "https://openagent3.xyz/skills/image-gen/agent",
    "manifestUrl": "https://openagent3.xyz/skills/image-gen/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/image-gen/agent.md"
  }
}
```
## Documentation

### Image Generation Skill

This skill generates images using the best AI model for each use case. Model selection is the most important decision — read the dispatch logic carefully before generating.

### 🧠 Intelligent Dispatch Logic

Always select the model based on the user's actual need, not just the request surface.

### Decision Tree

Does the request involve MULTIPLE images that share characters, scenes, or story continuity?
  ├─ YES → Use NANO BANANA (Gemini)
  │         Reason: Gemini understands context holistically; supports reference_images
  │         for character/scene consistency across a series (storyboard, comic, sequence)
  │
  └─ NO → Is it a SINGLE standalone image?
            ├─ Artistic / cinematic / painterly / highly detailed?
            │   → Use MIDJOURNEY
            │
            ├─ Photorealistic / portrait / product photo?
            │   → Use FLUX PRO
            │
            ├─ Contains TEXT (logo, poster, sign, infographic)?
            │   → Use IDEOGRAM
            │
            ├─ Vector / icon / flat design / brand asset?
            │   → Use RECRAFT
            │
            ├─ Quick draft / fast iteration (speed priority)?
            │   → Use FLUX SCHNELL (<2s)
            │
            └─ General purpose / balanced?
                → Use FLUX DEV

### Model Capability Matrix

ModelIDArtisticPhotorealismTextContext ContinuitySpeedCostMidjourneymidjourney⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐❌ (no context)~30s~$0.05Nano Banana Pronano-banana⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐~20s$0.15Flux Proflux-pro⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐❌~5s~$0.05Flux Devflux-dev⭐⭐⭐⭐⭐⭐⭐⭐⭐❌~8s~$0.03Flux Schnellflux-schnell⭐⭐⭐⭐⭐⭐⭐❌<2s~$0.003Ideogram v3ideogram⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐❌~10s~$0.08Recraft v3recraft⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐❌~8s~$0.04SDXL Lightningsdxl⭐⭐⭐⭐⭐⭐⭐⭐❌~3s~$0.01

### When to Use Nano Banana (Critical)

Use Nano Banana whenever the user's request involves:

Storyboard / 分镜图: Multiple frames that tell a story with the same characters
Comic strip / 漫画: Sequential panels with consistent characters
Character series: Multiple images of the same person/character in different poses or scenes
Scene continuation: "Now show the same girl in the forest" (referencing a previous image)
Style consistency: A set of images that must share the same visual style/world

Nano Banana uses Google's Gemini 3 Pro multimodal architecture, which understands context holistically rather than keyword-matching. It supports up to 14 reference images for maintaining character and scene consistency.

### How to Use This Skill

Analyze the request: Is it a single image or a series? Does it need context continuity?
Select model: Use the decision tree above.
Enhance the prompt: Add style, lighting, and quality descriptors appropriate for the model.
Inform the user: Tell them which model you're using and why, and that generation has started.
Run the script: Use exec tool with sufficient timeout.
Deliver the result: Send image URL(s) to the user.

### Calling the Generation Script

node {baseDir}/generate.js \\
  --model <model_id> \\
  --prompt "<enhanced prompt>" \\
  [--aspect-ratio <ratio>] \\
  [--num-images <1-4>] \\
  [--negative-prompt "<negative prompt>"] \\
  [--reference-images "<url1,url2,...>"]

Parameters:

--model: One of midjourney, flux-pro, flux-dev, flux-schnell, sdxl, nano-banana, ideogram, recraft
--prompt: The image generation prompt (required)
--aspect-ratio: e.g. 16:9, 1:1, 9:16, 4:3, 3:4 (default: 1:1)
--num-images: 1-4 (default: 1; Midjourney always returns 4 regardless)
--negative-prompt: Things to avoid (not supported by Midjourney)
--reference-images: Comma-separated image URLs for context/character consistency (Nano Banana only)
--mode: Midjourney speed: turbo (default, ~20-40s), fast (~30-60s), relax (free but slow)

exec timeout: Set at least 120 seconds for Midjourney and Nano Banana; 30 seconds is sufficient for Flux Schnell.

### ⚡ Midjourney Workflow (Sync Mode — No --async)

Always use sync mode (no --async). The script waits internally until complete.

node {baseDir}/generate.js \\
  --model midjourney \\
  --prompt "<enhanced prompt>" \\
  --aspect-ratio 16:9

### Understanding Midjourney Output

{
  "success": true,
  "model": "midjourney",
  "jobId": "xxxxxxxx-...",
  "imageUrl": "https://cdn.legnext.ai/temp/....png",
  "imageUrls": [
    "https://cdn.legnext.ai/mj/xxxx_0.png",
    "https://cdn.legnext.ai/mj/xxxx_1.png",
    "https://cdn.legnext.ai/mj/xxxx_2.png",
    "https://cdn.legnext.ai/mj/xxxx_3.png"
  ]
}

CRITICAL — image field meanings:

FieldWhat it isWhen to useimageUrlA 2×2 grid composite of all 4 imagesSend as preview so user can see all optionsimageUrls[0]Image 1 (top-left)Send when user wants image 1imageUrls[1]Image 2 (top-right)Send when user wants image 2imageUrls[2]Image 3 (bottom-left)Send when user wants image 3imageUrls[3]Image 4 (bottom-right)Send when user wants image 4

"放大第N张" / "要第N张" / "give me image N" = send imageUrls[N-1] directly. Do NOT call generate.js again.

### Midjourney Interaction Flow

After generation:

🎨 生成完成！这是 4 张图的预览：
预览图
你喜欢哪一张？回复 1、2、3 或 4，我直接发给你高清单图。

When user picks image N:

这是第 N 张的单独高清图：
图片 N

### 🤖 Nano Banana (Gemini) Workflow

Use for storyboards, character series, and any context-dependent multi-image generation.

### Single image (no reference)

node {baseDir}/generate.js \\
  --model nano-banana \\
  --prompt "<detailed scene description>" \\
  --aspect-ratio 16:9

### With reference images (character/scene consistency)

node {baseDir}/generate.js \\
  --model nano-banana \\
  --prompt "<scene description, referencing the character/style from the reference images>" \\
  --aspect-ratio 16:9 \\
  --reference-images "https://url-of-previous-image-1.png,https://url-of-previous-image-2.png"

How to build a storyboard series:

Generate the first frame without reference images (establishes the character/scene)
Use the first frame's URL as --reference-images for the second frame
For subsequent frames, use the most recent 1-3 images as references to maintain consistency
Keep the character description consistent across all prompts

Example storyboard workflow:

Frame 1: node generate.js --model nano-banana --prompt "A young girl with red hair, wearing a blue dress, sitting under a magical treehouse in an enchanted forest, warm golden light, storybook illustration style" --aspect-ratio 16:9

Frame 2: node generate.js --model nano-banana --prompt "The same red-haired girl in blue dress climbing the rope ladder up to the treehouse, excited expression, enchanted forest background, same storybook illustration style" --aspect-ratio 16:9 --reference-images "<frame1_url>"

Frame 3: node generate.js --model nano-banana --prompt "Inside the magical treehouse, the red-haired girl discovers a glowing book on a wooden shelf, wonder on her face, warm candlelight, same storybook illustration style" --aspect-ratio 16:9 --reference-images "<frame1_url>,<frame2_url>"

### Nano Banana Output

{
  "success": true,
  "model": "nano-banana",
  "images": ["https://v3b.fal.media/files/...png"],
  "imageUrl": "https://v3b.fal.media/files/...png"
}

Send imageUrl directly to the user (no grid, single image).

### Flux Pro / Dev / Schnell

Best for photorealistic standalone images. Output format same as Nano Banana (single imageUrl).

node {baseDir}/generate.js --model flux-pro --prompt "<prompt>" --aspect-ratio 16:9

### Ideogram v3

Best for images containing text (logos, posters, signs).

node {baseDir}/generate.js --model ideogram --prompt "A motivational poster with text 'DREAM BIG' in bold typography, sunset gradient background" --aspect-ratio 3:4

### Recraft v3

Best for vector-style, icons, flat design.

node {baseDir}/generate.js --model recraft --prompt "A minimal flat design app icon, blue gradient, abstract geometric shape" --aspect-ratio 1:1

### Prompt Enhancement Tips

For Midjourney: Add cinematic lighting, ultra detailed, --v 7, --style raw. Legnext supports all MJ parameters.

For Nano Banana: Use natural language descriptions. Describe the character consistently across frames (hair color, clothing, expression). Mention "same style as reference" or "consistent with previous frame".

For Flux: Add masterpiece, highly detailed, sharp focus, professional photography, 8k.

For Ideogram: Be explicit about text content, font style, layout, and color scheme.

For Recraft: Specify vector illustration, flat design, icon style, minimal.

### Example Conversations

User: "帮我画一只赛博朋克猫"
→ Single artistic image → Midjourney
→ Tell user "🎨 正在用 Midjourney 生成，约 30 秒..."
→ Send grid preview, ask which one they want

User: "帮我生成一套分镜图，讲述一个女孩在魔法森林的冒险"
→ Multiple frames with story continuity → Nano Banana
→ Tell user "🎨 这类有上下文关联的分镜图用 Gemini 生成，能保持角色一致性..."
→ Generate frame by frame, using previous frames as reference images

User: "要第2张" / "放大第2张" (after Midjourney generation)
→ Send imageUrls[1] directly. No need to call generate.js again.

User: "做一个 App 图标，蓝色系扁平风格"
→ Vector/icon → Recraft

User: "生成一张带有'欢迎光临'文字的门牌图"
→ Text in image → Ideogram

User: "快速生成个草稿看看效果"
→ Speed priority → Flux Schnell (<2s)

User: "生成一张产品海报，白色背景，一瓶香水"
→ Photorealistic product → Flux Pro

### Environment Variables

VariableDescriptionFAL_KEYfal.ai API key (for Flux, Nano Banana, Ideogram, Recraft)LEGNEXT_KEYLegnext.ai API key (for Midjourney)
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: wells1137
- Version: 2.0.1
## Source health
- Status: source_issue
- Known item issue.
- This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.
- Health scope: item
- Reason: not_found
- Checked at: 2026-05-01T22:36:37.821Z
- Expires at: 2026-05-02T22:36:37.821Z
- Recommended action: Open source listing
## Links
- [Detail page](https://openagent3.xyz/skills/image-gen)
- [Send to Agent page](https://openagent3.xyz/skills/image-gen/agent)
- [JSON manifest](https://openagent3.xyz/skills/image-gen/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/image-gen/agent.md)
- [Download page](https://openagent3.xyz/downloads/image-gen)