Skip to content
image-gen logo

Image Generation Skill

image-gen

Generate website images with Gemini 3 Native Image Generation. Covers hero banners, service cards, infographics with legible text, and multi-turn editing. Includes Australian-specific imagery patterns. Use when stock photos don't fit, need text in images, or require consistent style across assets...

SKILL.md

Full skill instructions

Image Generation Skill

Generate and edit website images using Gemini Native Image Generation.

⚠️ Critical: SDK Migration Required

IMPORTANT: The @google/​generative-ai package is deprecated as of November 30, 2025. All new projects must use @google/​genai.

Migration Required:

// ❌ OLD (deprecated, support ended Nov 30, 2025)
import { GoogleGenerativeAI } from "@google/​generative-ai";
const genAI = new GoogleGenerativeAI(API_KEY);

// ✅ NEW (required)
import { GoogleGenAI } from "@google/​genai";
const ai = new GoogleGenAI({ apiKey: API_KEY });

Source: GitHub Repository Migration Notice

Models

ModelIDStatusBest For
Gemini 3 Pro Imagegemini-3-pro-image-previewPreview (Nov 20, 2025)4K, complex prompts, text
Gemini 2.5 Flash Imagegemini-2.5-flash-imageGA (Oct 2, 2025)Fast iteration, general use
Imagen 4.0imagen-4.0-generate-001GA (Aug 14, 2025)Alternative platform

Deprecated Models (do not use):

  • gemini-2.0-flash-exp-image-generation - Shut down Nov 11, 2025
  • gemini-2.0-flash-preview-image-generation - Shut down Nov 11, 2025
  • gemini-2.5-flash-image-preview - Scheduled shutdown Jan 15, 2026

Source: Google AI Changelog

Capabilities

FeatureSupported
Generate from text✅
Edit existing images✅
Change aspect ratio✅
Widen/​extend images✅
Style transfer✅
Change colours✅
Add/​remove elements✅
Text in images✅ (legible!)
Multiple reference images✅ (up to 14: max 5 humans, 9 objects)
4K resolution✅ (Pro only)

Note: Exceeding 5 human reference images causes unpredictable character consistency. Keep human images ≤ 5 for reliable results.

Aspect Ratios

1:1   | 2:3  | 3:2  | 3:4  | 4:3
4:5   | 5:4  | 9:16 | 16:9 | 21:9

Resolutions (Pro only)

Size1:116:94:3
1K1024x10241376x7681184x880
2K2048x20482752x15362368x1760
4K4096x40965504x30724736x3520

Quick Start

import { GoogleGenAI } from "@google/​genai";

const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

// Generate new image
const response = await ai.models.generateContent({
  model: "gemini-2.5-flash-image",
  contents: "A professional plumber in hi-vis working in modern Australian home",
  config: {
    responseModalities: ["TEXT", "IMAGE"],  // BOTH required - cannot use ["IMAGE"] alone
    imageGenerationConfig: {
      aspectRatio: "16:9",
    },
  },
});

// Extract image
for (const part of response.candidates[0].content.parts) {
  if (part.inlineData) {
    const buffer = Buffer.from(part.inlineData.data, "base64");
    fs.writeFileSync("hero.png", buffer);
  }
}

Important: responseModalities must include both ["TEXT", "IMAGE"]. Using ["IMAGE"] alone may fail or produce unexpected results.

Model Selection

RequirementUse
Fast iterationGemini 2.5 Flash Image
4K resolutionGemini 3 Pro Image Preview
Text in imagesGemini 3 Pro (94% legibility at 4K)
Simple editsGemini 2.5 Flash Image
Complex compositionsGemini 3 Pro Image Preview
Infographics/​diagramsGemini 3 Pro Image Preview

Text Rendering Benchmarks (4K resolution):

  • Gemini 3 Pro Image: 94% legible text
  • DALL-E 3: 78% legible text
  • Midjourney: Decorative pseudo-text only

When to Use

Use Gemini Image Gen when:

  • Stock photos don't fit brand/​context
  • Need Australian-specific imagery
  • Need text in images (infographics, diagrams)
  • Need consistent style across multiple images
  • Need to edit/​modify existing images
  • Client has no photos of their work

Don't use when:

  • Client has good photos of actual work
  • Real team photos needed (discuss first)
  • Product shots (use real products)
  • Legal/​compliance concerns

Known Issues Prevention

This skill prevents 5 documented issues:

Issue #1: Resolution Parameter Case Sensitivity

Error: Request fails with invalid parameter error Source: Google AI Image Generation Docs Why It Happens: Resolution values are case-sensitive and must use uppercase 'K'. Prevention: Always use "4K", "2K", "1K" - never lowercase "4k".

// ❌ WRONG - causes request failure
config: { imageGenerationConfig: { resolution: "4k" } }

// ✅ CORRECT - uppercase required
config: { imageGenerationConfig: { resolution: "4K" } }

Issue #2: Aspect Ratio May Be Ignored (Sept 2025+)

Error: Returns 1:1 square image despite requesting 16:9 or other ratios Source: Google Support Thread Why It Happens: Backend update in September 2025 affected Gemini 2.5 Flash Image model's aspect ratio handling. Prevention: Use Gemini 3 Pro Image Preview for reliable aspect ratio control, or generate 1:1 and use multi-turn editing to extend.

// May ignore aspectRatio on Gemini 2.5 Flash Image
model: "gemini-2.5-flash-image",
config: { imageGenerationConfig: { aspectRatio: "16:9" } }

// More reliable for aspect ratio control
model: "gemini-3-pro-image-preview",
config: { imageGenerationConfig: { aspectRatio: "16:9" } }

Status: Google confirmed working on fix (Sept 2025).

Issue #3: Exceeding 5 Human Reference Images

Error: Unpredictable character consistency in generated images Source: Google AI Image Generation Docs Why It Happens: Gemini 3 Pro Image supports up to 14 reference images total, but only 5 can be human images for character consistency. Prevention: Limit human images to 5 or fewer. Use remaining slots (up to 14 total) for objects/​scenes.

// ❌ WRONG - 7 human images exceeds limit
const humanImages = [img1, img2, img3, img4, img5, img6, img7];
const prompt = [
  { text: "Generate consistent characters" },
  ...humanImages.map(img => ({ inlineData: { data: img, mimeType: "image/​png" }})),
];

// ✅ CORRECT - max 5 human images
const humanImages = images.slice(0, 5);  // Limit to 5
const objectImages = images.slice(5, 14);  // Up to 9 more for objects
const prompt = [
  { text: "Generate consistent characters" },
  ...humanImages.map(img => ({ inlineData: { data: img, mimeType: "image/​png" }})),
  ...objectImages.map(img => ({ inlineData: { data: img, mimeType: "image/​png" }})),
];

Issue #4: SynthID Watermark Cannot Be Disabled

Error: N/​A (documented limitation) Source: Google AI Image Generation Docs Why It Happens: All generated images automatically include a SynthID watermark for content authenticity tracking. Prevention: Be aware of this limitation for commercial use cases. Watermark cannot be disabled by developers.

Issue #5: Google Search Grounding Excludes Image Results

Error: Generated images don't reflect visual search results, only text Source: Google AI Image Generation Docs Why It Happens: When using Google Search tool with image generation, "image-based search results are not passed to the generation model." Prevention: Only text-based search results inform the visual output. Don't expect the model to reference images from search results.

// Google Search tool enabled
const response = await ai.models.generateContent({
  model: "gemini-3-pro-image-preview",
  contents: "Generate image of latest iPhone design",
  tools: [{ googleSearch: {} }],
  config: { responseModalities: ["TEXT", "IMAGE"] },
});
// Result: Only text search results used, not image results from web search

Pricing

Current Pricing (as of November 2025):

  • Gemini 2.5 Flash Image: ~$0.008 per image
    • Input: 258 tokens per image
    • Output: 1290 tokens per image
    • Rate: $30.00 per 1M output tokens

Note: The generateImages API (Imagen models) does not return usageMetadata in responses. Track costs manually based on pricing above.

Source: Google Developers Blog - Gemini 2.5 Flash Image

Reference Files

  • references/​prompting.md - Effective prompt patterns
  • references/​website-images.md - Hero, service, background templates
  • references/​editing.md - Multi-turn editing patterns
  • references/​local-imagery.md - Australian-specific details
  • references/​integration.md - API code examples

Last verified: 2026-01-21 | Skill version: 2.0.0 | Changes: Added SDK migration notice (critical), updated to current model names (gemini-3-pro-image-preview, gemini-2.5-flash-image), added 5 Known Issues (resolution case sensitivity, aspect ratio bug, reference image limits, SynthID watermark, Google Search grounding), added pricing section, added text rendering benchmarks.

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View