Embeddings

Text Embedding 3 Small API

OpenAI text-embedding-3-small — production-default embedding model. 1536 dimensions, ~5× cheaper than 3-large, strong retrieval quality. Right default for most RAG + semantic search.

model: openai/text-embedding-3-small
Wholesale key required. This endpoint accepts wholesale keys only. Have access? Get your key on the wholesale dashboard. Not on wholesale yet? Email admin@skillboss.co with your use case — we'll get you provisioned.

Quickstart

Embeddings use the OpenAI-compatible /v1/embeddings endpoint. Batch multiple texts in one request (input as an array) for cost efficiency.

bashcurl https://api.skillboss.co/v1/embeddings \
  -H "Authorization: Bearer $SKILLBOSS_WHOLESALE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/text-embedding-3-small",
    "input": "The quick brown fox jumps over the lazy dog"
  }'

Your first 200 response is the fastest way to confirm setup. From there, swap in your real prompt and tune the model-specific parameters listed below.

Authentication

Every request must include your wholesale key. The header name depends on the endpoint — match the SDK you're using:

bashAuthorization: Bearer $SKILLBOSS_WHOLESALE_KEY

Treat the wholesale key like a password — never commit it to source control or ship it in client-side bundles. Rotate from the wholesale dashboard if exposed. Standard (non-wholesale) console keys are rejected at the gateway with 401.

Code examples

Python
pythonimport os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["SKILLBOSS_WHOLESALE_KEY"],
    base_url="https://api.skillboss.co/v1",
)

resp = client.embeddings.create(
    model="openai/text-embedding-3-small",
    input="The quick brown fox jumps over the lazy dog",
)
print(len(resp.data[0].embedding), "dims")
JavaScript / TypeScript
typescriptimport OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.SKILLBOSS_WHOLESALE_KEY,
  baseURL: "https://api.skillboss.co/v1",
});

const resp = await client.embeddings.create({
  model: "openai/text-embedding-3-small",
  input: "The quick brown fox jumps over the lazy dog",
});

console.log(resp.data[0].embedding.length, "dims");

Parameters

OpenAI-compatible embeddings parameters. input can be a single string or an array of strings for batch embedding in one request.

NameTypeRequiredDescription
modelstringrequiredModel id. Use openai/text-embedding-3-small.
inputstring | arrayrequiredSingle string or array of strings to embed. Batch in one request for cost efficiency.
dimensionsintegeroptionalTruncate the embedding to N dimensions (text-embedding-3-* only).
encoding_formatstringoptionalfloat (default) or base64.

Endpoint

MethodPOST
URLhttps://api.skillboss.co/v1/embeddings
Auth headerAuthorization: Bearer $SKILLBOSS_WHOLESALE_KEY
Content-Typeapplication/json
StreamingNot applicable — embeddings return a single response.

Errors

The API uses standard HTTP status codes:

200OKRequest succeeded.
400Bad RequestInvalid model, missing required field, or malformed JSON.
401UnauthorizedMissing or invalid wholesale key. Non-wholesale console keys are rejected here.
402Insufficient CreditsWholesale balance too low — top up on the wholesale dashboard.
429Rate LimitedToo many requests. Back off with exponential delay.
500Server ErrorTransient upstream issue. Safe to retry.
503Upstream UnavailableDiscount pool capacity issue (lite tier). Retry or fall back to standard tier.

Pricing

Wholesale pricing is your account-specific discount × vendor list price. Discount rate depends on your contract — see the live numbers on the wholesale dashboard. The dashboard shows your current cost per 1M tokens (or per image / per second) for every model.

No platform markup on standard token billing. Volume tiers + monthly caps are configurable per key.