From gemini-api
Generates text embeddings using Google Gemini API for RAG, semantic similarity, classification, and clustering. Supports single/batch requests via REST with task types and dimensionality control.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gemini-api:gemini-embedThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate text embeddings using Google Gemini API via REST.
Generate text embeddings using Google Gemini API via REST.
GOOGLE_API_KEY must be sethttps://generativelanguage.googleapis.com/v1betagemini-embedding-001Choose based on use case:
RETRIEVAL_QUERY: For search queriesRETRIEVAL_DOCUMENT: For documents to be searchedSEMANTIC_SIMILARITY: For comparing text similarityCLASSIFICATION: For text classificationCLUSTERING: For grouping similar textscurl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:embedContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "models/gemini-embedding-001",
"content": {
"parts": [{"text": "Hello world"}]
}
}'
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:embedContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "models/gemini-embedding-001",
"content": {
"parts": [{"text": "What is machine learning?"}]
},
"task_type": "RETRIEVAL_QUERY"
}'
Truncate embeddings to a smaller size for efficiency:
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:embedContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "models/gemini-embedding-001",
"content": {
"parts": [{"text": "Hello world"}]
},
"output_dimensionality": 256
}'
Process multiple texts in a single API call:
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:batchEmbedContents?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"requests": [
{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "What is the meaning of life?"}]}
},
{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "How does the brain work?"}]}
},
{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "What is quantum computing?"}]}
}
]
}'
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:batchEmbedContents?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"requests": [
{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "Document about AI"}]},
"task_type": "RETRIEVAL_DOCUMENT"
},
{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "Document about ML"}]},
"task_type": "RETRIEVAL_DOCUMENT"
}
]
}'
{
"embedding": {
"values": [
-0.02342152,
0.01676572,
0.009261323,
...
]
}
}
{
"embeddings": [
{
"values": [-0.022374554, -0.004560777, ...]
},
{
"values": [-0.007975887, -0.02141119, ...]
},
{
"values": [-0.0047850125, 0.008764064, ...]
}
]
}
| Task Type | Use Case | Example |
|---|---|---|
RETRIEVAL_QUERY | Search queries | "What is machine learning?" |
RETRIEVAL_DOCUMENT | Documents to search | Article content, wiki pages |
SEMANTIC_SIMILARITY | Compare text similarity | Duplicate detection |
CLASSIFICATION | Categorize text | Spam detection, sentiment |
CLUSTERING | Group similar texts | Topic modeling |
RETRIEVAL_DOCUMENTRETRIEVAL_QUERY# Embed the query
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:embedContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "How to train a neural network?"}]},
"task_type": "RETRIEVAL_QUERY"
}'
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:batchEmbedContents?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"requests": [
{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "The cat sat on the mat"}]},
"task_type": "SEMANTIC_SIMILARITY"
},
{
"model": "models/gemini-embedding-001",
"content": {"parts": [{"text": "A feline rested on the rug"}]},
"task_type": "SEMANTIC_SIMILARITY"
}
]
}'
Then compute cosine similarity between the two embedding vectors.
output_dimensionality for smaller, faster embeddings when full precision isn't needednpx claudepluginhub legacybridge-tech/claude-plugins --plugin gemini-apiGuides Google Gemini embeddings API (gemini-embedding-001) usage for RAG, semantic search, vector search, and Cloudflare Vectorize integration. Covers TypeScript SDK, batching, task types, and common errors.
Selects and optimizes embedding models for semantic search and RAG. Covers model comparison, chunking strategies, and pipeline design.