---
name: Image Generation
slug: image-generation-4
category: AI Engineering
description: Image Generation creates new images from text prompts and edits existing saved image artifacts. Use it when you want to generate, revise, or iterate on visuals in a conversation.
github: "https://github.com/MemTensor/memmy-agent/tree/main/App/memmy-agent/src/skills/image-generation"
language: TypeScript
stars: 912
forks: 93
install: "npx degit https://github.com/MemTensor/memmy-agent/tree/main/App/memmy-agent/src/skills/image-generation ~/.claude/skills/image-generation"
installs_to: ~/.claude/skills/image-generation
source_path: App/memmy-agent/src/skills/image-generation/SKILL.md
collection_size: 12
category_size: 2451
collection_url: "https://dirskills.com/collections/MemTensor/memmy-agent"
added: 2026-08-22T05:20:52.460Z
last_synced: 2026-08-22T05:20:52.460Z
canonical_url: "https://dirskills.com/skills/image-generation-4"
---

# Image Generation

Image Generation creates new images from text prompts and edits existing saved image artifacts. Use it when you want to generate, revise, or iterate on visuals in a conversation.

**Install:**

```bash
npx degit https://github.com/MemTensor/memmy-agent/tree/main/App/memmy-agent/src/skills/image-generation ~/.claude/skills/image-generation
```

## README

# Image Generation

Use the `generate_image` tool when the user asks you to create, render, draw, design, generate, or edit an image.

If the `generate_image` tool is not available in the current tool list, tell the user that image generation is not enabled for this memmy instance.

## When To Use

- Text-to-image: call `generate_image` with a concrete `prompt`.
- Image editing: pass the saved artifact path or user image path in `reference_images`.
- Iterative edits in the same conversation: prefer the most recent generated image artifact if the user says things like "make it brighter", "change the background", or "try another version".
- Ambiguous edits: ask a short clarifying question if multiple recent images could be the target.
- After generating images, call the `message` tool with the artifact paths in the `media` parameter to deliver them to the user.

## Prompt Rules

Write prompts with enough detail for image models:

- Subject and scene.
- Composition and camera or layout.
- Style, mood, lighting, and color palette.
- Text that must appear in the image, quoted exactly.
- Constraints such as "keep the same character", "preserve the logo", or "do not change the background".

## Artifact Rules

The tool stores generated images as persistent artifacts under memmy's media directory and returns structured metadata:

- `id`: generated image id, such as `img_ab12cd34ef56`.
- `path`: local file path for internal follow-up edits.
- `mime`: image MIME type.
- `prompt`, `model`, and `source_images`: provenance for follow-up edits.

In normal user-facing replies, do not expose local filesystem paths. Keep the reply natural, for example "Done, I generated it." You may include the short image `id` when it helps the user refer to a specific image, but keep raw `path` internal unless the user explicitly asks for debug details or a local artifact reference. Never paste base64.

For follow-up edits, pass the prior artifact `path` to `reference_images`. If the user provides a new uploaded image, use that path as the reference instead.

Do not include internal replay markers such as `[Message Time: ...]`, `[image: /local/path]`, `generate_image(...)`, or `message(...)` in user-facing replies.

## Examples

Generate a new image:

```text
generate_image(
  prompt="A minimal app icon for memmy: friendly robot head, rounded square, soft blue and white palette, clean vector style, no text",
  aspect_ratio="1:1",
  image_size="1K"
)
```

Edit the latest generated artifact:

```text
generate_image(
  prompt="Use the reference image. Keep the same robot and composition, but change the palette to warm orange and add a subtle sunrise background.",
  reference_images=["~/.memmy/media/generated/2026-05-08/img_ab12cd34ef56.png"],
  aspect_ratio="1:1",
  image_size="1K"
)
```
