Jika aplikasi Anda sudah berkomunikasi dengan API OpenAI, beralih ke Kunavo membutuhkan sekitar sepuluh menit — sebagian besar untuk mendaftar. Panduan ini membahas empat bentuk integrasi yang paling umum digunakan tim dan perubahan satu baris yang diperlukan masing-masing.
Langkah 0 — Dapatkan kunci (2 menit)
- Daftar di kunavo.com/app/signup. Isi saldo mulai dari $10, bayar sesuai penggunaan, dan saldo Anda tidak pernah kedaluwarsa.
- Buka /app/keys dan buat kunci. Kunci tersebut dimulai dengan
sk-kn-. - Atur variabel lingkungan:
export KUNAVO_API_KEY=sk-kn-....
Langkah 1 — Ganti SDK Anda (1 menit)
Python (paket openai)
# 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 menggunakan klien OpenAI yang sama secara internal, sehingga perubahannya identik. ID model kini berupa slug Kunavo — lihat /models untuk daftar aktif (coba claude-sonnet-4-6, gpt-5-6-terra, claude-opus-4-7).
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 membaca URL dasar dan kunci API dari variabel lingkungan secara default. Atur keduanya dan selesai — setiap helper framework (streamText, generateObject, percobaan ulang, perutean alat) bekerja tanpa perubahan.
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 (jika Anda sudah menggunakan Claude)
Kunavo menyediakan Messages API native Anthropic di /v1/messages selain bentuk OpenAI — jadi Anda tidak perlu mengganti SDK.
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
)Langkah 2 — Uji saldo secara singkat (1 menit)
Sebelum menyentuh kode produksi, jalankan pengujian murah terhadap claude-haiku-4-5. Jika ini berhasil, kunci Anda berfungsi, penagihan berfungsi, dan lapisan perutean sehat.
# 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")Langkah 3 — Pindahkan lalu lintas (5 menit)
Pola aman: dua variabel lingkungan dalam aplikasi Anda — AI_BASE_URL dan AI_API_KEY — dipilih per lingkungan. Produksi tetap menggunakan OpenAI; staging beralih ke Kunavo. Setelah 24 jam, alihkan produksi.
Jika Anda ingin mengetahui dampak biaya sebelum beralih, dasbor Kunavo menampilkan biaya per panggilan dibandingkan tarif resmi upstream — Anda dapat dengan mudah menghitung perkiraan penghematan bulanan berdasarkan prompt nyata.
Yang tetap sama
- SDK dan basis kode Anda.
- Streaming, pemanggilan fungsi, penggunaan alat, visi, dan output terstruktur.
- Skema permintaan dan respons OpenAI yang persis sama.
- Bentuk error (
error.message/error.type/error.code).
Yang berubah menjadi lebih baik
- Harga. Harga dan diskon yang tersedia berbeda-beda menurut model — lihat tarif terbaru di /pricing.
- Modalitas. SDK yang sama menjangkau Claude (
claude-opus-4-7), GPT (gpt-5-6-sol), GPT-Image-2, Nano Banana, Veo 3, dan Suno — lihat /models. - Penagihan. Dompet Stripe, dengan harga dalam USD. Kartu di semua wilayah; Apple Pay, Google Pay, dan Link di semua wilayah kecuali India; serta metode lokal berdasarkan negara (Alipay dan WeChat Pay di Tiongkok, Cash App Pay, Klarna, dan ACH di AS, UPI di India, KakaoPay di Korea…) — daftar lengkapnya ada di /docs/billing.
- Failover. Failover cepat multi-vendor dengan pengalihan rute otomatis, dalam permintaan yang sama, saat upstream mengalami gangguan.
Catatan jalur yang tidak menyenangkan
- Endpoint khusus OpenAI yang belum kami dukung hari ini:
/v1/responses(gunakan/v1/chat/completions),/v1/assistants(status dikelola di pihak Anda; kami adalah gateway tanpa status),/v1/realtime(direncanakan). - Beberapa fitur khusus Claude —
cache_control,thinkingextended — bekerja paling baik melalui endpoint native /v1/messages, bukan bentuk OpenAI. - Caching prompt tidak termasuk di antaranya: pada bentuk OpenAI, Kunavo menetapkan sendiri breakpoint cache Claude pada prompt yang panjang, dan
cache_controlyang Anda pasang pada pesan atau definisi alat akan diteruskan ke Claude.
Mengalami kendala? contact@kunavo.com — manusia akan membalas dalam satu hari kerja. Jika Anda menjalankan migrasi serius, kami akan melakukan panggilan.