Agent skill
gemini-vision
Analyse one or more images with Gemini's vision model – describe contents, answer questions, extract text (OCR), compare images, or analyse charts/screenshots/diagrams. Requires GEMINI_API_KEY environment variable. Use when the user asks to look at, analyse, describe, read, or compare images.
Install this agent skill to your Project
npx add-skill https://github.com/akaihola/skills-akaihola/tree/main/gemini-vision
SKILL.md
Gemini Vision
Analyse images with Gemini's vision capabilities. Pass one or more images and a prompt; the model returns a detailed text answer.
Requirements
GEMINI_API_KEYenvironment variable setuvavailable
Quick usage
# Describe an image
uv run ~/.claude/skills/gemini-vision/scripts/gemini_vision.py \
"Describe this image in detail." \
photo.jpg
# Answer a specific question about an image
uv run ~/.claude/skills/gemini-vision/scripts/gemini_vision.py \
"What text is visible in this screenshot?" \
screenshot.png
# Compare two images
uv run ~/.claude/skills/gemini-vision/scripts/gemini_vision.py \
"What are the differences between these two images?" \
before.png after.png
# Extract structured data from a chart or table
uv run ~/.claude/skills/gemini-vision/scripts/gemini_vision.py \
"Extract all values from this bar chart as a Markdown table." \
chart.png
# Control the model and output format
uv run ~/.claude/skills/gemini-vision/scripts/gemini_vision.py \
"List every product name and price visible in this photo." \
--model gemini-2.5-flash \
shelf.jpg
Options
| Flag | Default | Description |
|---|---|---|
--model |
gemini-2.0-flash |
Gemini model to use |
--max-tokens |
4096 |
Maximum output tokens |
--system |
(none) | Optional system instruction |
Supported image formats
JPEG, PNG, GIF, WEBP, BMP, TIFF, PDF pages (single-page PDFs work as images).
The script auto-detects MIME type from the file content (not the extension).
Common prompts
| Goal | Example prompt |
|---|---|
| General description | "Describe this image in detail." |
| OCR / text extraction | "Extract all text visible in this image." |
| Chart / graph data | "Convert this chart to a Markdown table." |
| Diagram explanation | "Explain the architecture shown in this diagram." |
| Accessibility alt-text | "Write a concise alt-text for this image." |
| Comparison | "Compare these two images and list the differences." |
| Receipt / invoice | "List every line item, quantity, and price in this receipt." |
| UI screenshot | "Describe the UI elements and layout in this screenshot." |
SDK notes
Uses the new google-genai package (not the deprecated google-generativeai):
# ✅ Correct
import google.genai as genai
from google.genai import types
# ❌ Deprecated
import google.generativeai as genai
Multiple images are passed as a list; the model sees them in order:
contents = [
types.Part.from_bytes(data=img1_bytes, mime_type="image/jpeg"),
types.Part.from_bytes(data=img2_bytes, mime_type="image/png"),
"Your prompt here",
]
response = client.models.generate_content(model=model, contents=contents)
print(response.text)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
youtube-to-markdown
Convert a YouTube video into clean, readable Markdown using its free auto-generated captions (no paid API needed). Use when the user asks to "convert YouTube video to markdown", "get transcript from YouTube URL", "summarise this video", or wants to turn YouTube subtitles/captions into readable text. Prefer this over youtube-transcription when the video already has auto-generated subtitles — it's free and faster. Accepts YouTube URLs.
brave-search
Search the web using Brave Search API. Use when the user asks to "search the web", "look up current information", "find news about", "research a topic online", "check prices online", or needs up-to-date facts that may not be in the model's training data. Requires BRAVE_SEARCH_API_KEY. Supports structured web results (pages, FAQs, news, videos) and an optional AI summarizer.
verkkokauppa
Search products on the Verkkokauppa.com Finnish webshop. This skill uses the Verkkokauppa search API directly, requiring no browser. Use when the user asks to "search Verkkokauppa", "find products on verkkokauppa.com", "verkkokauppa product search", "check Verkkokauppa prices", or mentions searching the Verkkokauppa store.
clasohlson
Search products on the Clas Ohlson Finland webshop (clasohlson.com/fi/). This skill uses the Voyado Elevate (Apptus eSales) search API directly, requiring no browser. Use when the user asks to "search Clas Ohlson", "find products on clasohlson.com", "clas ohlson product search", "check Clas Ohlson prices", or mentions searching the Finnish Clas Ohlson store.
bauhaus
Search products on the Bauhaus webshop (bauhaus.fi). This skill uses the Algolia search API with automatic key refresh. Use when the user asks to "search Bauhaus", "find products on bauhaus.fi", "bauhaus product search", "check Bauhaus prices", or mentions searching the Bauhaus store.
library
Didn't find tool you were looking for?