BazaarLinkBazaarLink
Masuk
DokumentasiReferensi APIReferensi SDKPenggunaan AgentikSkill AI
Chat

Buat chat

BazaarLink mengembalikan respons terstandar dan menghapus field khusus upstream. usage.cost adalah jumlah USD yang ditagihkan kepada pelanggan untuk permintaan ini. Gunakan ID permintaan BazaarLink yang buram dari id respons atau header x-request-id pada GET /v1/generation; respons non-streaming juga menyertakan ID itu di x-generation-id. Statistik dapat muncul beberapa detik setelah selesai; coba lagi sebentar jika mendapat 404. Permintaan Chat, Messages, dan Responses non-streaming yang lama (sekitar 12 detik atau lebih) dapat diawali padding keep-alive berupa whitespace sebelum body JSON. Parser JSON standar menerima whitespace awal. Audio chat memakai endpoint ini; minta keluaran audio dengan modalities:["text","audio"] dan audio:{voice,format}. GET /v1/models?output_modalities=audio hanya menyaring model dengan keluaran audio, bukan semua model dengan masukan audio; model yang menerima audio dan menghasilkan teks tetap ada di daftar text. Penanda kemampuan saja tidak menjamin adanya rute yang tersedia; pilih model yang terdaftar beserta parameter yang didukungnya. Keluaran audio murni, TTS, STT, dan mode generasi non-token lainnya berada di luar kontrak ini.

POST/v1/chat/completions

Otorisasi

Authorizationwajib
string · header

API key sebagai bearer token di header Authorization.

Body

modelwajib
string

Model yang digunakan, dengan prefiks penyedia, mis. "openai/gpt-4o". GET /v1/models mencantumkan id seperti "claude-sonnet-4.6" dan alias kanonis seperti "anthropic/claude-sonnet-4.6". Permintaan menerima keduanya; gunakan id atau alias yang tercantum.

minLength: 1
Example: "openai/gpt-4o"
messageswajib
Message[]

Array pesan percakapan, minimal satu. Setiap pesan memiliki role (system/user/assistant/tool) dan content.

minLength: 1
content
string | ContentPart[]

Masukkan input audio di messages[].content[]: {"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}. Gunakan base64 mentah untuk data, bukan data URI; format yang didukung bergantung pada model. Jangan memakai input_audio di tingkat atas: tidak ada validasi khusus maupun kontrak reservasi kredit untuknya.

Example: [{"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}]
models
string[]

Daftar model fallback — dicoba berurutan, hanya digunakan setelah grup kandidat model utama habis.

stream
boolean

true untuk streaming respons sebagai SSE; dihilangkan atau false mengembalikan satu respons JSON. Stream audio mengembalikan potongan data (audio base64) dan transcript di choices[].delta.audio; respons non-streaming memakai choices[].message.audio. Model juga dapat menyertakan id dan expires_at. Kumpulkan potongan lalu dekode sesuai audio.format; format streaming bergantung pada model.

temperature
number

Suhu sampling — semakin tinggi semakin acak, semakin rendah semakin deterministik. Nilai sampling diteruskan tanpa validasi rentang; model dapat membatasi atau mengabaikan nilai di luar rentang yang didukung.

max_tokens
integer

Jumlah token maksimum yang dapat dihasilkan respons.

max_completion_tokens
integer

Alias dari max_tokens dengan semantik identik.

top_p
number

Ambang batas nucleus sampling.

top_k
integer

Membatasi sampling pada K token dengan probabilitas tertinggi.

frequency_penalty
number

Memberi penalti pada token berdasarkan seberapa sering sudah muncul.

presence_penalty
number

Memberi penalti pada token berdasarkan apakah sudah pernah muncul, tanpa memandang jumlahnya.

repetition_penalty
number

Koefisien penalti pengulangan — mekanisme terpisah dari frequency/presence penalty.

min_p
number

Ambang probabilitas minimum relatif terhadap token paling mungkin.

top_a
number

Mekanisme sampling cutoff dinamis lainnya, menskalakan ambang dengan kuadrat probabilitas tertinggi.

seed
integer

Seed sampling deterministik; tidak semua penyedia menjamin reproduktifitas.

n
integer

Jumlah respons yang dihasilkan.

stop
string | string[]

Urutan yang menghentikan generasi, maksimal 4.

tools
Tool[]

Daftar definisi tool/fungsi yang dapat dipanggil model.

tool_choice
string | object

Mengontrol apakah/bagaimana model dipaksa memanggil tool.

parallel_tool_calls
boolean

Apakah mengizinkan pemanggilan tool paralel saat tools disediakan. Default true. Hanya model keluarga OpenAI — dihapus secara diam-diam saat model target bukan milik OpenAI, bukan error.

response_format
object

Membatasi format output, mis. {type:"json_object"} atau {type:"json_schema"} dengan JSON Schema.

logit_bias
object

Memetakan ID token ke nilai bias [-100, 100] yang ditambahkan sebelum sampling. Hanya model keluarga OpenAI — dihapus secara diam-diam saat model target bukan milik OpenAI, bukan error.

logprobs
boolean

Mengembalikan probabilitas log dari setiap token output. Hanya model keluarga OpenAI — dihapus secara diam-diam saat model target bukan milik OpenAI, bukan error.

top_logprobs
integer

Jumlah token paling mungkin yang dikembalikan per posisi (memerlukan logprobs: true). Hanya model keluarga OpenAI — dihapus secara diam-diam saat model target bukan milik OpenAI, bukan error.

0–20
user
string

Pengidentifikasi pengguna akhir untuk pemantauan dan deteksi penyalahgunaan. Tidak berpengaruh pada tagihan. Hanya model keluarga OpenAI — dihapus secara diam-diam saat model target bukan milik OpenAI, bukan error.

reasoning
object

Objek kontrol pemikiran model reasoning (mis. {effort, max_tokens}).

reasoning_effort
string

Field singkat datar untuk reasoning.effort.

lowmediumhigh
include_reasoning
boolean

true mengembalikan isi pemikiran di message.reasoning (delta.reasoning saat streaming); false mematikan pemikiran untuk model yang berpikir secara default (lihat bagian reasoning), sehingga tidak ada pemikiran yang ditagih. Tanpa reasoning_effort, reasoning, atau thinking, hanya model-model itu yang berpikir dan mengembalikannya secara default; model lain hanya jika diminta.

image_config
object

Opsi generasi/edit gambar (digunakan saat modalities menyertakan image).

modalities
string[]

Modalitas output yang diminta. Menyertakan image mengarahkan melalui jalur dispatch pembuatan gambar. Audio chat memakai ["text","audio"] dengan objek audio dan memerlukan model yang mendukung keluaran teks dan audio.

textimageaudio
Example: ["text","audio"]
audio
object

Opsi keluaran audio, dipakai bersama modalities:["text","audio"]. Nilai voice dan format yang didukung bergantung pada model.

Example: {"voice":"alloy","format":"wav"}
voice
string

Suara yang didukung model, misalnya alloy.

Example: "alloy"
format
string

Format keluaran yang didukung model, misalnya wav; streaming biasanya memakai pcm16, sesuai dukungan model.

Example: "wav"
plugins
object[]

Array plugin (mis. {id:"web"} untuk mengaktifkan pencarian web). Hanya didukung pada beberapa rute model, tidak berpengaruh di tempat lain; :online mengaktifkan pencarian web pada rute yang mendukung. Pencarian melalui plugins, :online, atau web_search_options dapat menimbulkan biaya tambahan upstream pada kunci yang digunakan: kunci platform BazaarLink atau kunci BYOK Anda.

POST /v1/chat/completions
curl https://api.bazaarlink.ai/v1/chat/completions \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [{"role": "user", "content": "Explain quantum computing in one paragraph."}]
  }'
Contoh respons

Berhasil. BazaarLink hanya mengembalikan field dalam daftar izin respons publik, seperti ID respons milik BazaarLink, model, choices, dan usage. Field model mengikuti aturan pelaporan publik BazaarLink: setelah alias diurai, nama yang Anda minta dapat tetap ditampilkan; untuk permintaan yang dirutekan otomatis, model yang benar-benar melayani permintaan akan ditampilkan. Field provider dan metadata khusus upstream lainnya dihapus. usage.cost selalu merupakan jumlah yang diselesaikan BazaarLink.

{
  "id": "85e6f35c71a31f19-SJC",
  "object": "chat.completion",
  "created": 1740000000,
  "model": "openai/gpt-4o",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Quantum computing leverages quantum mechanics..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 28,
    "completion_tokens": 74,
    "total_tokens": 102,
    "cost": 0.000648
  }
}
Support
Support
Hi! How can we help you?
Send a message and we'll get back to you soon.
Buat chat — BazaarLink API