Skip to content

Getting Started

Provider Keys

Supported embedding providers, key validation, and dimension locking.

Supported Providers

ProviderEmbeddingsLLMDefault Model
OpenAIYesYestext-embedding-3-small
Google GeminiYesYesgemini-embedding-001
CohereYesNoembed-v4.0
Voyage AIYesNovoyage-3
Azure OpenAIYesYestext-embedding-3-small
MistralYes (256d fixed)Yesmistral-embed
OllamaYesYesnomic-embed-text
QwenYesNoQwen3-Embedding-8B

Save a Provider Key

POST https://api.metamemory.tech/v1/account/keys
{
  "provider": "gemini",
  "apiKey": "AIzaSy...",
  "dimensions": 1024  // optional, locks on first save
}

The key is validated before saving — a test embedding call is made. If it fails, you get a clear error.

Dimension Locking

Your embedding dimensions are locked on the first provider key save. All subsequent providers must produce the same dimensions. This ensures vector search compatibility across providers.

Recommended: Use 1024 dimensions — supported by OpenAI, Gemini, Cohere, and Voyage.

To reset dimensions (deletes all memories):

DELETE https://api.metamemory.tech/v1/account/dimensions

Default Provider

The first key you save becomes the default. To change it:

PUT https://api.metamemory.tech/v1/account/keys/cohere/default

The default provider is used when no X-Provider-Key header is sent.

Header Passthrough

Override the stored key per-request using headers:

curl -X POST https://api.metamemory.tech/v1/memories \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Provider-Key: sk-your-openai-key" \
  -H "X-Provider: openai" \
  -H "X-Embedding-Model: text-embedding-3-large" \
  -H "Content-Type: application/json" \
  -d '{"content": "...", "userId": "..."}'