Tema
Bahasa

Chat Completions

/v1/chat/completions — endpoint chat yang kompatibel dengan OpenAI. Parameter model, messages, stream, temperature. Streaming SSE. Contoh request dan response dalam curl, Python (openai) dan Node.

Endpoint chat yang kompatibel dengan OpenAI. Berfungsi dengan SDK OpenAI mana pun — cukup ubah base_url menjadi https://getvibeapi.com/v1.

POSThttps://getvibeapi.com/v1/chat/completions

Parameter body permintaan

GetVibe menerapkan kontrak Chat Completions yang kompatibel, bukan pass-through byte-per-byte: ia memeriksa akses, me-resolve id model publik, menerapkan batas, dan dapat menormalisasi field permintaan yang didukung. Respons dan error juga dinormalisasi serta tidak menjamin field atau header khusus upstream. Untuk sebagian besar tugas, tiga hal pertama — model, messages dan stream — sudah cukup.

Dasar — berfungsi pada semua model
ParameterTipeDeskripsi
modelreq.stringNama model dari katalog, misalnya gpt-6.1-sol atau claude-opus-5.5.
messagesreq.arrayArray pesan { role, content }. Role: system, user, assistant.
streambooleantrue — streaming respons melalui SSE.
max_tokensintegerJumlah token maksimum dalam respons. Kami menyarankan minimal 64: dengan nilai yang terlalu kecil (misalnya ≤ 16) model bisa mencapai batas (finish_reason: length) sebelum token pertama yang terlihat dan mengembalikan respons kosong. Jika Anda butuh hasil yang singkat — mintalah di prompt, dan sisakan max_tokens dengan ruang cadangan.
temperaturenumberTingkat keacakan output, 0–2. Default 1.
Lanjutan — dukungan bergantung pada model
ParameterTipeDeskripsi
top_pnumbermodel-dependentNucleus sampling (0–1). Alternatif untuk temperature; mengubah keduanya sekaligus tidak disarankan.
top_knumberClaudePengambilan sampel Top-K. Hanya model Anthropic.
seedintegerGPTMenyematkan hasil untuk reproduktibilitas. Seri GPT; diabaikan di tempat lain.
stopstring | arraymodel-dependentStop sequence: satu string atau daftar berisi maksimal 4 string.
frequency_penaltynumberGPT · ClaudePenalti untuk pengulangan token berdasarkan frekuensi (-2 hingga 2).
presence_penaltynumberGPT · ClaudePenalti untuk token yang sudah pernah muncul (-2 hingga 2).
logprobsboolean—Tidak ada rute saat ini yang mengembalikan probabilitas log: parameter dihapus sebelum permintaan diteruskan dan dilaporkan di header x-getvibe-warnings (param_dropped:logprobs); permintaan tidak ditolak.
top_logprobsinteger—Dihapus bersama logprobs dan dilaporkan di x-getvibe-warnings.
logit_biasobjectGPTToken-ID → logit bias (-100 hingga 100).
userstringmodel-dependentPengenal pengguna akhir (diteruskan ke hulu untuk pelacakan batas laju).
response_formatobjectGPT · ClaudePaksa output menjadi JSON. Pelajari lebih lanjut →
tools / tool_choicearray / stringGPT · ClaudeFunction calling. Pelajari lebih lanjut →

Lencana di kolom “Support”: GPT — hanya seri GPT, Claude — hanya model Anthropic, GPT · Claude — kedua keluarga, bergantung model — periksa dokumentasi model tersebut.

Dukungan parameter per varian route

Model yang sama dapat dilayani oleh rute yang berbeda (varian :1, :2, …). Rute berbeda dalam hal harga, kecepatan, dan himpunan parameter yang didukung.

Membandingkan varian rute
ParameterTipeDeskripsi
Default variant (:1)basicKumpulan parameter OpenAI lengkap: temperature, top_p, seed, stop, penalti, logprobs, tools, response_format, streaming dengan chunk usage.
Subscription variants (:2, :3…)advancedKumpulan parameternya sama dengan yang dasar, tetapi rutenya menggunakan infrastruktur berbeda. Parameter individual mungkin tidak didukung — kami mencatatnya di deskripsi varian.
or-* variantsor-*Mem-proxy permintaan melalui aggregator terpisah. Dukungan parameter bergantung pada provider tertentu. tool_choice: "required" dan beberapa parameter sampling mungkin tidak berfungsi.
Parameter yang tidak dikenal akan diabaikan oleh provider atau mengembalikan 400. Jika suatu parameter penting — gunakan varian :1 (default) atau periksa dukungannya pada deskripsi varian di halaman Models.

Contoh permintaan

curl https://getvibeapi.com/v1/chat/completions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-sol",
    "messages": [
      {"role": "user", "content": "Hello! Who are you?"}
    ]
  }'

Contoh respons

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "gpt-6.1-sol",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hi! I'm an assistant available through GetVibe API."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 14,
    "total_tokens": 26
  }
}

Streaming (SSE)

Dengan "stream": true respons datang sebagai aliran Server-Sent Events: event data: … dengan delta, diakhiri dengan data: [DONE].

curl https://getvibeapi.com/v1/chat/completions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-sol",
    "stream": true,
    "messages": [{"role": "user", "content": "Count to three"}]
  }'

Chunk akhir dengan usage

Chunk terakhir sebelum data: [DONE] memiliki choices: [] kosong dan field usage dengan statistik token. Gunakan untuk penagihan — jangan menjumlahkan delta secara manual.

data: {"id":"chatcmpl-...","choices":[],"usage":{"prompt_tokens":42,"completion_tokens":87,"total_tokens":129},"model":"gpt-6.1-sol","object":"chat.completion.chunk"}

data: [DONE]

Setiap respons non-stream yang biayanya dapat diperkirakan menyertakan header respons x-pv-cost-rub. Body streaming tidak memuat pv_cost_rub secara bawaan; kirim x-pv-cost: 1 untuk menambahkan biaya ke peristiwa penggunaan akhir protokol tersebut. Ini adalah perkiraan terbaik; untuk debit sebenarnya, lihat riwayat permintaan GET /v1/generations.

Kompatibilitas

Endpoint ini kompatibel dengan OpenAI SDK (Python, Node, dan lainnya), Codex CLI, dan Claude Code. Claude Code bekerja melalui /v1/messages dengan header x-api-key — lihat Messages and Responses.

API Chat Completions GetVibe — contoh Python dan curl | GetVibe API