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

Pemetaan Rute

Beban kerja yang adaURL dasar TokenLabEndpoint 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 saat aplikasi Anda bergantung pada input, tools, atau penanganan output khusus Responses
Anthropic SDKhttps://api.tokenlab.sh/v1/messagesJangan tambahkan /v1 ke URL dasar SDK
Gemini RESThttps://api.tokenlab.sh/v1beta/models/:model:generateContentPertahankan field asli Gemini pada rute Gemini
Pembuatan mediahttps://api.tokenlab.sh/v1/images, /videos, /music, /3dTemukan model dengan recommended_for dan antisipasi polling asinkron di tempat yang didokumentasikan
Manajemen dan penagihanhttps://api.tokenlab.sh/v1/management/...Gunakan token manajemen untuk penggunaan sisi server dan rekonsiliasi penagihan

Resep Migrasi Cepat

OpenAI ke TokenLab

Ubah hanya base_url / baseURL SDK menjadi https://api.tokenlab.sh/v1, pertahankan nama variabel lingkungan kunci API OpenAI Anda yang sudah ada jika itu lebih mudah untuk peluncuran, dan ganti ID model setelah memeriksa GET /v1/models.

OpenRouter ke TokenLab

Gunakan https://api.tokenlab.sh/v1 di mana aplikasi Anda sebelumnya menggunakan URL dasar yang kompatibel dengan OpenAI dari OpenRouter. Hapus ID model dengan awalan penyedia dan gunakan ID model publik TokenLab dari /v1/models; ketika beban kerja memerlukan Claude Messages atau generateContent Gemini, pindahkan ke endpoint asli TokenLab alih-alih memaksanya melalui chat yang kompatibel dengan OpenAI.

LiteLLM ke TokenLab

Gunakan rute custom_openai/<model> milik LiteLLM dengan api_base: https://api.tokenlab.sh/v1. Pisahkan alias LiteLLM dari ID model TokenLab yang sebenarnya agar Anda dapat mengubah kebijakan perutean tanpa mengubah prompt aplikasi.

Claude Messages melalui TokenLab

Arahkan klien SDK Anthropic ke https://api.tokenlab.sh dan panggil messages.create. Jangan tambahkan /v1 ke URL dasar SDK; SDK sudah memiliki jalur /v1/messages.

Gemini Native melalui TokenLab

Pertahankan payload Gemini pada https://api.tokenlab.sh/v1beta/models/{model}:generateContent. contents, parts, file, konten yang di-cache, deklarasi fungsi, dan tools bawaan asli Gemini harus tetap berada di rute ini saat aplikasi Anda bergantung pada perilaku Gemini.

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 Anda yang sudah ada, tetapi validasi ID model dengan GET /v1/models sebelum trafik produksi. Untuk pembuatan gambar, kirim model secara eksplisit dan baca panduan gambar karena model gambar lebih bervariasi daripada 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 tool asli Claude, alur berpikir (thinking flows), dan semantik pesan Anthropic. Jangan menerjemahkan field khusus Anthropic melalui Chat Completions kecuali Anda sengaja menginginkan perubahan perilaku yang 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 tools bawaan Gemini, referensi File API, konten yang di-cache, deklarasi fungsi, dan bagian konten asli pada /v1beta saat aplikasi Anda bergantung pada perilaku asli Gemini.

Migrasi Media

  1. Kueri GET /v1/models?recommended_for=image|video|music|3d.
  2. Baca GET /v1/models dalam respons daftar dan GET /v1/models/{model} lengkap jika tersedia.
  3. Kirim model secara eksplisit, terutama untuk endpoint gambar.
  4. Simpan task_id, poll_url, endpoint, 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 sendiri karena latensi, retry, dan aset akhir berperilaku berbeda dari chat completions.

Rencana Peluncuran Produksi

FaseTujuanPemeriksaan
1. InventarisDaftar endpoint, model, field permintaan, perilaku streaming/asinkron, dan pemilik penagihanTidak ada field khusus penyedia tersembunyi yang dianggap publik
2. Pilot satu rutePindahkan satu endpoint dan satu keluarga modelBentuk respons, biaya, dan log sesuai ekspektasi
3. Shadow atau sampelBandingkan output yang dipilih dengan penyedia sebelumnyaKualitas dan latensi yang terlihat oleh pengguna dapat diterima
4. Peluncuran bertahapTingkatkan trafik berdasarkan kunci, organisasi, atau fitur flagPantau 4xx, 5xx, latensi, saldo, dan duplikasi pekerjaan asinkron
5. PembersihanHapus jalur penyedia lama hanya setelah penggunaan stabilJalur rollback dan buku panduan dukungan didokumentasikan

Kendala Migrasi

  • Jangan menempatkan setiap model di balik satu jalur OpenAI Chat Completions jika aplikasi Anda memerlukan perilaku asli Anthropic, Gemini, atau Responses.
  • Jangan berasumsi menggunakan default gambar lama. Kirim model secara eksplisit.
  • Jangan melakukan retry pada permintaan pembuatan asinkron tanpa memeriksa apakah tugas sudah dibuat.
  • Jangan mengekspos pengenal khusus penyedia di log atau UI Anda.
  • Jangan membandingkan penagihan dengan ID tugas penyedia. Gunakan catatan penggunaan TokenLab.

Referensi API

TopikReferensi
Multi-Format APIMulti-Format API
OpenAI SDKOpenAI SDK
Anthropic SDKAnthropic SDK
Gemini NativeGemini Native API
Pembuatan GambarImage Generation
Pekerjaan Asinkron & PollingAsync Jobs & Polling