macrostack
Migration guide · Layer 4

OpenAI Embeddings API → Nomic Embed

What it saves, what actually moves, what you rebuild — and the thing that catches people.

What it costs, and what it saves

OpenAI charges about $0.02 per million tokens for text-embedding-3-small and $0.13 for the large model. At a million documents re-embedded monthly that is real money; nomic-embed runs on your own hardware or a CPU box for nothing.

92
Nomic Embed
Apache-2.0
Effort: Days for the swap. The re-embedding run itself scales with corpus size.

Moves cleanly

Nothing. Embeddings from different models are not interchangeable — vectors from one model are meaningless to another.

You rebuild

Your entire vector index. Every document must be re-embedded and re-indexed from source.

What OpenAI Embeddings API costs you today

Usage-based: $0.02/1M tokens (small) or $0.13/1M (large), half price via the batch API. The real bill is the corpus: every document, every update, and every re-index round-trips through the meter.

What actually holds you in

The sneaky kind: embeddings are model-specific, so switching means re-embedding the entire corpus into a new vector space. The API isn't holding your data hostage — the vectors are. Versioning your embedding model from day one is the escape hatch.

What you are moving to

nomic-embed-text-v1.5 is the open model that made local embeddings boring: Apache-2.0 with the training recipe published, Matryoshka dimensions to trade size for speed, and one-command serving through Ollama on hardware you already own. Its context is 2,048 tokens by default and scales to 8,192 with dynamic rotary scaling switched on — Ollama's build stops at 2K, so chunk to fit.

Free — runs locally via Ollama or sentence-transformers; your hardware is the cost

Nomic Embed strengths

  • Truly open: Apache-2.0 including the training recipe
  • Up to 8,192 tokens with rotary scaling — 2,048 by default
  • One-command local serving through Ollama, CPU-friendly

What you give up

  • English-focused — the multilingual variant is weaker
  • You own the serving and monitoring
  • Benchmark ceiling sits below the premium hosted models

The migration, step by step

  1. 1Confirm you still have the source documents — if you only kept vectors, you cannot migrate at all
  2. 2Benchmark nomic-embed against your actual retrieval queries, not MTEB scores
  3. 3Re-embed a 1,000-document sample and measure recall against the OpenAI index
  4. 4Re-embed everything and write to a NEW collection, not over the old one
  5. 5Switch reads only after comparing retrieval quality side by side

The gotcha

Dimension mismatch. nomic-embed-text is 768 dimensions against text-embedding-3-small's 1536, so your vector database collection must be recreated rather than updated. Teams try to upsert into the existing collection and get an error that does not explain why.

When to stay on OpenAI Embeddings API

Retrieval quality is the product and the API cost is small relative to what a bad answer costs you.

Compare firstAll 5 OpenAI Embeddings API alternatives, rankedWhere this sitsLayer 4 — Models & tooling

More Layer 4 migrations

Figures verified 2026-07-19 against vendor pricing pages. Prices change and migrations differ by estate — treat the cost delta as a starting model, not a quote. Rankings and recommendations here are merit-only; affiliate income never changes a verdict. See our methodology.

The Macrostack brief

New swaps, worth your inbox.

A short, occasional email when we add a high-intent alternative or ship a new head-to-head. No spam, no selling your address — unsubscribe in one click.