Migration guidesFrom Unify
Off the Unify router
Unify offered one OpenAI-compatible API across providers, addressed as model@provider, with routing to the best model per prompt. Its site now describes a different product. We could not read its router docs today, so this page claims only what we could confirm, and shows the move.
Pivoted to continual learning; router docs no longer public; GitHub repo archived 2026-10-16
INFRO accounts are self-serve. The catalog, the docs, and the API contract are public, the gateway is deployed, and anything beyond v1 is marked Later. Plans and trial
Where things stand
What we could read
unify.ai presents continual learning for AI teams (Continual-ARC). The unifyai/unify repository was archived by its owner on 2026-10-16. docs.unify.ai and the API's endpoint listing redirect to a sign-in.
What we could not
An official notice that the router is shut down, and whether paid traffic is still served. If yours still works, there is time; plan the move anyway.
The current Python package
unifyai on PyPI is now a logging and evaluation SDK (unify.activate, unify.log), not a router client.
INFRO is one of several. It is the right one only if this matches.
- INFRO runs on provider accounts you hold. If you used Unify to avoid opening accounts at each provider, an aggregator such as OpenRouter fits better, and can itself be one of your INFRO connections.
- INFRO does not route to the best model per prompt by benchmark. A route's prompt classifier sends classes of prompts to targets you choose.
- If you are using the new
unifyaipackage for logging and evaluation, that is a different job, and INFRO does not do it.
The edits, one row each. Everything not listed here stays as it is.
| Unify | INFRO | |
|---|---|---|
| Base URL | https://api.unify.ai/v0 | https://api.infro.io/v1 |
| Key | UNIFY_KEY, a Unify key. | An INFRO gateway key; provider accounts as connections. |
| Model id | gpt-5.6-terra@openai, llama-4-maverick@together-ai. | openai/gpt-5.6-terra; the provider is whichever of your connections serves it, narrowed with routing.providers (together). |
| Routing | Router strings for best-model routing. | A route, optionally with a prompt classifier. |
Before · Unify
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.unify.ai/v0",
api_key=os.environ["UNIFY_KEY"],
)
client.chat.completions.create(
model="gpt-5.6-terra@openai",
messages=[{"role": "user", "content": "Hello"}],
)After · INFRO
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.infro.io/v1",
api_key=os.environ["INFRO_API_KEY"],
)
client.chat.completions.create(
model="openai/gpt-5.6-terra",
messages=[{"role": "user", "content": "Hello"}],
extra_body={"routing": {"providers": {"allow": ["openai"]}}},
)`model@provider` becomes two things
The model becomes INFRO's vendor/model id. The provider becomes a connection you hold, and routing.providers.allow when a request must use that one.
List your endpoints first
Write down every model@provider your code uses before the old API stops answering; each one needs a provider account on your side.
Failover
Two connections that serve the same model (OpenAI and Azure OpenAI, Anthropic and Vertex AI) give failover with no code change.
Unify's objects against INFRO's, from Unify's public documentation read on 19 October 2026 and checked against what the gateway implements. One row says INFRO has nothing.
| Unify | What it does there | In INFRO |
|---|---|---|
| Universal APIdifferent | One OpenAI-compatible endpoint across providers. | One OpenAI-compatible endpoint across your own provider accounts. |
| `model@provider` endpointsdifferent | Model and host in one id. | vendor/model, plus routing.providers to choose the host. |
| Best-model routingdifferent | Routes each prompt to the best model. | A route's prompt classifier sends classes of prompts to targets you choose. No benchmark-based choice. |
| Logging and evaluation SDKnothing | The current unifyai package. | A request log and traces; no evaluation. |
Our reading of Unify’s published documentation, not a trial or a benchmark. If we have read something wrong, tell us and we will fix the row.
What INFRO does not do
- Provide model access without your own provider accounts.
- Choose the best model per prompt from benchmarks.
- Evaluate or train on your traffic.
What does not come across
- Anything stored in your Unify console. Export it while you can sign in.
Questions
- Is the Unify router shut down?
- We found no official notice. Its site now presents a different product, its docs require sign-in and its repository was archived on 2026-10-16.
- What replaces `model@provider`?
vendor/modelas the model, and the provider as one of your connections, chosen withrouting.providerswhen it matters.- Who pays for model usage on INFRO?
- You, directly to your providers. INFRO is a subscription with 0% markup on model spend.
Move with us, or on your own
The migration program maps your Unify setup to INFRO connections, routes and budgets on a call and moves the first service with you. Your providers keep billing you directly; INFRO is a subscription and adds 0% to model spend.
Sources
Every statement on this page about Unify comes from one of these, read on 19 October 2026. Nothing is inferred from a trial, a benchmark, or a conversation.
- Unify — homepageread 2026-10-19
- Unify — Why we built Continual-ARCread 2026-10-19
- GitHub — unifyai/unify (archived)read 2026-10-19
- PyPI — unifyairead 2026-10-19
- BAML docs — Unify provider (base URL and model format)read 2026-10-19