LFM2.5-Embedding-350M (free) API: toman pricing and code
liquid/lfm-2.5-embedding-350m:free
You are billed for the usage the request actually reported. Prices follow the market.Pricing and top-ups
LFM2.5-Embedding-350M (free) example: embeddings for semantic search
The example is picked from this model's own capabilities. Drop in your key and it runs as is.
curl https://api.uttapen.ir/v1/embeddings \
-H "Authorization: Bearer sk-up-…" \
-H "Content-Type: application/json" \
-d '{
"model": "liquid/lfm-2.5-embedding-350m:free",
"input": ["How long is the electric kettle warranty?", "Warranty period for kitchen appliances"]
}'from openai import OpenAI
import numpy as np
client = OpenAI(base_url="https://api.uttapen.ir/v1", api_key="sk-up-…")
docs = ["The electric kettle warranty is 18 months.", "Orders ship within 48 hours."]
question = "How long is the kettle guaranteed for?"
vecs = client.embeddings.create(model="liquid/lfm-2.5-embedding-350m:free", input=docs + [question]).data
M = np.array([v.embedding for v in vecs])
M /= np.linalg.norm(M, axis=1, keepdims=True)
scores = M[:-1] @ M[-1]
print(docs[int(scores.argmax())])import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.uttapen.ir/v1", apiKey: "sk-up-…" });
const docs = ["The electric kettle warranty is 18 months.", "Orders ship within 48 hours."];
const { data } = await client.embeddings.create({ model: "liquid/lfm-2.5-embedding-350m:free", input: [...docs, "How long is the kettle guaranteed for?"] });
const norm = (v) => { const n = Math.hypot(...v); return v.map((x) => x / n); };
const vecs = data.map((d) => norm(d.embedding));
const q = vecs.at(-1);
const dot = (a, b) => a.reduce((s, x, i) => s + x * b[i], 0);
const best = vecs.slice(0, -1).map((v, i) => [dot(v, q), i]).sort((a, b) => b[0] - a[0])[0][1];
console.log(docs[best]);What is LFM2.5-Embedding-350M (free) good for?
Liquid ships this model for turning text into vectors; on uttapen it is "liquid/
It is multilingual, which matters for Persian text; still, measure it on a few dozen real questions against your own documents before committing.
LFM2.5-Embedding-350M is a text embedding model from Liquid AI. It produces 1,024-dimensional embeddings for retrieval and semantic search. Successful this platform requests and embeddings may be retained and used to train...
Three real jobs, priced on this model
Each figure is derived from the prices above and moves when they do.
| Job | Tokens | Cost |
|---|---|---|
| One user search query | 30 in | 0.00 toman |
| Indexing 10,000 product titles | 300,000 in | 0.00 toman |
| Indexing 1,000 documents of 500 tokens | 500,000 in | 0.00 toman |
Frequently asked
- How do I get vectors from LFM2.5-Embedding-350M (free)?
- Create an API key, point the official OpenAI SDK's base_url at https:/
/ api.uttapen.ir/ v1 and call client.embeddings.create with model "liquid/ lfm-2.5-embedding-350m:free" and an input string or list of strings. Each input comes back as one vector in data. - What does LFM2.5-Embedding-350M (free) cost in toman?
- 0 toman per 1M input tokens, and output is free. You pay for the input tokens the request reported; a failed request costs nothing.
- Can I use LFM2.5-Embedding-350M (free) for chat?
- No. An embedding model writes no text, so chat/
completions with it returns 400. For RAG, build the vectors here and let a chat model write the answer. - What are the limits of the free variant?
- A daily per-user cap and shared capacity; when the pool runs out the request is refused with a clear error and your wallet is untouched.