Uygulamanız zaten OpenAI API'siyle konuşuyorsa Kunavo'ya geçmek yaklaşık on dakika sürer — bunun çoğu kaydolmaktır. Bu kılavuz, çoğu ekibin kullandığı dört entegrasyon türünü ve her biri için gereken tek satırlık değişikliği açıklar.
Adım 0 — Anahtar alın (2 dakika)
- kunavo.com/app/signup adresinden kaydolun. 10 $'dan başlayan bakiye yükleme, kullandıkça ödeme ve asla sona ermeyen bakiyeniz olur.
- /app/keys adresini ziyaret edip bir anahtar oluşturun.
sk-kn-ile başlar. - Ortam değişkenini ayarlayın:
export KUNAVO_API_KEY=sk-kn-....
Adım 1 — SDK'nızı değiştirin (1 dakika)
Python (openai paketi)
# 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
// 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 aynı OpenAI istemcisini dahili olarak kullandığından değişiklik aynıdır. Model kimliği artık bir Kunavo slug'ıdır — güncel liste için /models adresine bakın (claude-sonnet-4-6, gpt-5-6-terra, claude-opus-4-7 deneyin).
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 varsayılan olarak temel URL'sini ve API anahtarını ortam değişkenlerinden okur. Bunları ayarlamanız yeterlidir — her framework yardımcısı (streamText, generateObject, yeniden denemeler, araç yönlendirme) değişmeden çalışır.
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 beforeAnthropic SDK (zaten Claude kullanıyorsanız)
Kunavo, OpenAI biçiminin yanı sıra Anthropic'in kendi Messages API'sini de /v1/messages adresinde sunar — böylece SDK'ları değiştirmeniz gerekmez.
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
)Adım 2 — Cüzdanı duman testiyle doğrulayın (1 dakika)
Üretim koduna dokunmadan önce claude-haiku-4-5 adresine karşı ucuz bir test çalıştırın. Bu başarılı şekilde dönerse anahtarınız çalışıyor, faturalandırma çalışıyor ve yönlendirme katmanı sağlıklıdır.
# 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")Adım 3 — Trafiği taşıyın (5 dakika)
Güvenli yöntem: uygulamanızda ortama göre seçilen iki ortam değişkeni — AI_BASE_URL ve AI_API_KEY — kullanın. Üretim OpenAI'de kalır; staging Kunavo'ya geçer. 24 saat sonra prod'u geçirin.
Geçişten önce maliyet etkisini merak ediyorsanız Kunavo'nun panosu çağrı başına maliyeti upstream'in resmi oranıyla karşılaştırmalı gösterir — gerçek istemleriniz üzerinden öngörülen aylık tasarrufu hesaplamak kolaydır.
Aynı kalanlar
- SDK'nız ve kod tabanınız.
- Akış, function calling, tool kullanımı, vision, yapılandırılmış çıktılar.
- OpenAI'nin birebir istek ve yanıt şemaları.
- Hata biçimi (
error.message/error.type/error.code).
Daha iyi yönde değişenler
- Fiyatlandırma. Fiyatlar ve mevcut indirimler modele göre değişir — güncel ücretleri /pricing adresinde görebilirsiniz.
- Kip. Aynı SDK Claude'a (
claude-opus-4-7), GPT'ye (gpt-5-6-sol), GPT-Image-2'ye, Nano Banana'ya, Veo 3'e ve Suno'ya ulaşır — /models adresine bakın. - Faturalandırma. Stripe cüzdanı, USD cinsinden fiyatlandırılır. Stripe'ın hizmet verdiği her yerde kartlar; Hindistan hariç her yerde Apple Pay, Google Pay ve Link; ayrıca ülkeye göre yerel yöntemler (Çin'de Alipay ve WeChat Pay, ABD'de Cash App Pay, Klarna ve ACH, Hindistan'da UPI, Kore'de KakaoPay…) — tam liste /docs/billing adresindedir.
- Yük devretme. Bir upstream dalgalandığında aynı istek içinde otomatik yeniden yönlendirmeli, çok sağlayıcılı sıcak yük devretme.
Sorunlu yol notları
- Bugün kapsamadığımız OpenAI'ye özgü uç noktalar:
/v1/responses(/v1/chat/completionskullanın),/v1/assistants(durumu kendi tarafınızda yönetin; biz durum tutmayan bir ağ geçidiyiz),/v1/realtime(planlandı). - Claude'a özgü bazı özellikler —
cache_control, genişletilmişthinking— OpenAI biçimi yerine Anthropic'in kendi /v1/messages uç noktası üzerinden en iyi şekilde çalışır. - İstem önbelleğe alma bunlardan biri değildir: OpenAI biçiminde Kunavo, uzun bir istemde Claude'un önbellek kesme noktalarını kendisi ayarlar ve bir mesaja ya da araç tanımına eklediğiniz bir
cache_controlClaude'a iletilir.
Takıldınız mı? contact@kunavo.com — bir insan bir iş günü içinde yanıt verir. Ciddi bir geçiş yürütüyorsanız görüşme yaparız.