Inti
Referensi API
Referensi lengkap untuk TokenLab API
Gambaran Umum
TokenLab adalah native-first dan kompatibel dengan OpenAI. Gunakan rute native penyedia seperti POST /v1/messages untuk Anthropic dan /v1beta/models/...:generateContent untuk Gemini ketika Anda memerlukan perilaku native, dan gunakan endpoint /v1 yang kompatibel dengan OpenAI ketika Anda memigrasikan SDK atau alat bergaya OpenAI yang sudah ada. POST /v1/responses tetap menjadi jalur opsional tingkat lanjut untuk perilaku khusus Responses.
URL dasar
https://api.tokenlab.shAutentikasi
Permintaan model menggunakan kunci API TokenLab. Header autentikasi standar adalah:
Authorization: Bearer sk-your-api-keyGET /v1/models, GET /v1/models/{model}, dan GET /v1/pricing bersifat publik tanpa kunci. Anthropic Messages juga menerima x-api-key; Gemini menerima x-goog-api-key atau ?key= selain Bearer. /v1/management/* memerlukan token manajemen (mt-...).
Dapatkan API key Anda dari Dashboard.
Permintaan generasi menerima X-TokenLab-Delivery-Policy: auto | verified | official. Header mengungguli pengaturan kunci API, lalu pengaturan ruang kerja. auto mengutamakan TokenLab Verified, lalu Official bila perlu; biaya mengikuti metode yang menyelesaikan permintaan. verified memakai harga TokenLab; official berdasarkan harga publik pembuat model dengan harga yang ditampilkan TokenLab. Realtime memakai pengaturan kunci atau ruang kerja tanpa penimpaan lewat query. Header tidak valid menghasilkan 400; metode yang tidak tersedia menghasilkan 503 delivery_tier_unavailable beserta ID permintaan.
Tentang Interactive Playground: Playground di situs dokumentasi ini hanya untuk tujuan demonstrasi dan tidak mendukung penginputan API key. Untuk menguji API, silakan gunakan:
- cURL - Salin contoh perintah dan ganti
sk-your-api-keydengan key asli Anda - Postman - Impor OpenAPI spec kami
- SDK - Gunakan OpenAI/Anthropic SDK dengan base URL kami
Endpoint yang Didukung
Chat & Pembuatan Teks
| Endpoint | Metode | Deskripsi |
|---|---|---|
/v1/chat/completions | POST | Chat completions yang kompatibel dengan OpenAI |
/v1/messages | POST | Messages API yang kompatibel dengan Anthropic |
/v1/responses | POST | OpenAI Responses API |
Embedding dan rerank
| Endpoint | Metode | Deskripsi |
|---|---|---|
/v1/embeddings | POST | Buat text embeddings |
/v1/rerank | POST | Rerank dokumen |
Gambar
| Endpoint | Metode | Deskripsi |
|---|---|---|
/v1/images/generations | POST | Hasilkan gambar dari teks |
/v1/images/edits | POST | Edit gambar |
/v1/images/generations/{id} | GET | Path status tugas gambar untuk respons gambar berbasis tugas |
Model gambar dapat mengembalikan gambar jadi atau tugas asinkron. Jika respons berisi poll_url, gunakan URL tersebut untuk memeriksa tugas.
Audio
| Endpoint | Metode | Deskripsi |
|---|---|---|
/v1/audio/speech | POST | Teks-ke-suara (TTS) |
/v1/audio/transcriptions | POST | Suara-ke-teks (STT) |
Realtime
| Endpoint | Metode | Deskripsi |
|---|---|---|
/v1/realtime?model={model} | WS | Sesi WebSocket realtime |
Gunakan /v1/realtime untuk permintaan upgrade WebSocket. GET /v1/realtime biasa mengembalikan metadata endpoint untuk client yang tidak dapat memeriksa route WebSocket secara langsung. Ini bukan permukaan REST OpenAI Realtime; endpoint client secret, translation client secret, Calls, dan legacy beta session saat ini tidak diekspos.
Video
| Endpoint | Metode | Deskripsi |
|---|---|---|
/v1/videos/generations | POST | Buat tugas pembuatan video |
/v1/tasks/{id} | GET | Dapatkan status tugas asinkron untuk pekerjaan video |
/v1/videos/generations/{id} | GET | Path status tugas video yang kompatibel dengan versi lama (legacy) |
Untuk klien baru, lebih disarankan menggunakan /v1/tasks/{id} dan ikuti poll_url yang dikembalikan oleh respons pembuatan. Gunakan /v1/videos/generations/{id} hanya untuk kompatibilitas mundur (backward compatibility).
Tugas Asinkron (Async Tasks)
| Endpoint | Metode | Deskripsi |
|---|---|---|
/v1/tasks/{id} | GET | Endpoint status tugas asinkron terpadu. Direkomendasikan saat mengikuti poll_url yang dikembalikan |
Endpoint ini tidak terbatas pada video, musik, dan 3D. Beberapa tugas gambar mungkin juga menggunakan /v1/tasks/{id} sebagai path polling kanonikal.
Musik
| Endpoint | Metode | Deskripsi |
|---|---|---|
/v1/music/generations | POST | Buat tugas pembuatan musik |
/v1/music/generations/{id} | GET | Path status khusus musik |
Untuk klien baru, utamakan poll_url yang dikembalikan. Jika Anda memerlukan endpoint status tugas yang tetap, gunakan /v1/tasks/{id}; simpan /v1/music/generations/{id} untuk jalur kompatibilitas khusus musik.
Pembuatan 3D
| Endpoint | Metode | Deskripsi |
|---|---|---|
/v1/3d/generations | POST | Buat tugas pembuatan model 3D |
/v1/3d/generations/{id} | GET | Path status khusus 3D |
Untuk klien baru, utamakan poll_url yang dikembalikan. Jika Anda memerlukan endpoint status tugas yang tetap, gunakan /v1/tasks/{id}; simpan /v1/3d/generations/{id} untuk jalur kompatibilitas khusus 3D.
Model
| Endpoint | Metode | Deskripsi |
|---|---|---|
/v1/models | GET | Daftar semua model yang tersedia |
/v1/models/{model} | GET | Dapatkan info model tertentu |
Gemini (v1beta)
Dukungan format native Google Gemini API:
| Endpoint | Metode | Deskripsi |
|---|---|---|
/v1beta/models/{model}:generateContent | POST | Hasilkan konten (format Gemini) |
/v1beta/models/{model}:streamGenerateContent | POST | Stream hasilkan konten (format Gemini) |
Endpoint Gemini mendukung autentikasi parameter query ?key= selain Bearer token standar.
Format Respons
Setiap endpoint mempertahankan format API-nya. Contoh sukses dan error di bawah menggunakan format Chat Completions.
Respons Berhasil
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1234567890,
"model": "gpt-5.6-terra",
"choices": [{"index": 0, "message": {"role": "assistant", "content": "Hello!"}, "finish_reason": "stop"}],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 20,
"total_tokens": 30
}
}Transparansi Routing
TokenLab tidak mengekspos detail provider, channel, policy, atau credential dalam body respons publik. Jangan bergantung pada _routing atau field routing internal lainnya sebagai bagian dari kontrak API publik.
Untuk debugging dan dukungan, gunakan header respons publik saat header tersebut tersedia:
| Header | Deskripsi |
|---|---|
X-Routing-Time-MS | Waktu pemilihan rute, jika tersedia |
X-Request-ID | Identifier permintaan untuk dukungan dan debugging, jika tersedia |
X-Task-ID | Identifier tugas async publik untuk respons berbasis tugas, jika tersedia |
X-Billing-Transaction-ID | Identifier transaksi billing setelah billing final, jika tersedia |
Respons Error
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_api_key",
"code": "invalid_api_key"
}
}Rate Limit
Rate limit berbasis role dan dapat dikonfigurasi oleh administrator. Nilai default:
| Role | Permintaan/menit |
|---|---|
| User | 1,000 |
| Partner | 10,000 |
| VIP | 10,000 |
Hubungi dukungan untuk rate limit kustom. Nilai tepatnya dapat bervariasi tergantung konfigurasi akun.
Ketika rate limit terlampaui, API mengembalikan kode status 429 dengan header Retry-After yang menunjukkan berapa lama harus menunggu.
Spesifikasi OpenAPI
Spesifikasi OpenAPI
Unduh spesifikasi lengkap OpenAPI 3.1