OpenAI
Operational· checked every few minutes

Text Embedding 3 Large API

OpenAI's text-embedding-3-large on the same API OpenAI serves it on, for $0.065 per 1M tokens instead of $0.13: its larger embedding model, with vectors that match OpenAI's own.

Price per 1M input tokens50%off
Input
$0.065$0.13
Output
$0.00
Model IDtext-embedding-3-largeUpdated
embed.py
from openai import OpenAI
client = OpenAI(
base_url="https://api.zurelay.com/v1",
api_key="YOUR_ZURELAY_KEY",
)
response = client.embeddings.create(
model="text-embedding-3-large",
input=[
"How can I change my password?",
"Invoices go out on the first of each month.",
],
)
for item in response.data:
print(item.index, len(item.embedding)) # 3072 each
print(response.usage.prompt_tokens, "tokens")

Base URL https://api.zurelay.com/v1. Works with any OpenAI SDK, LangChain, LlamaIndex and the AI SDK. Embeddings API docs

Dimensions
3,072, or fewer
Per input
Up to 8,192 tokens
Per request
2,048 inputs, 300K tokens
Output
Vectors, free
Released
Jan 25, 2024
Status
Operational

Pricing

Text Embedding 3 Large API pricing. A fraction of the list price.

Pay as you go from prepaid credit, with no subscription. Top up from $10. Requests that fail are never billed.

RateZurelayOpenAI list
Input
per 1M tokens
$0.065$0.13
Output
per 1M tokens
$0.00—

Billed on the tokens you send, counted the way OpenAI counts them, with no minimum per request. The vectors are free, and shorter dimensions or base64 cost the same. Requests that fail cost nothing.

Savings calculator

Move the sliders to your monthly usage.

Input tokens per month50M
Zurelay
$3.25
OpenAI list price
$6.50
You save every month$3.25

$39.00 a year

Cost

Text Embedding 3 Large API cost, worked out.

Typical workloads at Zurelay's live prices, next to the list price.

    Overview

    What is Text Embedding 3 Large?

    Text Embedding 3 Large (text-embedding-3-large) is OpenAI's larger embedding model, for when retrieval quality matters most. It turns text into a vector of 3,072 numbers, placed so that texts with similar meanings sit close together, for semantic search, retrieval (RAG), clustering and recommendations. Zurelay serves it on OpenAI's embeddings endpoint with the same model ID, request and response, at 50% below OpenAI's list price, and the vectors match OpenAI's own.

    Send text to POST https://api.zurelay.com/v1/embeddings with the model ID text-embedding-3-large and you get back one vector per input, in OpenAI's response shape. The input can be a string, an array of up to 2,048 strings, an array of token IDs from OpenAI's cl100k_base tokenizer, or an array of up to 2,048 token arrays. Each input can be up to 8,192 tokens, and one request up to 300,000 tokens in all.

    Vectors have 3,072 dimensions by default. The dimensions parameter shortens them to any length from 1 to 3,072: the text-embedding-3 models are trained so that a shortened vector still works, and it comes back re-normalised. At 1,024 dimensions a vector takes a third of the storage of the full one and searches faster. With encoding_format set to base64, each vector comes back as base64-encoded little-endian float32 numbers, smaller and faster to download; OpenAI's Python SDK asks for that by default and decodes it for you.

    OpenAI's SDKs work as they are: set the base URL to https://api.zurelay.com/v1, use your Zurelay key and call client.embeddings.create. So do LangChain's OpenAIEmbeddings, LlamaIndex's OpenAIEmbedding, the Vercel AI SDK's OpenAI provider and apps that let you set an OpenAI base URL for embeddings. We checked every route against OpenAI's own API: for the same text the vectors match, with a cosine similarity of 0.9999 or more, so an index built with OpenAI's API keeps working when you query it through Zurelay.

    It's billed on input tokens only, counted the way OpenAI counts them: $0.065 per 1M on Zurelay against OpenAI's $0.13, with no minimum per request, and the vectors are free. An embeddings request is always answered by the model you name: vectors from different models can't be compared, so Zurelay never answers with another one, and moving to another model means embedding everything you've stored again.

    Strengths

    Where Text Embedding 3 Large shines. And what teams build with it.

    01

    OpenAI's larger embedding model

    For search and RAG where finding the right passage matters more than storage or price per token.

    02

    Half OpenAI's price

    $0.065 per 1M tokens against OpenAI's $0.13, with no minimum per request, and the vectors are free.

    03

    Your index keeps working

    The vectors match OpenAI's for the same text, so an index you built with OpenAI's API needs no re-embedding to move to Zurelay.

    04

    Size it to your index

    Ask for anything from 1 to 3,072 dimensions: shorter vectors come back re-normalised, take less storage and search faster.

    Use cases

    • Semantic search

      Find documents, products or tickets by what they mean, not the exact words, by the cosine similarity of their vectors.

    • Retrieval for chatbots (RAG)

      Fetch the passages closest to a question and hand them to a chat model on the same Zurelay key.

    • Deduplication and clustering

      Group near-duplicate records, support tickets or reviews by how close their vectors are.

    • Recommendations

      Suggest similar articles, products or listings from the vectors of what someone looked at.

    Get started

    Call Text Embedding 3 Large in three steps.

    No waitlist and no new SDK. If your code already calls OpenAI's embeddings, it works with Zurelay, and so do the vectors you've stored.

    1. 1

      Create a key

      Sign up, add credit and create an API key. Set a monthly budget or a rate limit per key if you like.

    2. 2

      Point your SDK at Zurelay

      Change the base URL. The model IDs, the request and the vectors stay the same as OpenAI's.

      https://api.zurelay.com/v1
    3. 3

      Use text-embedding-3-large

      Call client.embeddings.create, or POST text to /v1/embeddings, one string or up to 2,048 at once, and get a vector for each.

      text-embedding-3-large

    FAQ

    Text Embedding 3 Large API questions.

    Anything else? Ask our team and we’ll answer by email.

    How much does the text-embedding-3-large API cost?

    Zurelay charges $0.065 per 1M input tokens, against OpenAI's list price of $0.13, so you save 50%. The vectors are free: you pay only for the tokens you send, counted the way OpenAI counts them, with no minimum per request. Requests that fail cost nothing.

    Is it the same as OpenAI's text-embedding-3-large?

    Yes. Requests to text-embedding-3-large run on OpenAI's model, and we checked every route against OpenAI's own API: for the same text, the vectors match OpenAI's with a cosine similarity of 0.9999 or more. Zurelay is an independent service and is not affiliated with or endorsed by OpenAI.

    Will the vectors I already have keep working?

    Yes. Vectors you made with OpenAI's text-embedding-3-large can be searched with queries embedded through Zurelay, and the other way round. Only moving to another model, such as text-embedding-3-small, means embedding everything again: vectors from different models can't be compared.

    Should I use text-embedding-3-large or text-embedding-3-small?

    Start with text-embedding-3-small: it costs much less per token, and its 1,536-dimension vectors suit most search and RAG. Pick text-embedding-3-large when finding the right passage matters more than storage and price. Whichever you pick, use it for everything you compare, since vectors from the two can't be mixed.

    How do I call text-embedding-3-large with the OpenAI SDK?

    Create a Zurelay API key, set the base URL to https://api.zurelay.com/v1 and call client.embeddings.create with model set to text-embedding-3-large and your text as input. Or POST the same JSON to https://api.zurelay.com/v1/embeddings with your key as a Bearer token. The docs at https://zurelay.com/docs/embeddings have examples in Python, Node.js and cURL.

    How many dimensions does text-embedding-3-large have?

    3,072 by default. Set dimensions to any number from 1 to 3,072 for a shorter vector: the model is trained so that a shortened vector still works, and it comes back re-normalised. 1,024 dimensions take a third of the storage. Use the same length for every vector you compare.

    Does it work with LangChain, LlamaIndex and the AI SDK?

    Yes. Give LangChain's OpenAIEmbeddings or LlamaIndex's OpenAIEmbedding the model ID text-embedding-3-large, Zurelay's base URL and your key, or create the Vercel AI SDK's OpenAI provider with them. LangChain's Python class sends token IDs by default, which Zurelay accepts, so its default settings work.

    What are the limits?

    Up to 2,048 inputs a request, up to 8,192 tokens in each, and up to 300,000 tokens in the whole request. Empty strings aren't accepted. A request over a limit gets a 400 error that names the limit, and costs nothing.

    Can smart routing answer with another model?

    No, never for embeddings. Vectors from different models can't be compared, so another model's would be wrong for your index. If text-embedding-3-large is down, the request fails with a 503 error you can retry.

    Can I try it in the Playground?

    Yes. In the dashboard's Playground, pick text-embedding-3-large, write a few texts and embed them: you see each vector's first numbers, the tokens billed, the cost and the cosine similarity of every pair. Get code writes the same request for Python, Node.js or cURL.

    More models on Zurelay

    All models

    Stop paying list price.
    Start saving today.

    Create a key in seconds, point the SDK you already use at Zurelay, and every request costs up to 90% less from the first token.