CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

Invalid
This skill can't be scored yet
Validation errors are blocking scoring. Review and fix them to unlock Quality, Impact and Security scores. See what needs fixing →
SKILL.md
Quality
Evals
Security

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:

{
  "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:

{
  "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.

Repository
synthetic-sciences/openscience
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.