Claude-skill-registry gemini-genai
Google python-genai SDK for Gemini 3 Flash, Gemini 3 Pro, and Gemini models. Use when building with Google's Gemini API, google-genai, implementing thinking/reasoning, structured outputs, function calling, image generation, or multimodal. Triggers on "gemini", "google ai", "genai".
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/gemini-genai" ~/.claude/skills/majiayu000-claude-skill-registry-gemini-genai && rm -rf "$T"
skills/data/gemini-genai/SKILL.mdGoogle Gemini python-genai SDK
Model IDs
| Model | ID |
|---|---|
| Gemini 3 Flash | |
| Gemini 3 Pro | |
| Gemini 3 Pro Image | |
| Gemini 2.5 Flash | |
| Gemini 2.5 Pro | |
Gemini 3 Flash Capabilities
Token Limits: 1,048,576 input / 65,536 output (confirmed 1M context)
Inputs: Text, Image, Video, Audio, PDF
Supported: Batch API, Caching, Code execution, File search, Function calling, Search grounding, Structured outputs, Thinking, URL context
Not Supported: Audio generation, Image generation (use gemini-3-pro-image-preview), Live API, Grounding with Google Maps
Knowledge cutoff: January 2025
Critical: Temperature for Gemini 3
Keep
- Lower values cause response looping.temperature=1.0
Thinking Levels (Gemini 3)
config=types.GenerateContentConfig( thinking_config=types.ThinkingConfig(thinking_level="high") # minimal|low|medium|high )
: No thinking, lowest latency (Flash only)minimal
: Maximum reasoning (default)high
Async Pattern
async with genai.Client().aio as client: response = await client.models.generate_content(...) # Async chat chat = client.aio.chats.create(model="gemini-3-flash-preview")
Media Resolution (v1alpha required)
client = genai.Client(http_options=types.HttpOptions(api_version='v1alpha')) types.Part( inline_data=types.Blob(mime_type="image/jpeg", data=image_bytes), media_resolution={"level": "media_resolution_high"} # low|medium|high|ultra_high )
Tokens: low=280, medium=560, high=1120
Built-in Tools (Gemini 3)
config=types.GenerateContentConfig( tools=[{"google_search": {}}], # Web search # tools=[{"url_context": {}}], # Fetch URL content # tools=[{"code_execution": {}}], # Run code )
Enum Response
from enum import Enum class Category(Enum): A = "A" B = "B" config={ "response_mime_type": "text/x.enum", "response_schema": Category, }
Image Generation
response = client.models.generate_content( model="gemini-3-pro-image-preview", contents="A cyberpunk city", config=types.GenerateContentConfig( response_modalities=["IMAGE"], image_config=types.ImageConfig(aspect_ratio="16:9", image_size="4K"), ), ) image = response.parts[0].as_image() image.save("out.png")
Grounded (with search): Add
tools=[{"google_search": {}}]
Response Helpers
response.text # Text content response.parsed # Auto-parsed JSON (when using response_json_schema) response.function_calls # List of function calls (cleaner than candidates drilling)
Pricing (Gemini 3 Flash)
Input: $0.50/1M | Output: $3.00/1M | Context caching: up to 90% reduction