Developer
Build on the decision, not on a guess.
Generate text, edit code, look something up, speak, or make an image through one call. Separator tells you which of those just happened.
Decision plane
4.2 ms
explanationreason-1
- Works with the HTTP API or an OpenAI-compatible client pointed at our base URL.
- Decisions are priced apart from the tokens a lane spends answering.
- The preview is the way in. Production terms are written down before the volume shows up.
/v1/route
const response = await fetch("https://api.veloxity.si/v1/route", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.VELOXITY_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
input: "Close the month and flag anything without a receipt.",
allow: ["ops-1", "write-1", "reason-1"],
}),
});
const decision = await response.json();
console.log(decision.latency_ms, decision.parts);Quickstart
From a key to a typed response.
1
Ask for a preview key
Write to us from the contact page. Keys are issued for an integration, not from an open console yet.
2
POST /v1/route
Send the input and, if you need to, an allow-list of lane ids. The base URL is https://api.veloxity.si/v1.
3
Read the decision
Switch on type. A single hop names a model. A fan-out names parts. Pending means nothing was called.
{
"id": "rte_01",
"latency_ms": 4.6,
"type": "fan-out",
"contract": "Fanout<Request, Part[]>",
"model": null,
"parts": [
{ "type": "workflow", "model": "ops-1" },
{ "type": "prose", "model": "write-1" },
{ "type": "explanation", "model": "reason-1" }
]
}Lanes
What each model is for.
| Model | Best at | Contract | Usage |
|---|---|---|---|
| reason-1 | Explanations, judgment, and questions with more than one reading. | Route<Question, Answer> | $1.50 in / $6.00 out per 1M tokens |
| code-1 | Patches, reviews, and explanations of a change. | Route<ChangeRequest, Diff> | $1.25 in / $5.00 out per 1M tokens |
| write-1 | Summaries, drafts, and captions with a brief attached. | Route<Brief, Document> | $1.00 in / $4.00 out per 1M tokens |
| search-1 | Lookups that need sources attached to the answer. | Route<Query, Sources> | $0.80 in / $3.00 out per 1M tokens |
| vision-1 | Stills and short moving images from a prompt. | Route<Prompt, Media> | $0.02 per image · $0.04 per video second |
| speech-1 | Transcripts and spoken replies. | Route<Audio, Transcript> | $0.06 per minute |
| ops-1 | Tasks with a checklist: reconcile, schedule, file, follow up. | Route<Task, Result> | $1.10 in / $4.40 out per 1M tokens |
A routing decision on the developer plan is included in the monthly allowance. Lane usage above is metered when a model actually runs.
What you can build
Code
Patches and reviews stay on code-1, typed as a diff.
Text
Explanations and judgments go to reason-1.
Documents
Summaries and drafts go to write-1 on their own contract.
Lookup
A search request returns sources, not an untyped paragraph.
Media
vision-1 takes prompts for stills and short video.
Speech
speech-1 transcribes. A hidden action in the same utterance splits off.
Enterprise
Controls on the handoff.
These are product controls, not certifications. We do not claim an audit you have not seen.
Allow-list
Name the lanes a team may reach. Others are refused.
Hop log
Type, model, latency, and parts. Prompt bodies are optional.
Region pin
Enterprise agreements can pin where the decision record lives.
Keys per environment
Preview, staging, and production do not share a secret.
Questions
What is a decision?+
A decision is one call to Separator. It includes the type, the contract, the model or the fan-out list, and the milliseconds spent choosing. Tokens generated by the model on a lane are metered separately.
Do I pick the model myself?+
You can. Send model “separator” and Separator chooses from your allow-list. Send a lane id such as code-1 and the hop stays on that lane if the type fits the contract. A mismatch is refused.
When does a request split?+
When it contains more than one type of work. Closing the books, writing the summary, and reading a clause are three parts. Each part is a small request to a different model. The response lists them.
Is the millisecond figure a benchmark we publish from production?+
No. The product is designed so the routing decision — not the model’s full answer — lands in milliseconds, under 10 ms as the target. The consoles on this site illustrate that contract. They are not a live measurement of the API.
Is the API generally available?+
It is in preview. Request a key and VeloxitySI will integrate Separator with the stack you run. The status page marks the API as preview on purpose.
Separator
Put a typed route in front of the models you already call.
Decision
explanation
reason-1
4.2 ms