Loading...
Loading...
Invokes Google Gemini models for structured outputs, multi-modal tasks, and Google-specific features. Use when users request Gemini, structured JSON output, Google API integration, or cost-effective parallel processing.
npx skill4agent add oaustegard/claude-skills invoking-geminiuv pip install google-generativeai pydanticGOOGLE_API_KEY.txtAIzaSy...API_CREDENTIALS.json{
"google_api_key": "AIzaSy..."
}import sys
sys.path.append('/mnt/skills/invoking-gemini/scripts')
from gemini_client import invoke_gemini
# Simple prompt
response = invoke_gemini(
prompt="Explain quantum computing in 3 bullet points",
model="gemini-2.0-flash-exp"
)
print(response)from pydantic import BaseModel, Field
from gemini_client import invoke_with_structured_output
class BookAnalysis(BaseModel):
title: str
genre: str = Field(description="Primary genre")
key_themes: list[str] = Field(max_length=5)
rating: int = Field(ge=1, le=5)
result = invoke_with_structured_output(
prompt="Analyze the book '1984' by George Orwell",
pydantic_model=BookAnalysis
)
# result is a BookAnalysis instance
print(result.title) # "1984"
print(result.genre) # "Dystopian Fiction"from gemini_client import invoke_parallel
prompts = [
"Summarize the plot of Hamlet",
"Summarize the plot of Macbeth",
"Summarize the plot of Othello"
]
results = invoke_parallel(
prompts=prompts,
model="gemini-2.0-flash-exp"
)
for prompt, result in zip(prompts, results):
print(f"Q: {prompt[:30]}...")
print(f"A: {result[:100]}...\n")from gemini_client import invoke_gemini
response = invoke_gemini(
prompt="Your prompt here",
model="gemini-2.0-flash-exp"
)
if response is None:
print("Error: API call failed")
# Check project knowledge file for valid google_api_keyresponse = invoke_gemini(
prompt="Write a haiku",
model="gemini-2.0-flash-exp",
temperature=0.9,
max_output_tokens=100,
top_p=0.95
)# Image analysis with structured output
from pydantic import BaseModel
class ImageDescription(BaseModel):
objects: list[str]
scene: str
colors: list[str]
result = invoke_with_structured_output(
prompt="Describe this image",
pydantic_model=ImageDescription,
image_path="/mnt/user-data/uploads/photo.jpg"
)# Claude (you) plans the approach
# Gemini executes structured extractions
data_points = []
for file in uploaded_files:
# Gemini extracts structured data
result = invoke_with_structured_output(
prompt=f"Extract contact info from {file}",
pydantic_model=ContactInfo
)
data_points.append(result)
# Claude synthesizes results
# ... your analysis here ...GOOGLE_API_KEY.txtAPI_CREDENTIALS.json{"google_api_key": "AIzaSy..."}uv pip install google-generativeai pydantic