Skip to main content

Ikhtisar

TokenLab menyediakan empat permukaan protokol dengan satu API key: Chat Completions, Responses, Anthropic Messages, dan Gemini native. Endpoint native hanya tersedia ketika model mengiklankan format tersebut dan ada rute upstream dengan protokol yang sama; endpoint native tidak pernah fallback ke Chat Completions. Hanya endpoint Chat yang dapat dikompilasi satu arah ke protokol target yang kompatibel.

Format OpenAI

/v1/chat/completions Format standar, kompatibilitas paling luas

Responses

/v1/responses Siklus hidup dan event Responses native

Format Anthropic

/v1/messages Extended thinking, fitur native Claude

Format Gemini

/v1beta/models/:model:generateContent Integrasi ekosistem Google

Mengapa Multi-Format?

Perbandingan Format

Format OpenAI

Gunakan rute kompatibilitas ini untuk integrasi OpenAI SDK yang sudah ada dan alur chat atau embedding portabel. Untuk perilaku native Claude atau Gemini, gunakan format Anthropic atau Gemini di bawah.
Terbaik untuk:
  • Penggunaan umum
  • Integrasi yang sudah menggunakan OpenAI SDK
  • Kompatibilitas maksimal

Format Anthropic

API Native Anthropic Messages. Diperlukan untuk fitur spesifik Claude seperti extended thinking.

Pemikiran Ekstensif (Claude Opus 4.6)

Hanya tersedia dalam format Anthropic:
Terbaik untuk:
  • Fitur spesifik Claude
  • Mode extended thinking
  • Pengguna Anthropic SDK native

Format Gemini

Format native Google Gemini untuk integrasi ekosistem Google.

Streaming

Terbaik untuk:
  • Integrasi Google Cloud
  • Kode yang sudah menggunakan Gemini SDK
  • Fitur native Gemini
Gemini Files dan Cache: Rute native Gemini mendukung /upload/v1beta/files, /v1beta/files, /v1beta/files:register, dan /v1beta/cachedContents. Files memakai channel upstream yang kompatibel dengan Gemini File API; resource Cache eksplisit juga dapat dirutekan melalui channel Vertex AI. Resource yang dibuat melalui TokenLab diikat ke channel/key upstream yang sama untuk panggilan generateContent berikutnya.

Batas kompatibilitas tool

Function tool hanya dapat dikompilasi satu arah dari endpoint Chat jika target dapat merepresentasikan seluruh loop tool. Tool native milik provider harus tetap berada di rute native-nya:
  • Tool hosted dan native OpenAI Responses seperti tool_search, web_search, file_search, code_interpreter, MCP, shell/apply_patch, dan tool computer-use memerlukan /v1/responses.
  • Tool server/native Anthropic seperti web_search_*, web_fetch_*, code_execution_*, tool_search_*, bash, computer-use, dan text-editor memerlukan /v1/messages.
  • Tool bawaan Gemini seperti googleSearch, codeExecution, urlContext, computerUse, dan field tools serupa memerlukan /v1beta.
TokenLab tidak menurunkan request protokol native ke Chat Completions. Field yang tidak dikenal dan kombinasi tool diteruskan secara best-effort; upstream terpilih yang menentukan dukungannya.

Memilih Format yang Tepat

Panduan Migrasi

Dari OpenAI Official API

Dari Anthropic Official API

Dari Google AI Studio

Kompatibilitas Chat Portabel

Gunakan /v1/chat/completions ketika satu client perlu menjangkau model yang didukung oleh protokol upstream berbeda. Request Chat portabel dapat dikompilasi satu arah ke Responses, Messages, atau Gemini jika dapat direpresentasikan secara lengkap. Request native Responses, Messages, dan Gemini tidak pernah dikonversi ke Chat; nama model atau provider tidak menyiratkan ketersediaan native.

Batas Responses dan Gemini

Permukaan Responses saat ini mencakup create, compact, retrieve, delete, dan SSE. Background hanya berjalan melalui HTTP. WebSocket hanya menerima response.create; streaming bersifat implisit, sedangkan background dan response.cancel tidak tersedia pada transport ini. Delete bukan cancel. Di Gemini, nama ProtoJSON lowerCamelCase dan nama proto asli snake_case sama-sama resmi dan dipertahankan, termasuk dalam request campuran. Permukaan saat ini mencakup list/get models, generateContent, streamGenerateContent, countTokens, embedContent, dan batchEmbedContents; Interactions dan Live tidak termasuk. Field yang tidak dikenal diteruskan secara best-effort dan upstream menentukan dukungannya.