Langsung ke konten utama
TokenLab adalah multi-format: Anda dapat mempertahankan klien yang kompatibel dengan OpenAI, panggilan Messages asli Anthropic, panggilan REST asli Gemini, dan titik akhir media dalam bentuk aslinya. Migrasi yang paling aman adalah tidak menerjemahkan setiap beban kerja ke dalam satu format universal. Pilih rute yang memiliki perilaku yang dibutuhkan aplikasi Anda.

Pemetaan Rute

Beban kerja yang adaURL dasar TokenLabTitik akhir utamaCatatan migrasi
OpenAI Chat Completionshttps://api.tokenlab.sh/v1/chat/completionsPerubahan terkecil untuk chat dan pemanggilan fungsi yang kompatibel dengan OpenAI
OpenAI Responseshttps://api.tokenlab.sh/v1/responsesGunakan ketika aplikasi Anda bergantung pada input, alat, atau penanganan output yang spesifik untuk Responses
Anthropic SDKhttps://api.tokenlab.sh/v1/messagesJangan tambahkan /v1 ke URL dasar SDK
Gemini RESThttps://api.tokenlab.sh/v1beta/models/:model:generateContentPertahankan bidang asli Gemini di rute Gemini
Generasi mediahttps://api.tokenlab.sh/v1/images, /videos, /music, /3dTemukan model dengan recommended_for dan harapkan polling asinkron di mana didokumentasikan
Manajemen dan penagihanhttps://api.tokenlab.sh/v1/management/...Gunakan token manajemen untuk penggunaan sisi server dan rekonsiliasi penagihan

Migrasi yang Kompatibel dengan OpenAI

from openai import OpenAI

client = OpenAI(
    api_key="sk-your-tokenlab-key",
    base_url="https://api.tokenlab.sh/v1",
)

response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "Hello from TokenLab"}],
)
Pertahankan kode retry, timeout, dan streaming yang ada, tetapi validasi ID model dengan GET /v1/models sebelum lalu lintas produksi. Untuk generasi gambar, kirim model secara eksplisit dan baca panduan gambar karena model gambar berbeda lebih dari model chat.

Migrasi Anthropic

from anthropic import Anthropic

client = Anthropic(
    api_key="sk-your-tokenlab-key",
    base_url="https://api.tokenlab.sh",
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Explain TokenLab in one sentence."}],
)
Gunakan /v1/messages untuk penggunaan alat asli Claude, alur pemikiran, dan semantik pesan Anthropic. Jangan terjemahkan bidang yang hanya ada di Anthropic melalui Chat Completions kecuali Anda sengaja ingin mengubah perilaku menjadi kompatibel dengan OpenAI.

Migrasi Gemini

curl "https://api.tokenlab.sh/v1beta/models/gemini-3.5-flash:generateContent" \
  -H "Authorization: Bearer sk-your-tokenlab-key" \
  -H "Content-Type: application/json" \
  -d '{"contents":[{"parts":[{"text":"Hello"}]}]}'
Pertahankan alat bawaan Gemini, referensi API File, konten yang di-cache, deklarasi fungsi, dan bagian konten asli di /v1beta ketika aplikasi Anda bergantung pada perilaku asli Gemini.

Migrasi Media

  1. Kuery GET /v1/models?recommended_for=image|video|music|3d.
  2. Baca tokenlab.public_contract_summary dalam respons daftar dan tokenlab.public_contract lengkap di mana tersedia.
  3. Kirim model secara eksplisit, terutama untuk titik akhir gambar.
  4. Simpan task_id, poll_url, titik akhir, model, dan ID pekerjaan Anda sendiri untuk pekerjaan asinkron.
  5. Rekonsiliasi biaya melalui catatan penggunaan dan billing_transaction_id, bukan ID tugas penyedia.
Beban kerja media memerlukan rencana peluncuran mereka sendiri karena latensi, retry, dan aset akhir berperilaku berbeda dari chat completions.

Rencana Peluncuran Produksi

FaseTujuanPemeriksaan
1. InventarisDaftar titik akhir, model, bidang permintaan, perilaku streaming/asinkron, dan pemilik penagihanTidak ada bidang penyedia yang tersembunyi yang dianggap publik
2. Pilot satu rutePindahkan satu titik akhir dan satu keluarga modelBentuk respons, biaya, dan log sesuai harapan
3. Bayangan atau sampelBandingkan output yang dipilih dengan penyedia sebelumnyaKualitas dan latensi yang terlihat oleh pengguna dapat diterima
4. Peluncuran bertahapTingkatkan lalu lintas berdasarkan kunci, organisasi, atau fitur flagPantau 4xx, 5xx, latensi, keseimbangan, dan pekerjaan asinkron duplikat
5. PembersihanHapus jalur penyedia lama hanya setelah penggunaan stabilJalur rollback dan buku panduan dukungan didokumentasikan

Perangkap Migrasi

  • Jangan letakkan setiap model di belakang satu jalur OpenAI Chat Completions jika aplikasi Anda membutuhkan perilaku asli Anthropic, Gemini, atau Responses.
  • Jangan menganggap default gambar lama. Kirim model secara eksplisit.
  • Jangan coba ulang permintaan pembuatan asinkron tanpa memeriksa apakah tugas sudah dibuat.
  • Jangan ungkapkan metadata routing penyedia di log atau UI Anda.
  • Jangan bandingkan penagihan dengan ID tugas penyedia. Gunakan catatan penggunaan TokenLab.

Referensi API

TopikReferensi
API Multi-FormatAPI Multi-Format
OpenAI SDKOpenAI SDK
Anthropic SDKAnthropic SDK
Gemini NativeGemini Native API
Generasi GambarGenerasi Gambar
Pekerjaan Asinkron & PollingPekerjaan Asinkron & Polling