# Generate Image

Generate, edit, or batch-create SEO, marketing, social, and document images with Gemini...

- Repository: https://github.com/tsingyuai/growth-lab (1975 stars)
- Category: Marketing
- License: Apache-2.0
- Last updated: 2026-09-28
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add tsingyuai/growth-lab --skill generate-image -g -a claude-code -y`
Codex: `npx skills add tsingyuai/growth-lab --skill generate-image -g -a codex -y`
Cursor: `npx skills add tsingyuai/growth-lab --skill generate-image -g -a cursor -y`
Gemini CLI: `npx skills add tsingyuai/growth-lab --skill generate-image -g -a gemini-cli -y`

## Description

Generate, edit, or batch-create SEO, marketing, social, and document images with Gemini or OpenAI through the repository-owned Growth Lab image client. Use when a page or content loop needs illustrations, diagrams, covers, reference-image edits, multiple candidates, or verified image text and composition. This is the only AI image-generation Executor in Growth Lab.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Generate images

Use `executors/generate-image/generate-image.mjs` for text-to-image and reference-image editing.
It is a repository-owned, zero-dependency Node.js client. Do not call Codex system Skills, private scripts, or files under `~/.codex`.

## Define the asset

Specify:

- placement and purpose;
- subject and visible action;
- composition and aspect ratio;
- visual style and brand palette;
- exact text when text is essential;
- details that must appear;
- artifacts, logos, watermarks, and unrelated text to exclude.

Prefer real product screenshots when the image explains product behavior. Use generated visuals for concepts, scenes, covers, illustrations, diagrams, and supporting examples.

## Generate

Use a prompt file for long or multilingual prompts:

```bash
node executors/generate-image/generate-image.mjs \
  --out <output.png> --prompt-file <prompt.txt>
```

Choose OpenAI explicitly when appropriate:

```bash
node executors/generate-image/generate-image.mjs \
  --model gpt-image-2 --out <output.png> \
  --prompt-file <prompt.txt>
```

`--model` accepts any `gpt-image-*` ID (sent to the OpenAI Images API at `OPENAI_BASE_URL`) or any `gemini-*image*` / `nano-banana*` ID (sent to the Gemini API at `GOOGLE_GEMINI_BASE_URL`). Compatible gateways may expose suffixed or tiered model IDs; list them with the gateway's `/v1/models` before choosing.

Add one `--ref <image>` argument for each reference image used in an edit.

For JSONL batch generation, put one job per line with `prompt` or `prompt_file`, `out`, and optional `model`, `refs`, `size`, or `quality`:

```bash
node executors/generate-image/generate-image.mjs \
  --batch <jobs.jsonl> --out-dir <directory> --concurrency 3
```

The rest: https://github.com/tsingyuai/growth-lab/blob/HEAD/executors/generate-image/SKILL.md
