Practical overview
When it fits
Use Stapi when an application or integration expects an OpenAI-compatible embeddings endpoint and you want that endpoint to serve a Sentence Transformers model locally.
Who it is for
- Developers integrating text embeddings into applications that use the OpenAI Embedding API format.
- Teams connecting a locally hosted Sentence Transformers model to a Weaviate text2vec-openai integration.
- Operators deploying an embedding endpoint with Docker or a supported local Python version.
Documented uses
- Generate an embedding for text through the `/v1/embeddings` endpoint.
- Point an OpenAI Python client at a local Stapi API base to request embeddings.
- Configure Weaviate's text2vec-openai module to use a Stapi endpoint.
- Preload a selected Sentence Transformers model for an instance.
Requirements & limits
- Stapi documents both Docker and local Python installation; its Python instructions support versions 3.9, 3.10 and 3.11.
- The default model is
all-MiniLM-L6-v2; another supported model can be selected with theMODELenvironment variable. - A running instance serves one preloaded model, and the request model field does not change it.
- The repository identifies the project as Apache-2.0 licensed.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Start Stapi with Docker
Run the embeddings API in a Docker container with the default preloaded model.
Before you start
- Docker
Steps
Run the command below.
docker run -p 8080:8080 -d ghcr.io/substratusai/stapiOpen
http://localhost:8080/docsto view the API documentation.
Expected outcome
A Stapi API server is started with port 8080 published on the host.
Guide limitations
- The default preloaded model is
all-MiniLM-L6-v2. - Each instance serves only its preloaded model; a different model requires another instance.
Request an embedding from a running Stapi server
Send text to the embeddings endpoint and retrieve an embedding using the documented cURL request.
Before you start
- A running Stapi server reachable at
localhost:8080. - cURL
Steps
Send a JSON POST request to
http://localhost:8080/v1/embeddingswithContent-Type: application/json.Set the request body to include an
inputtext string and the model field, as in the repository example.
Expected outcome
The request asks Stapi for an embedding of the supplied text.
Guide limitations
- Stapi serves its preloaded model; the request's
modelparameter is ignored for model switching.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 17 October 2026
- Original website title
- substratusai/stapi · Official homepage title · retained in its source language

