Zurück zum Blog
Leitfaden·23. Mai 2026·6 Min. Lesezeit

In 10 Minuten von OpenAI zu Kunavo migrieren — Python, Node, LangChain, Vercel AI SDK

Vier Varianten der OpenAI-Integration, die jeweils nötige Änderung in einer Zeile für den Start über Kunavo und ein Smoke-Test, der weniger als einen Cent kostet.

Wenn Ihre App bereits mit der OpenAI API kommuniziert, dauert der Wechsel zu Kunavo etwa zehn Minuten — der größte Teil davon entfällt auf die Registrierung. Dieser Leitfaden führt durch die vier Integrationsvarianten, die die meisten Teams nutzen, und die jeweils erforderliche Änderung in einer Zeile.

Schritt 0 — Schlüssel erhalten (2 Minuten)

  1. Registrieren Sie sich unter kunavo.com/app/signup. Ab $10 aufladen, nutzungsabhängig zahlen, und Ihr Guthaben verfällt nie.
  2. Besuchen Sie /app/keys und erstellen Sie einen Schlüssel. Er beginnt mit sk-kn-.
  3. Umgebungsvariable setzen: export KUNAVO_API_KEY=sk-kn-....

Schritt 1 — SDK wechseln (1 Minute)

Python (openai-Paket)

migrate.py
# Before — pointing at OpenAI directly
from openai import OpenAI
client = OpenAI(
    api_key=os.environ["OPENAI_API_KEY"],
)

# After — pointing at Kunavo. Everything else stays the same.
from openai import OpenAI
client = OpenAI(
    api_key=os.environ["KUNAVO_API_KEY"],
    base_url="https://api.kunavo.com/v1",
)

Node / TypeScript

migrate.mjs
// Before
import OpenAI from "openai";
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

// After
import OpenAI from "openai";
const client = new OpenAI({
  apiKey: process.env.KUNAVO_API_KEY,
  baseURL: "https://api.kunavo.com/v1",
});

LangChain

LangChain verwendet intern denselben OpenAI-Client, daher ist die Änderung identisch. Die Modell-ID ist jetzt ein Kunavo-Slug — die aktuelle Liste finden Sie unter /models (probieren Sie claude-sonnet-4-6, gpt-5-6-terra, claude-opus-4-7).

langchain_setup.py
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="claude-sonnet-4-6",          # switched the model
    api_key=os.environ["KUNAVO_API_KEY"],
    base_url="https://api.kunavo.com/v1",
)

Vercel AI SDK

@ai-sdk/openai liest Base-URL und API-Schlüssel standardmäßig aus Umgebungsvariablen. Setzen Sie diese, und Sie sind fertig — jeder Framework-Helfer (streamText, generateObject, Wiederholungen, Tool-Routing) funktioniert unverändert.

vercel_ai.mjs
import { openai } from "@ai-sdk/openai";

// @ai-sdk/openai reads OPENAI_BASE_URL automatically
process.env.OPENAI_BASE_URL = "https://api.kunavo.com/v1";
process.env.OPENAI_API_KEY = process.env.KUNAVO_API_KEY;

const model = openai("claude-sonnet-4-6");
// then use streamText / generateText / streamObject as before

Anthropic SDK (wenn Sie bereits Claude verwenden)

Kunavo stellt die native Messages API von Anthropic unter /v1/messages zusätzlich zur OpenAI-Struktur bereit — Sie müssen daher das SDK nicht wechseln.

anthropic_sdk.py
from anthropic import Anthropic

# Before — Anthropic SDK against api.anthropic.com
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

# After — same SDK, against Kunavo. Caching, thinking, tools all pass through.
client = Anthropic(
    api_key=os.environ["KUNAVO_API_KEY"],
    base_url="https://api.kunavo.com",   # SDK appends /v1/messages
)

Schritt 2 — Wallet per Smoke-Test prüfen (1 Minute)

Bevor Sie Produktionscode anfassen, führen Sie einen günstigen Test gegen claude-haiku-4-5 aus. Wenn dieser erfolgreich zurückkehrt, funktionieren Ihr Schlüssel und die Abrechnung, und die Routing-Schicht ist gesund.

smoke_test.py
# Cheap, deterministic-ish smoke test for migration validation.
resp = client.chat.completions.create(
    model="claude-haiku-4-5",            # the cheapest Claude
    messages=[{"role": "user", "content": "ping"}],
    max_tokens=8,
    temperature=0,
)
assert resp.choices[0].message.content, "empty response"
print("ok — Kunavo wallet works, total cost ~$0.0001")

Schritt 3 — Traffic umstellen (5 Minuten)

Das sichere Muster: zwei Umgebungsvariablen in Ihrer App — AI_BASE_URL und AI_API_KEY — je Umgebung ausgewählt. Die Produktion bleibt bei OpenAI; im Staging wechseln Sie zu Kunavo. Nach 24 Stunden stellen Sie die Produktion um.

Wenn Sie vor der Umstellung neugierig auf die Kostenauswirkungen sind, zeigt Kunavos Dashboard die Kosten pro Aufruf im Vergleich zum offiziellen Upstream-Preis — damit lassen sich die voraussichtlichen monatlichen Einsparungen anhand Ihrer echten Prompts leicht berechnen.

Was gleich bleibt

  • Ihr SDK und Ihre Codebasis.
  • Streaming, Function Calling, Tool-Nutzung, Vision und strukturierte Ausgaben.
  • Die exakten Request- und Response-Schemas von OpenAI.
  • Fehlerstruktur (error.message / error.type / error.code).

Was sich verbessert

  • Preise. Preise und verfügbare Rabatte variieren je nach Modell – die aktuellen Tarife finden Sie unter /pricing.
  • Modalitäten. Dasselbe SDK erreicht Claude (claude-opus-4-7), GPT (gpt-5-6-sol), GPT-Image-2, Nano Banana, Veo 3 und Suno — siehe /models.
  • Abrechnung. Stripe-Wallet, Preise in USD. Karten überall; Apple Pay, Google Pay und Link überall außer in Indien; außerdem lokale Zahlungswege je nach Land (Alipay und WeChat Pay in China, Cash App Pay, Klarna und ACH in den USA, UPI in Indien, KakaoPay in Korea …) — die vollständige Liste steht unter /docs/billing.
  • Failover. Hot-Failover über mehrere Anbieter mit automatischer Umleitung innerhalb derselben Anfrage, wenn ein Upstream schwankt.

Hinweise für den Fehlerfall

  • OpenAI-spezifische Endpunkte, die wir heute nicht abdecken: /v1/responses (verwenden Sie /v1/chat/completions), /v1/assistants (Status auf Ihrer Seite; wir sind ein zustandsloses Gateway), /v1/realtime (geplant).
  • Einige Claude-spezifische Funktionen – cache_control, erweitertes thinking – funktionieren am besten über den nativen /v1/messages-Endpunkt, nicht im OpenAI-Format.

Stecken Sie fest? contact@kunavo.com — ein Mensch antwortet innerhalb eines Werktags. Wenn Sie eine ernsthafte Migration durchführen, vereinbaren wir einen Gesprächstermin.