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.sh

Autentikasi

Permintaan model menggunakan kunci API TokenLab. Header autentikasi standar adalah:

Authorization: Bearer sk-your-api-key

GET /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-key dengan key asli Anda
  • Postman - Impor OpenAPI spec kami
  • SDK - Gunakan OpenAI/Anthropic SDK dengan base URL kami

Endpoint yang Didukung

Chat & Pembuatan Teks

EndpointMetodeDeskripsi
/v1/chat/completionsPOSTChat completions yang kompatibel dengan OpenAI
/v1/messagesPOSTMessages API yang kompatibel dengan Anthropic
/v1/responsesPOSTOpenAI Responses API

Embedding dan rerank

EndpointMetodeDeskripsi
/v1/embeddingsPOSTBuat text embeddings
/v1/rerankPOSTRerank dokumen

Gambar

EndpointMetodeDeskripsi
/v1/images/generationsPOSTHasilkan gambar dari teks
/v1/images/editsPOSTEdit gambar
/v1/images/generations/{id}GETPath 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

EndpointMetodeDeskripsi
/v1/audio/speechPOSTTeks-ke-suara (TTS)
/v1/audio/transcriptionsPOSTSuara-ke-teks (STT)

Realtime

EndpointMetodeDeskripsi
/v1/realtime?model={model}WSSesi 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

EndpointMetodeDeskripsi
/v1/videos/generationsPOSTBuat tugas pembuatan video
/v1/tasks/{id}GETDapatkan status tugas asinkron untuk pekerjaan video
/v1/videos/generations/{id}GETPath 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)

EndpointMetodeDeskripsi
/v1/tasks/{id}GETEndpoint 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

EndpointMetodeDeskripsi
/v1/music/generationsPOSTBuat tugas pembuatan musik
/v1/music/generations/{id}GETPath 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

EndpointMetodeDeskripsi
/v1/3d/generationsPOSTBuat tugas pembuatan model 3D
/v1/3d/generations/{id}GETPath 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

EndpointMetodeDeskripsi
/v1/modelsGETDaftar semua model yang tersedia
/v1/models/{model}GETDapatkan info model tertentu

Gemini (v1beta)

Dukungan format native Google Gemini API:

EndpointMetodeDeskripsi
/v1beta/models/{model}:generateContentPOSTHasilkan konten (format Gemini)
/v1beta/models/{model}:streamGenerateContentPOSTStream 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:

HeaderDeskripsi
X-Routing-Time-MSWaktu pemilihan rute, jika tersedia
X-Request-IDIdentifier permintaan untuk dukungan dan debugging, jika tersedia
X-Task-IDIdentifier tugas async publik untuk respons berbasis tugas, jika tersedia
X-Billing-Transaction-IDIdentifier 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:

RolePermintaan/menit
User1,000
Partner10,000
VIP10,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

Di halaman ini