text-embedding-3-small API
Use text-embedding-3-small from the Embedding family via RunAPI. Per-call pricing, no subscription, and failed generations are never charged.
# Base URL
https://runapi.ai
# Endpoints
POST /v1/embeddings
curl https://runapi.ai/v1/chat/completions \
-H "Authorization: Bearer $RUNAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-small",
"input": [
"Embed these support articles and a customer query so I can rank the closest matches."
],
"encoding_format": "float"
}'
from openai import OpenAI
client = OpenAI(
base_url="https://runapi.ai/v1",
api_key="your-runapi-key"
)
response = client.chat.completions.create(
model="text-embedding-3-small",
messages=[{"role": "user", "content": "Embed these support articles and a customer query so I can rank the closest matches."}]
)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://runapi.ai/v1",
apiKey: "your-runapi-key"
});
const response = await client.chat.completions.create({
model: "text-embedding-3-small",
messages: [{ role: "user", content: "Embed these support articles and a customer query so I can rank the closest matches." }]
});
text-embedding-3-small targets the sweet spot of quality and cost within the Embedding family. It shares the same API key, request shape, and async task lifecycle as every other RunAPI model — switch to this variant by changing one model ID parameter. Install the Embedding skill to load docs, typed schemas, pricing notes, and setup steps into your coding workspace. Billing is metered per completed request in USD with no subscription or minimum spend, and failed generations are never charged.
- Pay-per-call pricing in USD with no subscription
- Failed generations are never charged
- Streaming when supported by the model
- Schema-validated parameters and tool calls
- Switch variant by changing one model ID parameter
- Unified billing across all models and providers
Pricing
Technical details
| Model ID | text-embedding-3-small |
| Provider | OpenAI |
| Modality | text |
| Task type | synchronous |
| Billing unit | 1K tokens |
| API endpoint | /v1/embeddings |
| Commercial license | Yes — included via API |
| Catalog status | Operational |
Model skill — text-embedding-3-small
Install the skill once, then use the variant ID from this page while building.
| Endpoint | Protocol |
|---|---|
| /v1/embeddings | OpenAI Embeddings |
Use text-embedding-3-small with a model skill
Install
Install the model skill for the Embedding line. The skill loads docs, typed schemas, pricing notes, and setup steps into your coding workspace so your agent has the right context.
Configure
Set the model field to the full model ID shown on this page and configure your RunAPI API key as an environment variable. The same key works across all models and providers.
Call
Use the skill instructions while adding prompt, input, and callback handling to your application. RunAPI routes the request to the provider, manages the async lifecycle, and returns structured JSON.
Receive
Read the task response by polling the task ID, streaming when supported, or handling the webhook callback at your configured URL. Generated outputs are stored and retrievable by task ID.
What's different about text-embedding-3-small
Efficient text vectors for production semantic search
High-capacity text vectors for retrieval and ranking quality
Efficient text vectors for production semantic search
Broadly supported text embeddings for existing pipelines
Best for
Semantic search
Index documents, FAQs, or product catalogs as vectors and retrieve the most relevant results by meaning instead of keyword match.
RAG pipelines
Embed knowledge-base chunks and feed the closest matches into an LLM prompt for grounded, citation-backed answers.
Clustering & classification
Group support tickets, survey responses, or user feedback by semantic similarity without manual labeling.
Frequently asked questions about text-embedding-3-small
Is the model ID stable across versions?
Yes. RunAPI keeps the model ID stable and handles compatible version refreshes without changing your request shape. You do not need to update your code when the provider releases a new compatible version.
What's the rate limit on this variant?
Per-key rate limits scale with your usage tier. The pricing page shows current limits. If you need higher throughput, contact support to discuss tier upgrades.
Can I switch variants later?
Yes. Variant is a parameter in the request. Switch by changing the model ID — no code changes, no re-authentication, no separate billing setup. All variants share the same API key and request shape.
Does it stream?
Where streaming is available, RunAPI streams end-to-end. LLM models support token-level streaming. Media models use async task polling or webhook callbacks for result delivery.
Where do I report quality issues?
Open an issue on the public GitHub repo or email support at [email protected]. Include the task ID and model ID so the team can investigate the specific generation.
Do I need a separate provider account?
No. Your RunAPI API key is enough to access this variant and every other model in the catalog. You do not need accounts with the underlying provider.
What dimensions does text-embedding-3-small output?
text-embedding-3-small outputs 1,536 dimensions by default. It supports Matryoshka embeddings, so you can request 256, 512, or 1,024 dimensions to reduce storage cost while retaining most of the retrieval quality.
How does text-embedding-3-small compare to text-embedding-3-large?
text-embedding-3-large has 3,072 dimensions and scores about 2 points higher on the MTEB benchmark, but costs roughly 6.5 times more per million tokens. For most semantic search and RAG use cases, text-embedding-3-small delivers comparable quality at a fraction of the cost.
What is the cost of text-embedding-3-small on RunAPI?
RunAPI charges per embedding call with no subscription or minimum spend. Check the pricing grid on this page for the current per-call rate. Failed requests are never charged.
Can I use batch processing to reduce embedding costs?
Yes. Send multiple texts in a single API call to reduce overhead. RunAPI processes batch embedding requests and returns all vectors in one response, which is more efficient for indexing large document collections.