# Generate Image

> Generate or edit images using AI models (FLUX, Gemini). Use for general-purpose image generation including photos, illustrations, artwork, visual assets, concept art, and any image that isn't a technical diagram or schematic. For flowcharts, circuits, pathways, and technical diagrams, use the scientific-schematics skill instead.

- Skill: `synthetic-sciences/generate-image` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add synthetic-sciences/generate-image`
- Raw SKILL.md: https://api.skillmd.com/api/skills/synthetic-sciences/generate-image/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: synthetic-sciences (https://skillmd.com/u/synthetic-sciences)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/synthetic-sciences/generate-image

---


# Generate Image

Generate or edit a high-quality image with OpenScience's native `generate_image` tool. The tool keeps credentials in the trusted host and saves the returned image directly into the connected workspace.

## Required route

Inside OpenScience, always call the native `generate_image` tool. Do not invoke `scripts/generate_image.py` through Bash: the native tool uses a connected Gemini or OpenRouter account and saves the result into the workspace.

Credential routing is automatic:

1. A connected Gemini account is used when available.
2. Otherwise, a connected user-owned OpenRouter key is used.
3. Stop when neither account is connected or the selected provider rejects the request.

Never ask the user to paste a secret into chat. Direct them to Customize → Models to connect an account.

## Tool contract

Call `generate_image` with:

- `prompt` (required): detailed generation or editing instructions.
- `output_path`: destination in the connected workspace; default `generated-image.png`.
- `input_path`: existing image for an edit. Omit it entirely for a new image;
  never create or pass a blank canvas, directory, `.` or `/dev/null`.
- `model`: OpenRouter image model; default `google/gemini-3-pro-image` (Nano Banana Pro).
- `aspect_ratio`: optional `1:1`, `3:2`, `2:3`, `4:3`, `3:4`, `16:9`, or `9:16`.

Example generation:

```json
{
  "prompt": "Editorial scientific illustration of a DNA double helix with one mutation site highlighted, restrained blue and amber palette, no decorative text",
  "output_path": "figures/dna-mutation.png",
  "aspect_ratio": "3:2"
}
```

Example edit:

```json
{
  "prompt": "Preserve every plotted value and label; improve spacing and contrast for a two-column conference paper",
  "input_path": "figures/ablation-draft.png",
  "output_path": "figures/ablation-refined.png",
  "aspect_ratio": "4:3"
}
```

## Model selection

- `google/gemini-3-pro-image`: Nano Banana Pro; recommended for generation and editing.
- `black-forest-labs/flux.2-pro`: fast, high-quality generation and editing.
- `black-forest-labs/flux.2-flex`: cheaper generation-only alternative.

Use Nano Banana Pro unless the user requests another model or a measured iteration shows a reason to switch.

## Quality workflow

1. Inspect the destination document or visual context first.
2. State the communication goal, content constraints, aspect ratio, and typography constraints in the prompt.
3. Generate one purposeful candidate; never create filler images merely because an output slot exists.
4. Open and inspect the saved image.
5. Check factual content, legibility at final size, cropping, color accessibility, and unwanted invented text.
6. Refine only when a concrete defect remains. Preserve requested content during edits.

For a technical architecture, method flow, pathway, or experimental diagram, load `scientific-schematics` and apply its publication checks while still using the native `generate_image` tool for the Nano Banana call.

## Standalone script

`scripts/generate_image.py` remains a user-key helper for use outside OpenScience. It reads `--api-key`, `OPENROUTER_API_KEY`, or `.env` and calls public OpenRouter directly.

