Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

image-generation — Claude Code skill: what it does, how to install

Builds structured JSON prompts and executes a Python script to generate images with optional reference files. Useful for character design and complex scene rendering.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add bytedance/deer-flow --skill image-generation -a claude-code
Open on GitHub

What image-generation does

The skill converts user requests into a structured JSON prompt inside /mnt/user-data/workspace/. It formats visual details, stylistic direction, and negative prompts into defined fields. The agent can also include paths to reference images for composition guidance.

Once the JSON file is ready, the agent runs /mnt/skills/public/image-generation/scripts/generate.py. This script requires --prompt-file and --output-file, while --aspect-ratio defaults to 16:9. The prompt explicitly instructs the agent not to inspect the Python script directly. Just pass the arguments.

Because the entire workflow depends on hardcoded /mnt/ paths, running it outside the preconfigured runtime will immediately break file lookups.

What it helps with

  • build structured JSON prompts for image generation
  • feed multiple reference images into a generation pipeline
  • render images with custom aspect ratios through script execution
  • configure negative prompts and stylistic constraints automatically

Example prompts for the agent

  • Create a Tokyo street style woman character in 1990s aesthetic
  • Generate a character scene using reference image /mnt/user-data/uploads/character-ref.jpg with aspect ratio 2:3
  • Visualize a sci-fi marketplace street using two reference images

How to install image-generation

1Skills CLI (Vercel)

npx skills add bytedance/deer-flow --skill image-generation -a claude-code

2Manually: put the files in place

~/.claude/skills/image-generation/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/image-generation/

From the same set12

The whole set →
ppt-generation bytedance Creates PPTX presentations by generating slide visuals and assembling them into PowerPoint decks. Useful when you need a consistent visual deck from a text prompt. Claude Code CX Codex Cursor +1 5,200installs video-generation bytedance Generates videos via Gemini Veo or MiniMax using structured JSON prompts, optional reference images, and an automated Python script. Claude Code CX Codex Cursor +1 3,000installs consulting-analysis bytedance This skill plans a research framework, then turns collected material into a structured report. Use it for market, financial, brand, or competitor analysis. Claude Code CX Codex Cursor +1 3,000installs deep-research bytedance A skill for thorough web research using multi-angle analysis methodology. Use it instead of basic search when you need to understand a topic from all angles before writing content or tackling a complex question. Claude Code CX Codex Cursor +1 2,800installs academic-paper-review bytedance A skill for automated peer review of academic papers following top-conference standards. Assesses methodology, evaluates novelty, identifies weaknesses, and delivers evidence-based critique. Claude Code CX Codex Cursor +1 2,700installs systematic-literature-review bytedance A skill to automatically search and synthesize multiple papers by topic from arXiv. Collects research, extracts key findings, and outputs reports in APA, IEEE, or BibTeX format. Claude Code CX Codex Cursor +1 2,500installs podcast-generation bytedance Turns articles, reports, or documentation into a two-host conversational podcast and produces an MP3 with an optional transcript. Claude Code CX Codex Cursor +1 2,400installs surprise-me bytedance This skill combines available skills into one unexpected creative deliverable. Use it when you want inspiration or a project without choosing the format yourself. Claude Code CX Codex Cursor +1 2,300installs

Similar

agent-platform-alert-configuration official google This skill creates Terraform alert policies for AI agents from OpenTelemetry metrics. Use it to watch latency, errors, token usage, and quality. Claude Code Gemini CLI CX Codex 6,857installs gke-inference official google Select a model profile and accelerator, then prepare Kubernetes manifests for AI/ML inference serving on GKE. Claude Code Gemini CLI CX Codex 6,791installs plannotator-compound backnotprop Reads a Plannotator plan archive, pulls out denial patterns and feedback, then builds an HTML dashboard with findings. Claude Code CX Codex Cursor +1 11,400installs h3-prompt-writing MiniMax-AI Transforms multimodal video generation requests into MiniMax H3 prompts. It structures base keyframe transitions and full-reference rewrites. Claude Code CX Codex Cursor +1 11,500installs scroll-world oso95 This skill builds a landing page where scrolling drives a camera that dives into each scene and moves to the next with no cuts. Claude Code CX Codex Cursor +1 4,800installs google-agents-cli-onboarding official google This skill guides agents-cli work across agent creation, testing, deployment, and publishing. Use it when building with ADK. Claude Code Gemini CLI CX Codex 6,434installs skill-creator official anthropics Creates and refines skills, then tests them with prompts, evaluations, and performance checks. Claude Code Claude.ai 414,180installs writing-for-agents Matt Pocock Guidance for writing skills and agent-facing documents. Use it when editing AGENTS.md, CLAUDE.md, or reference files reached from them. Claude Code 466,719installs

Questions about image-generation

How do I install image-generation in Claude Code?

Run npx skills add bytedance/deer-flow --skill image-generation -a claude-code in your terminal.

What does the image-generation skill do?

It translates visual requirements into a structured JSON configuration and triggers a Python script to create the output image.

Can the agent inspect or modify the Python script?

The instructions explicitly forbid reading the Python file. The agent must only execute it with the required command-line arguments.

Source text

SKILL.md · MIT
---
name: image-generation
description: Use this skill when the user requests to generate, create, imagine, or visualize images including characters, scenes, products, or any visual content. Supports structured prompts and reference images for guided generation.
---

# Image Generation Skill

## Overview

This skill generates high-quality images using structured prompts and a Python script. The workflow includes creating JSON-formatted prompts and executing image generation with optional reference images.

## Core Capabilities

- Create structured JSON prompts for AIGC image generation
- Support multiple reference images for style/composition guidance
- Generate images through automated Python script execution
- Handle various image generation scenarios (character design, scenes, products, etc.)

## Workflow

### Step 1: Understand Requirements

When a user requests image generation, identify:

- Subject/content: What should be in the image
- Style preferences: Art style, mood, color palette
- Technical specs: Aspect ratio, composition, lighting
- Reference images: Any images to guide generation
- You don't need to check the folder under `/mnt/user-data`

### Step 2: Create Structured Prompt

Generate a structured JSON file in `/mnt/user-data/workspace/` with naming pattern: `{descriptive-name}.json`

### Step 3: Execute Generation

Call the Python script:
```bash
python /mnt/skills/public/image-generation/scripts/generate.py \
  --prompt-file /mnt/user-data/workspace/prompt-file.json \
  --reference-images /path/to/ref1.jpg /path/to/ref2.png \
  --output-file /mnt/user-data/outputs/generated-image.jpg
  --aspect-ratio 16:9
```

Parameters:

- `--prompt-file`: Absolute path to JSON prompt file (required)
- `--reference-images`: Absolute paths to reference images (optional, space-separated)
- `--output-file`: Absolute path to output image file (required)
- `--aspect-ratio`: Aspect ratio of the generated image (optional, default: 16:9)

[!NOTE]
Do NOT read the python file, just call it with the parameters.

## Character Generation Example

User request: "Create a Tokyo street style woman character in 1990s"

Create prompt file: `/mnt/user-data/workspace/asian-woman.json`
```json
{
  "characters": [{
    "gender": "female",
    "age": "mid-20s",
    "ethnicity": "Japanese",
    "body_type": "slender, elegant",
    "facial_features": "delicate features, expressive eyes, subtle makeup with emphasis on lips, long dark hair partially wet from rain",
    "clothing": "stylish trench coat, designer handbag, high heels, contemporary Tokyo street fashion",
    "accessories": "minimal jewelry, statement earrings, leather handbag",
    "era": "1990s"
  }],
  "negative_prompt": "blurry face, deformed, low quality, overly sharp digital look, oversaturated colors, artificial lighting, studio setting, posed, selfie angle",
  "style": "Leica M11 street photography aesthetic, film-like rendering, natural color palette with slight warmth, bokeh background blur, analog photography feel",
  "composition": "medium shot, rule of thirds, subject slightly off-center, environmental context of Tokyo street visible, shallow depth of field isolating subject",
  "lighting": "neon lights from signs and storefronts, wet pavement reflections, soft ambient city glow, natural street lighting, rim lighting from background neons",
  "color_palette": "muted naturalistic tones, warm skin tones, cool blue and magenta neon accents, desaturated compared to digital photography, film grain texture"
}
```

Execute generation:
```bash
python /mnt/skills/public/image-generation/scripts/generate.py \
  --prompt-file /mnt/user-data/workspace/cyberpunk-hacker.json \
  --output-file /mnt/user-data/outputs/cyberpunk-hacker-01.jpg \
  --aspect-ratio 2:3
```

With reference images:
```json
{
  "characters": [{
    "gender": "based on [Image 1]",
    "age": "based on [Image 1]",
    "ethnicity": "human from [Image 1] adapted to Star Wars universe",
    "body_type": "based on [Image 1]",
    "facial_features": "matching [Image 1] with slight weathered look from space travel",
    "clothing": "Star Wars style outfit - worn leather jacket with utility vest, cargo pants with tactical pouches, scuffed boots, belt with holster",
    "accessories": "blaster pistol on hip, comlink device on wrist, goggles pushed up on forehead, satchel with supplies, personal vehicle based on [Image 2]",
    "era": "Star Wars universe, post-Empire era"
  }],
  "prompt": "Character inspired by [Image 1] standing next to a vehicle inspired by [Image 2] on a bustling alien planet street in Star Wars universe aesthetic. Character wearing worn leather jacket with utility vest, cargo pants with tactical pouches, scuffed boots, belt with blaster holster. The vehicle adapted to Star Wars aesthetic with weathered metal panels, repulsor engines, desert dust covering, parked on the street. Exotic alien marketplace street with multi-level architecture, weathered metal structures, hanging market stalls with colorful awnings, alien species walking by as background characters. Twin suns casting warm golden light, atmospheric dust particles in air, moisture vaporators visible in distance. Gritty lived-in Star Wars aesthetic, practical effects look, film grain texture, cinematic composition.",
  "negative_prompt": "clean futuristic look, sterile environment, overly CGI appearance, fantasy medieval elements, Earth architecture, modern city",
  "style": "Star Wars original trilogy aesthetic, lived-in universe, practical effects inspired, cinematic film look, slightly desaturated with warm tones",
  "composition": "medium wide shot, character in foreground with alien street extending into background, environmental storytelling, rule of thirds",
  "lighting": "warm golden hour lighting from twin suns, rim lighting on character, atmospheric haze, practical light sources from market stalls",
  "color_palette": "warm sandy tones, ochre and sienna, dusty blues, weathered metals, muted earth colors with pops of alien market colors",
  "technical": {
    "aspect_ratio": "9:16",
    "quality": "high",
    "detail_level": "highly detailed with film-like texture"
  }
}
```
```bash
python /mnt/skills/public/image-generation/scripts/generate.py \
  --prompt-file /mnt/user-data/workspace/star-wars-scene.json \
  --reference-images /mnt/user-data/uploads/character-ref.jpg /mnt/user-data/uploads/vehicle-ref.jpg \
  --output-file /mnt/user-data/outputs/star-wars-scene-01.jpg \
  --aspect-ratio 16:9
```

## Common Scenarios

Use different JSON schemas for different scenarios.

**Character Design**:
- Physical attributes (gender, age, ethnicity, body type)
- Facial features and expressions
- Clothing and accessories
- Historical era or setting
- Pose and context

**Scene Generation**:
- Environment description
- Time of day, weather
- Mood and atmosphere
- Focal points and composition

**Product Visualization**:
- Product details and materials
- Lighting setup
- Background and context
- Presentation angle

## Specific Templates

Read the following template file only when matching the user request.

- [Doraemon Comic](templates/doraemon.md)

## Output Handling

After generation:

- Images are typically saved in `/mnt/user-data/outputs/`
- Share generated images with user using present_files tool
- Provide brief description of the generation result
- Offer to iterate if adjustments needed

## Tips: Enhancing Generation with Reference Images

For scenarios where visual accuracy is critical, **use the `image_search` tool first** to find reference images before generation.

**Recommended scenarios for using image_search tool:**
- **Character/Portrait Generation**: Search for similar poses, expressions, or styles to guide facial features and body proportions
- **Specific Objects or Products**: Find reference images of real objects to ensure accurate representation
- **Architectural or Environmental Scenes**: Search for location references to capture authentic details
- **Fashion and Clothing**: Find style references to ensure accurate garment details and styling

**Example workflow:**
1. Call the `image_search` tool to find suitable reference images:
   ```
   image_search(query="Japanese woman street photography 1990s", size="Large")
   ```
2. Download the returned image URLs to local files
3. Use the downloaded images as `--reference-images` parameter in the generation script

This approach significantly improves generation quality by providing the model with concrete visual guidance rather than relying solely on text descriptions.

## Providers (Gemini / MiniMax / OpenAI-compatible)

This skill auto-selects the provider by environment variables (no CLI change):

- `GEMINI_API_KEY` set → use Gemini (default, unchanged).
- Otherwise, `MINIMAX_API_KEY` set → use MiniMax (`/v1/image_generation`, model `image-01`).
- Otherwise, `IMAGE_GENERATION_API_KEY` set → use an OpenAI-compatible Images API.
- Force one explicitly with `IMAGE_GENERATION_PROVIDER=gemini|minimax|openai`.
  `openai-compatible` is also accepted as an alias for `openai`.

OpenAI-compatible settings:

- `IMAGE_GENERATION_API_KEY` (required)
- `IMAGE_GENERATION_BASE_URL` (default `https://api.openai.com/v1`)
- `IMAGE_GENERATION_MODEL` (default `gpt-image-2.5-flare`)
- `IMAGE_GENERATION_SIZE` (optional fixed size override)

Text-to-image calls use `POST {base_url}/images/generations`. Reference-image calls
use multipart `POST {base_url}/images/edits`; a relay may support generation without
supporting edits. Responses may contain base64 image data, a data URL, or a downloadable
URL. Aspect ratios map to `1024x1024`, `1536x1024`, or `1024x1536` unless
`IMAGE_GENERATION_SIZE` is set. The output extension selects the API `output_format`:
`.jpg`/`.jpeg` uses `jpeg`, `.webp` uses `webp`, and all other extensions use `png`.
When `dall-e-2` or `dall-e-3` is configured instead, the request uses the model's
supported dimensions and `response_format=b64_json`; DALL-E output files must use a
`.png` extension. Reference-image editing with DALL-E models is not supported by this
skill; use the default GPT Image model for edits.

MiniMax optional overrides: `MINIMAX_API_HOST` (default `https://api.minimaxi.com`),
`MINIMAX_IMAGE_MODEL` (default `image-01`). Reference images are sent as the MiniMax
`subject_reference` character image. The CLI and `--prompt-file` / `--reference-images`
/ `--output-file` / `--aspect-ratio` arguments are identical for both providers.

**MiniMax prompt handling (provider-internal).** Authoring is provider-agnostic — write
the same structured JSON regardless of which provider is active. MiniMax `image-01`
consumes a single text string, so the MiniMax path itself sends only the JSON `prompt`
field (the other fields such as `style` / `composition` / `negative_prompt` apply to the
Gemini path) and enables `prompt_optimizer` so MiniMax expands it server-side. MiniMax
caps that prompt at 1500 characters; if the `prompt` field is longer, the script returns
an error instead of calling the API. The Gemini path receives the full structured JSON.

## Notes

- Always use English for prompts regardless of user's language
- JSON format ensures structured, parsable prompts
- Reference images enhance generation quality significantly
- Iterative refinement is normal for optimal results
- For character generation, include the detailed character object plus a consolidated prompt field

© bytedance · MIT · bytedance/deer-flow

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor