Anonymous demo bearer
60 requests/minute
Start without signup
- 1500 requests/day per IP, per active instance
- Rate limits are in-process abuse guardrails
- Mint again when the bearer expires
Free · honest provenance · OpenAI-compatible
Warm open models on CPU for embeddings, reranking, and classification. Keep your OpenAI client, switch the API base, and get signed provenance receipts on every result.
Measured, not marketed
This table is populated from the service's real /status.json response. Latencies are this-instance p50s since start, not a synthetic promise.
Loading live status…
| Capability | Warm model | p50 | State |
|---|---|---|---|
| Waiting for /status.json… | |||
Actually free
No card. No email. Anonymous access uses a short-lived demo bearer; a revocable durable key doubles the minute rate and gives you a stable identity.
Anonymous demo bearer
60 requests/minute
Free durable bay_live_ key
120 requests/minute
export BAY_RUN_API_KEY=$(curl -sS -X POST https://run.huggingbay.xyz/v1/keys/free | jq -r .key)
An embeddings, rerank, or classify response may include a provenance_receipt. Only an Ed25519 receipt with a manifest-backed served Hugging Bay weight hash is marked cryptographically_verified; it binds the request hash, candidate set, metrics, warm/cold latency class, and served weight hash so POST /v1/provenance/verify is complete from the receipt alone. HMAC fallback is labeled this is a MAC, not a proof; missing bindings remain curated/not cryptographically verified. No receipt proves embedding quality or answer truth.
Keep your stack
These exact constructor shapes returned 384-dimensional vectors from the live API on 2026-08-18. The model line changes from a proprietary id to Bay Run's pinned open model.
openai
Live-checked · openai-python 2.16.0 + 3.2.0
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["BAY_RUN_API_KEY"],
+ base_url="https://run.huggingbay.xyz/v1",
)
response = client.embeddings.create(
- model="text-embedding-3-small",
+ model="BAAI/bge-small-en-v1.5",
input=["hello", "verified vectors"],
)
openai
Live-checked · openai-node 7.5.0
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.BAY_RUN_API_KEY,
+ baseURL: "https://run.huggingbay.xyz/v1",
});
const response = await client.embeddings.create({
- model: "text-embedding-3-small",
+ model: "BAAI/bge-small-en-v1.5",
input: ["hello", "verified vectors"],
});
langchain-openai
Live-checked · langchain-openai 1.5.2
from langchain_openai import OpenAIEmbeddings
embeddings = OpenAIEmbeddings(
api_key=os.environ["BAY_RUN_API_KEY"],
- model="text-embedding-3-small",
+ model="BAAI/bge-small-en-v1.5",
+ base_url="https://run.huggingbay.xyz/v1",
)
vector = embeddings.embed_query("specialist embeddings")
@langchain/openai
Live-checked · @langchain/openai 1.5.8
import { OpenAIEmbeddings } from "@langchain/openai";
const embeddings = new OpenAIEmbeddings({
apiKey: process.env.BAY_RUN_API_KEY,
- model: "text-embedding-3-small",
+ model: "BAAI/bge-small-en-v1.5",
+ configuration: { baseURL: "https://run.huggingbay.xyz/v1" },
});
const vector = await embeddings.embedQuery("specialist embeddings");
llama-index-embeddings-openai
Live-checked · llama-index-embeddings-openai 0.6.0
from llama_index.embeddings.openai import OpenAIEmbedding
embeddings = OpenAIEmbedding(
api_key=os.environ["BAY_RUN_API_KEY"],
- model="text-embedding-3-small",
+ model_name="BAAI/bge-small-en-v1.5",
+ api_base="https://run.huggingbay.xyz/v1",
)
vector = embeddings.get_text_embedding("specialist embeddings")
ai + @ai-sdk/openai-compatible
Live-checked · AI SDK 7.0.67 + openai-compatible 3.0.31
-import { openai } from "@ai-sdk/openai";
+import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import { embed } from "ai";
+const bayRun = createOpenAICompatible({
+ name: "bay-run",
+ apiKey: process.env.BAY_RUN_API_KEY,
+ baseURL: "https://run.huggingbay.xyz/v1",
+});
const { embedding } = await embed({
- model: openai.embeddingModel("text-embedding-3-small"),
+ model: bayRun.embeddingModel("BAAI/bge-small-en-v1.5"),
value: "specialist embeddings",
});
Small enough to read
Plain Python pages, no framework scaffolding: set BAY_RUN_API_KEY, install the named dependency, and run.