gemini-embedding-exp — Retired
- Deprecated
- —
- Shutdown
- 2025-10-30
- Status
- retired
- Replacement
- gemini-embedding-001
Quick fix — copy & paste
Choose your language. The "before" block matches the deprecated call; the "after" block is the drop-in replacement.
# Gemini: gemini-embedding-exp (retired)
model = "gemini-embedding-exp" # Replacement
model = "gemini-embedding-001" // Gemini: gemini-embedding-exp (retired)
const model = "gemini-embedding-exp"; // Replacement
const model = "gemini-embedding-001"; "model": "gemini-embedding-exp" "model": "gemini-embedding-001" This migration was generated automatically from the model rename. If your code does more than swap a model id, double-check request/response shapes against the official Gemini migration guide.
Error messages
Seeing one of these? You're in the right place.
-
model_not_found: gemini-embedding-exp -
The model `gemini-embedding-exp` has been deprecated -
The model `gemini-embedding-exp` does not exist or you do not have access to it
Replacement options
-
gemini-embedding-001Compare token cost →
Other Gemini deprecations
What this means for your code
gemini-embedding-exp is an embedding model that converts text into a vector for similarity search and RAG. Embeddings from different models are not interchangeable — you cannot mix vectors from the old model with vectors from the new model in the same index. Migration requires re-embedding your entire corpus.
gemini-embedding-exp was retired by Gemini on 2025-10-30. API calls now return an error and the model is no longer accessible. New code should use gemini-embedding-001; legacy code that still references this model id needs to be updated immediately.
Find every call in your codebase
Before you change anything, locate every place the deprecated model id is referenced. Search source files, environment files, feature flags, and config repos. Use these commands from your project root:
Python projects
grep -rn '"gemini-embedding-exp"' --include="*.py" . JavaScript / TypeScript projects
grep -rn '"gemini-embedding-exp"' --include="*.{js,ts,tsx,jsx}" . Anywhere (configs, scripts, infra)
grep -rn "gemini-embedding-exp" . Migration checklist
Steps in order. Skip any that don't apply, but read the whole list — for embedding models, the non-obvious steps are usually the ones that break in production.
- 1. Update the model id used in embedding generation
- 2. Re-embed your entire corpus with the new model — this is non-optional
- 3. Verify the new vector dimension matches your vector store's index configuration
- 4. Update similarity thresholds — different models have different distance distributions
- 5. Plan a cutover window where both old and new indices coexist before switching reads
Will this migration cost more?
Switching from gemini-embedding-exp to gemini-embedding-001 could change your costs significantly. Calculate the exact difference for your prompts.
Open the cost calculator →