Zum Inhalt springen

MigrationsleitfädenVon direkte SDKs von OpenAI und Anthropic

Von direkten SDK-Aufrufen zu einer Control Plane

Die meisten Teams rufen OpenAI oder Anthropic zunächst mit dem SDK des Herstellers und einem Schlüssel in einer Umgebungsvariable auf. Das funktioniert, bis es mehrere Dienste, mehrere Schlüssel und eine Monatsrechnung gibt, die niemand zuordnen kann. Diese Seite zeigt die Änderung, die INFRO vor diese Aufrufe setzt, ohne SDK, Anbieterkonto oder Vertrag zu wechseln.

Ihr eigener Code, der das SDK jedes Anbieters mit dessen Schlüssel aufruft

INFRO-Konten sind per Selbstregistrierung verfügbar. Katalog, Dokumentation und API-Vertrag sind öffentlich, das Gateway ist bereitgestellt, und alles über v1 hinaus ist als „Später“ markiert. Tarife und Testphase

Wo die Dinge stehen

Was Sie haben

Anbieterschlüssel in der Umgebung jedes Dienstes, Wiederholungen und Timeouts in jeder Codebasis eigens geschrieben, und Kosten nur auf der Rechnung oder Nutzungsseite des Anbieters sichtbar, bestenfalls nach Schlüssel oder Projekt.

Was sich ändert

Jeder Client zeigt mit einem INFRO-Gateway-Schlüssel auf https://api.infro.io. Ihre Anbieterschlüssel ziehen als Verbindungen in INFRO um, versiegelt; Ihre Anbieter rechnen weiterhin direkt zu Ihren eigenen Preisen mit Ihnen ab.

Was nicht

Die SDKs, die Anfrage- und Antwortformate, Streaming, Tool-Aufrufe und Structured Outputs bei Chat Completions. INFRO beantwortet die Formate Chat Completions und Responses von OpenAI und das Messages-Format von Anthropic.

Ein Gateway ist ein zusätzlicher Hop und ein zusätzlicher Anbieter. Für manche Setups lohnt es sich noch nicht, und diese Liste ist die ehrliche Fassung davon.

  • Ein Dienst, ein Anbieter, ein Schlüssel und eine Rechnung, die eine Person liest. Ein Gateway bringt einen Hop und ein Abonnement, bevor es irgendetwas bringt, das Sie brauchen.
  • Ihr Workload besteht vor allem aus Batch, Fine-Tuning, Files, Vector Stores oder der Realtime API. INFRO stellt nichts davon bereit; diese Aufrufe blieben ohnehin direkt.
  • Sie sind auf eine Anbieterfunktion angewiesen, die die Chat-Formate nicht abbilden, und nutzen nur diesen Anbieter. Aufrufe, die INFRO nicht abbilden kann, bleiben besser direkt als halb umgestellt.
  • Jede Anfrage muss in einer einzigen Cloud-Region bleiben. INFRO läuft im Netz von Cloudflare, und die Bindung an eine Region ist heute nicht verfügbar.

Die Änderungen, je eine Zeile. Alles, was hier nicht aufgeführt ist, bleibt, wie es ist.

 Direkte SDK-AufrufeINFRO
Basis-URLDie SDK-Voreinstellung: api.openai.com/v1, api.anthropic.com.https://api.infro.io/v1 für das OpenAI SDK; https://api.infro.io für das Anthropic SDK (es hängt /v1/messages an).
SchlüsselOPENAI_API_KEY, ANTHROPIC_API_KEY in jedem Dienst.Ein INFRO-Gateway-Schlüssel (Authorization: Bearer; x-api-key des Anthropic SDK wird ebenfalls akzeptiert). Die Anbieterschlüssel werden einmal in der Konsole als Verbindungen eingetragen.
Modell-IDgpt-5.6-terra, claude-sonnet-5-5.openai/gpt-5.6-terra bei Chat Completions oder ein Routenname. Das Anthropic SDK kann claude-sonnet-5-5 behalten: /v1/messages liest die eigenen IDs von Anthropic.
ZuordnungMeist nichts oder das Feld user des Anbieters.metadata.user_id, metadata.session_id, metadata.tags im Body oder die Header X-INFRO-User-Id / X-INFRO-Feature. Werden an der Anfrage erfasst, nie an den Anbieter gesendet.

Vorher · Anbieter-SDKs

import OpenAI from "openai";
import Anthropic from "@anthropic-ai/sdk";

const openai = new OpenAI(); // reads OPENAI_API_KEY
const anthropic = new Anthropic(); // reads ANTHROPIC_API_KEY

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

await anthropic.messages.create({
  model: "claude-sonnet-5-5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Hello" }],
});

Nachher · INFRO

import OpenAI from "openai";
import Anthropic from "@anthropic-ai/sdk";

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

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

await anthropic.messages.create({
  model: "claude-sonnet-5-5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Hello" }],
});

Failover ohne neuen Code

Verbinden Sie Claude bei Anthropic und auf Vertex AI oder zwei Anthropic-Schlüssel, und eine Anfrage, die das Modell nennt, weicht zwischen ihnen aus. Eine benannte Route legt die Reihenfolge und die Regeln pro Fehler (429, 5xx, Timeout) in der Konfiguration fest.

Budgets vor dem Aufruf

Budgets auf Ebene von Organisation, Projekt, Mitglied und Schlüssel reservieren den ungünstigsten Fall einer Anfrage, bevor der Anbieter aufgerufen wird. Am Limit lautet die Antwort 402 budget_exceeded, im eigenen Fehlerformat der API.

Was Sie unverändert lassen

Batch, Files, Fine-Tuning, Vector Stores, Moderations und Realtime behalten ihren direkten Client. Ein einzelner Dienst kann beide Clients haben: einen über INFRO, einen direkt. Embeddings ziehen um, behalten aber genau das Modell, mit dem Ihr Index erstellt wurde: Vektoren verschiedener Modelle sind nicht vergleichbar.

Was Ihr Setup heute tut, gegenüber INFRO, geprüft anhand dessen, was das Gateway implementiert. Eine Zeile besagt, dass INFRO nichts hat.

Direkte SDK-AufrufeWas es dort tutIn INFRO
Anbieterschlüssel pro DienstandersJeder Dienst hält den Schlüssel des Anbieters in seiner Umgebung.Der Schlüssel ist eine Verbindung, versiegelt in INFRO; Dienste halten eingegrenzte Gateway-Schlüssel, die auf Anbieter, Modelle, IP-Bereiche und eine Umgebung beschränkt, rotiert oder abgeschaltet werden können.
Wiederholungen und TimeoutsandersDie eigenen Wiederholungen des SDK, plus was jede Codebasis hinzufügt.Routen mit priorisierten oder gewichteten Zielen über Ihre Verbindungen und Fehlerregeln pro Art (429, 5xx, Timeout). Die eigenen Wiederholungen des SDK gelten zusätzlich weiter.
KostenandersDie Nutzungsseite und Rechnung des Anbieters, nach Schlüssel oder Projekt.Geschätzte Anbieterkosten in jeder Antwort (usage.cost, usage.price_source), nach Projekt, Schlüssel, Nutzer und Tag; täglich mit den eigenen Kosten-APIs von OpenAI und Anthropic abgeglichen, über einen Admin-Schlüssel, den Sie hinzufügen.
AusgabenlimitsandersProjektlimits beim Anbieter, wo der Anbieter sie anbietet.Budgets, die am Limit mit 402 ablehnen, über alle Anbieter gleichzeitig, auf Ebene von Organisation, Projekt, Mitglied, Schlüssel und Endkunde.
Chat Completions und Responsesgleiche FormDie zwei Text-APIs von OpenAI.Beide, unter /v1/chat/completions und /v1/responses. previous_response_id und background werden abgelehnt: INFRO speichert keine Antworten, senden Sie die Konversation also bei jedem Schritt mit.
Anthropic Messagesgleiche Form/v1/messages, mit Thinking, cache_control und Server-Tools./v1/messages im Format von Anthropic. Auf einer Anthropic-Verbindung oder bei Claude auf Vertex AI erreicht der Body den Anbieter unverändert.
Bilder, Sprachausgabe, Transkription, Videogleiche FormDie Medien-Endpunkte des Anbieters./v1/images, /v1/audio, /v1/videos mit asynchronen Jobs, bei den Anbietern, die das jeweilige Modell bereitstellen.
Embeddingsgleiche Form/v1/embeddings./v1/embeddings im OpenAI-Format auf Ihrer Verbindung zu OpenAI, Azure OpenAI oder Mistral. Failover nur auf dasselbe Modell, damit gespeicherte Vektoren vergleichbar bleiben.
Batch, Files, Fine-Tuning, RealtimenichtsAnbieter-APIs auf Kontoebene.Nicht bereitgestellt und nicht als Gateway-Funktionen geplant. Sie bleiben beim Anbieter.

Was INFRO nicht tut

  • Batch, Files, Fine-Tuning, Vector Stores, Moderations, Assistants und die Realtime API.
  • Gespeicherte Antworten: previous_response_id, conversation und background: true auf /v1/responses werden mit 400 abgelehnt.
  • Bindung an eine Region. INFRO läuft im Netz von Cloudflare; Datenresidenz steht auf der Roadmap und ist nicht verfügbar.
  • Ein selbst gehostetes Deployment ohne Enterprise-Vertrag.

Was nicht übernommen wird

  • Nutzungsverlauf von vor der Umstellung. Das eigene Dashboard des Anbieters behält ihn; INFRO erfasst ab der ersten Anfrage, die es bedient.
  • Projektlimits beim Anbieter. Setzen Sie stattdessen INFRO-Budgets; die Limits des Anbieters gelten auf seiner Seite weiterhin.

Fragen

Bezahle ich OpenAI und Anthropic weiterhin direkt?
Ja. INFRO ruft Ihre eigenen Anbieterkonten mit Ihren Schlüsseln auf, daher rechnen Ihre Anbieter zu Ihren eigenen Preisen mit Ihnen ab. INFRO berechnet ein Abonnement und schlägt 0 % auf Modellausgaben auf.
Muss ich das SDK wechseln?
Nein. Das OpenAI SDK nimmt als baseURL https://api.infro.io/v1, das Anthropic SDK als baseURL https://api.infro.io, und beide nehmen den INFRO-Schlüssel als API-Schlüssel.
Was muss direkt beim Anbieter bleiben?
Batch, Files, Fine-Tuning, Vector Stores, Moderations und Realtime. INFRO stellt sie nicht bereit. Embeddings können umziehen: /v1/embeddings läuft über Verbindungen zu OpenAI, Azure OpenAI und Mistral.

Wechseln Sie mit uns oder auf eigene Faust

Das Migrationsprogramm überträgt Ihr direkte SDKs von OpenAI und Anthropic-Setup in einem Gespräch auf INFRO-Verbindungen, -Routen und -Budgets und zieht den ersten Dienst gemeinsam mit Ihnen um. Ihre Anbieter rechnen weiterhin direkt mit Ihnen ab; INFRO ist ein Abonnement und schlägt 0 % auf Modellausgaben auf.

Quellen

Das SDK-Verhalten auf dieser Seite stammt aus diesen Quellen, gelesen am 19. Oktober 2026.