Skip to content

Migration guidesFrom TrueFoundry

From TrueFoundry AI Gateway

TrueFoundry's AI Gateway runs on provider accounts you register, as INFRO does, and adds virtual models, caching, budgets and guardrails, configured by x-tfy-* headers and gateway policies. Most of it maps to INFRO; the platform around it (model deployment, agents, Seldon) does not.

Independent; acquired Seldon AI (2026-06-24); BYOK AI Gateway, SaaS or self-hosted on Enterprise

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

Company

Independent. It announced the acquisition of Seldon AI on 2026-06-24.

Recent changes

The global Routing Config was removed on 2026-06-15 in favour of Virtual Models; plan-based feature gating took effect on 2026-09-22 (v0.174.0).

Whose account serves the request

Yours: customers register model accounts, and TrueFoundry's pricing page says it never marks up tokens.

TrueFoundry is a platform, not only a gateway. Stay if you use the platform.

  • You deploy and serve your own models on TrueFoundry, or use its agent and Seldon tooling. INFRO only routes to models; it does not host them.
  • You run the gateway in your VPC or on-premises. INFRO is hosted; self-hosted is an enterprise agreement.
  • You use semantic caching, latency-based or complexity-based routing, or budgets keyed on arbitrary metadata.
  • You send Batch or Files API traffic through the gateway.

The edits, one row each. Everything not listed here stays as it is.

 TrueFoundryINFRO
Base URLhttps://gateway.truefoundry.ai or your self-hosted gateway.https://api.infro.io/v1
KeyA Personal Access Token or a Virtual Account Token.An INFRO gateway key per service; members sign in to the console separately.
Model idopenai-main/gpt-5.6-terra (model account / model), or a virtual model name.openai/gpt-5.6-terra, or a route named like the virtual model.
HeadersX-TFY-METADATA, x-tfy-cache-config, x-tfy-retry-config, x-tfy-request-id.metadata in the body; cache for the response cache; retries on the route; X-INFRO-Trace-Id.

Before · TrueFoundry

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://gateway.truefoundry.ai",
  apiKey: process.env.TFY_API_KEY,
  defaultHeaders: {
    "X-TFY-METADATA": JSON.stringify({ user_id: "user_123" }),
  },
});

await client.chat.completions.create({
  model: "openai-main/gpt-5.6-terra",
  messages: [{ role: "user", content: "Hello" }],
});

After · INFRO

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.infro.io/v1",
  apiKey: process.env.INFRO_API_KEY,
});

await client.chat.completions.create({
  model: "openai/gpt-5.6-terra",
  messages: [{ role: "user", content: "Hello" }],
  // @ts-expect-error INFRO extension
  metadata: { user_id: "user_123", tags: { feature: "chat" } },
});

Virtual models become routes

Priority-based and weight-based virtual models map to priority and weighted routes; fallback_status_codes and retry_config map to the route's failure rules.

Model accounts become connections

Each model account's credential becomes a connection. Several accounts of one provider can sit in one route, or be spread across with standby keys last.

Metadata in the body

X-TFY-METADATA is a JSON header; INFRO's metadata is a body field with user_id, session_id and a tags map.

TrueFoundry's objects against INFRO's, from TrueFoundry's public documentation read on 19 October 2026 and checked against what the gateway implements. Two rows say INFRO has nothing.

TrueFoundryWhat it does thereIn INFRO
Model accountssame shapeRegistered provider credentials, prefix of the model id.Provider connections, several keys per provider.
PATs and Virtual Account Tokenssame shapeUser and service credentials for the gateway.Gateway keys per service with allowlists, IP ranges, environments and spend limits.
Virtual modelsdifferentWeight, priority, latency or complexity routing over targets.Priority and weighted routes, if-rules, and a prompt classifier. No latency-based routing.
CachingdifferentExact-match and semantic response cache.Exact-match only.
Budget LimitingdifferentCaps by tenant, team, user, model, virtual account or metadata; block or warn.Budgets by organization, project, member, key and end customer; block with 402 or alert at thresholds. Not by arbitrary metadata.
GuardrailsdifferentNamed guardrail policies per request.Guardrail rules configured per organization, project or key.
MCP Gatewaysame shapeMCP servers, virtual MCP servers, tool approval.An MCP gateway with approved and pinned tools and grants per key.
Batch and FilesnothingThrough the gateway with x-tfy-provider-name.Not served.
Model servingnothingDeploy your own models on the platform.Nothing. Connect a self-hosted model server as an openai-compatible connection.

Our reading of TrueFoundry’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

  • Host or deploy models.
  • Semantic caching, or latency-based routing.
  • Budgets keyed on arbitrary request metadata.
  • Batch and Files APIs.
  • Run in your VPC without an enterprise agreement.

What does not come across

  • Request logs and metrics. There is no importer.
  • Virtual models, budgets and guardrail policies as objects. Recreate them.

Questions

Is TrueFoundry BYOK too?
Yes. Both run on provider accounts you hold; neither marks up tokens.
What replaces virtual models?
INFRO routes: send the route's name as model, and its targets and failure rules decide where the request goes.
What does INFRO cost?
A flat subscription by plan, with a 14-day trial. Your providers bill you for model use directly.

Move with us, or on your own

The migration program maps your TrueFoundry 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 TrueFoundry comes from one of these, read on 19 October 2026. Nothing is inferred from a trial, a benchmark, or a conversation.