Teks

Buat Penyelesaian Obrolan

Membuat penyelesaian untuk pesan obrolan

POST
/v1/chat/completions

Isi Permintaan

Parameter opsional yang didukung, nilai yang diizinkan, dan nilai default bergantung pada model yang dipilih. Periksa detail model sebelum menetapkan opsi sampling, penalaran, atau alat.

modelstringwajib

ID model yang akan digunakan. Lihat Models untuk opsi yang tersedia.

messagesarraywajib

Daftar pesan yang membentuk percakapan.

Setiap objek pesan berisi:

  • role (string): system, developer, user, assistant, tool, function
  • content (string | array | null): Konten pesan

Untuk pesan assistant yang berisi tool_calls, content dapat dihilangkan atau diatur ke null.

Ketika content adalah array, TokenLab mendukung blok multimodal terstruktur untuk model yang kompatibel:

  • text: { "type": "text", "text": "..." }
  • gambar: { "type": "image_url", "image_url": { "url": "https://..." } }
  • video: { "type": "video_url", "video_url": { "url": "https://..." } }
  • audio: { "type": "audio_url", "audio_url": { "url": "https://..." } }

Untuk input multimodal, gunakan URL https yang dapat diakses publik. Jenis media yang didukung bergantung pada model yang dipilih.

temperaturenumber

Temperatur sampling. Dukungan, nilai yang diizinkan, dan nilai default bergantung pada model yang dipilih. Hilangkan kolom ini untuk menggunakan default model.

max_tokensinteger

Jumlah maksimum token yang akan dihasilkan.

streambooleanbawaan: false

Jika true, delta pesan parsial akan dikirim sebagai event SSE.

stream_optionsobject

Opsi untuk streaming. Setel include_usage: true untuk menerima pemakaian token dalam potongan stream.

top_pnumber

Parameter nucleus sampling. Kami menyarankan mengubah ini atau temperature, bukan keduanya.

frequency_penaltynumber

Angka antara -2.0 dan 2.0. Nilai positif memberi penalti pada token yang berulang.

presence_penaltynumber

Angka antara -2.0 dan 2.0. Nilai positif memberi penalti pada token yang sudah ada di teks.

stopstring | array

Urutan berhenti atau daftar urutan. Dukungan dan batas jumlah urutan bergantung pada model yang dipilih.

toolsarray

Daftar tools yang mungkin dipanggil model (pemanggilan fungsi).

tool_choicestring | object

Mengontrol bagaimana model menggunakan tools. Opsi: auto, none, required, atau objek tool tertentu.

parallel_tool_callsboolean

Mengizinkan beberapa panggilan alat dalam satu giliran asisten, jika model yang dipilih mendukungnya.

max_completion_tokensinteger

Token maksimum untuk penyelesaian. Alternatif untuk max_tokens, berguna untuk keluarga model terbaru yang mendukung reasoning.

reasoning_effortstring

Tingkat penalaran untuk model yang mendukungnya. Nilai yang diizinkan bergantung pada model yang dipilih.

seedinteger

Seed sampling untuk model yang mendukungnya. Output yang identik tidak dijamin.

ninteger

Jumlah penyelesaian yang akan dihasilkan (1-128).

logprobsboolean

Apakah akan mengembalikan log probabilitas.

top_logprobsinteger

Jumlah top log probabilitas yang dikembalikan (0-20). Memerlukan logprobs: true.

top_kinteger

Sampling Top-K untuk model yang mendukungnya.

response_formatobject

Format respons. Gunakan {"type": "json_object"} untuk mode JSON atau {"type": "json_schema", "json_schema": {...}} untuk skema JSON. Dukungan bergantung pada model yang dipilih.

logit_biasobject

Mengubah kemungkinan token tertentu muncul. Pemetaan ID token (sebagai string) ke nilai bias dari -100 sampai 100.

userstring

Identifier unik yang merepresentasikan pengguna akhir Anda untuk pemantauan penyalahgunaan.

Respons

idstring

Pengidentifikasi unik untuk penyelesaian.

objectstring

Selalu chat.completion.

createdinteger

Timestamp Unix saat penyelesaian dibuat.

modelstring

Model yang digunakan untuk penyelesaian.

choicesarray

Daftar pilihan penyelesaian.

Setiap pilihan berisi:

  • index (integer): Indeks pilihan
  • message (object): Pesan yang dihasilkan
  • finish_reason (string): Alasan model berhenti, misalnya stop, length, atau tool_calls
usageobject

Statistik penggunaan token.

  • prompt_tokens (integer): Token dalam prompt
  • completion_tokens (integer): Token dalam penyelesaian
  • total_tokens (integer): Total token yang digunakan

Permintaan

curl -X POST "https://api.tokenlab.sh/v1/chat/completions" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-terra",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ],
    "max_tokens": 1000
  }'

Contoh Multimodal

{
  "model": "gemini-2.5-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "Describe this video briefly." },
        { "type": "video_url", "video_url": { "url": "https://example.com/demo.mp4" } }
      ]
    }
  ],
  "max_tokens": 64
}

Respons

Response
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1706000000,
  "model": "gpt-5.6-terra",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 20,
    "completion_tokens": 9,
    "total_tokens": 29
  }
}

Otorisasi

BearerAuth
AuthorizationBearer <token>

Autentikasi API Key. Buat atau kelola API key di Dashboard > API > API Keys.

Lokasi: header

Header

X-TokenLab-Delivery-Policy?string

Kebijakan Pengiriman per-permintaan. Menggantikan default API key dan Workspace. Secara otomatis mencoba TokenLab Verified terlebih dahulu dan dapat beralih satu kali ke Official saja sebelum output, penerimaan permintaan, atau pembuatan sumber daya persisten.

Nilai yang tersedia

  • "auto"
  • "verified"
  • "official"

Body permintaan

application/json

Respons

application/json

application/json

application/json

application/json

application/json

application/json

application/json