BazaarLinkBazaarLink
เข้าสู่ระบบ
เอกสารAPI ข้อมูลอ้างอิงSDK ข้อมูลอ้างอิงการใช้งาน AgentAI ทักษะ
แชท

สร้างแชท

BazaarLink ส่งคืน response มาตรฐานและลบฟิลด์เฉพาะของ upstream ออก usage.cost คือจำนวน USD ที่เรียกเก็บจากลูกค้าสำหรับคำขอนี้ ใช้ BazaarLink request ID แบบ opaque จาก response id หรือ header x-request-id กับ GET /v1/generation; response non-streaming มี ID เดียวกันใน x-generation-id สถิติอาจปรากฏหลังเสร็จไม่กี่วินาที หากได้ 404 ให้ลองซ้ำช่วงสั้นๆ คำขอ Chat, Messages และ Responses แบบ non-streaming ที่นาน (ประมาณ 12 วินาทีขึ้นไป) อาจมี whitespace keep-alive ก่อน JSON body โดย JSON parser มาตรฐานรองรับช่องว่างนำหน้า Audio chat ใช้ endpoint นี้ ขอเสียงเอาต์พุตด้วย modalities:["text","audio"] และ audio:{voice,format} GET /v1/models?output_modalities=audio กรองเฉพาะโมเดลที่ให้เสียงเอาต์พุต ไม่ใช่ทุกโมเดลที่รับเสียงอินพุต โมเดลที่รับเสียงแล้วตอบเป็นข้อความยังอยู่ในรายการ text ป้ายความสามารถเพียงอย่างเดียวไม่รับประกันว่ามีเส้นทางที่ใช้งานได้ ให้เลือกโมเดลในรายการสาธารณะและพารามิเตอร์ที่รองรับ เอาต์พุตเสียงล้วน TTS STT และโหมดสร้างที่ไม่คิดตาม token อยู่นอกข้อกำหนดนี้

POST/v1/chat/completions

การอนุญาต

Authorizationจำเป็น
string · header

API key เป็น bearer token ใน header Authorization

Body

modelจำเป็น
string

โมเดลที่จะใช้ ในรูปแบบมีคำนำหน้าผู้ให้บริการ เช่น "openai/gpt-4o" GET /v1/models แสดง id เช่น "claude-sonnet-4.6" และ canonical alias เช่น "anthropic/claude-sonnet-4.6" คำขอใช้ได้ทั้งสองแบบ ให้ใช้ค่าที่แสดงในรายการ

minLength: 1
Example: "openai/gpt-4o"
messagesจำเป็น
Message[]

อาร์เรย์ของข้อความสนทนา อย่างน้อยหนึ่งรายการ แต่ละข้อความมี role (system/user/assistant/tool) และ content

minLength: 1
content
string | ContentPart[]

ใส่เสียงอินพุตใน messages[].content[]: {"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}} ใช้ base64 ดิบสำหรับ data ไม่ใช้ data URI รูปแบบที่รองรับขึ้นอยู่กับโมเดล อย่าใช้ input_audio ระดับบนสุด เพราะไม่มีการตรวจสอบเฉพาะและไม่มีข้อกำหนดการกันเครดิตไว้ล่วงหน้า

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

รายการโมเดลสำรอง — ลองตามลำดับ ใช้ก็ต่อเมื่อกลุ่มตัวเลือกของโมเดลหลักหมดแล้วเท่านั้น

stream
boolean

true จะสตรีมการตอบกลับแบบ SSE; ละไว้หรือ false จะคืนค่าการตอบกลับ JSON เดียว สตรีมเสียงส่งคืนชิ้นส่วน data (เสียง base64) และ transcript ใน choices[].delta.audio ส่วนการตอบแบบไม่สตรีมใช้ choices[].message.audio โมเดลอาจให้ id และ expires_at ด้วย ให้รวมชิ้นส่วนแล้วถอดรหัสตาม audio.format รูปแบบการสตรีมขึ้นอยู่กับโมเดล

temperature
number

อุณหภูมิการสุ่มตัวอย่าง — ค่ายิ่งสูงยิ่งสุ่ม ค่ายิ่งต่ำยิ่งแน่นอน ค่าสุ่มจะถูกส่งต่อโดยไม่ตรวจสอบช่วง โมเดลอาจจำกัดหรือไม่สนใจค่าที่อยู่นอกช่วงที่รองรับ

max_tokens
integer

จำนวนโทเค็นสูงสุดที่การตอบกลับสามารถสร้างได้

max_completion_tokens
integer

ชื่อแทนของ max_tokens ที่มีความหมายเดียวกัน

top_p
number

เกณฑ์ nucleus sampling

top_k
integer

จำกัดการสุ่มตัวอย่างให้เหลือ K โทเค็นที่มีความน่าจะเป็นสูงสุด

frequency_penalty
number

ลงโทษโทเค็นตามความถี่ที่ปรากฏมาแล้ว

presence_penalty
number

ลงโทษโทเค็นตามว่าเคยปรากฏหรือไม่ ไม่นับจำนวนครั้ง

repetition_penalty
number

ค่าสัมประสิทธิ์บทลงโทษการซ้ำ — กลไกแยกจาก frequency/presence penalty

min_p
number

เกณฑ์ความน่าจะเป็นขั้นต่ำเทียบกับโทเค็นที่มีโอกาสสูงสุด

top_a
number

กลไกการสุ่มตัวอย่างแบบตัดขอบเขตแบบไดนามิกอีกแบบ ปรับเกณฑ์ตามกำลังสองของความน่าจะเป็นสูงสุด

seed
integer

seed สุ่มแบบกำหนดได้ ไม่ใช่ทุกผู้ให้บริการที่รับประกันการทำซ้ำได้

n
integer

จำนวนการตอบกลับที่จะสร้าง

stop
string | string[]

ลำดับที่ทำให้การสร้างหยุด สูงสุด 4 รายการ

tools
Tool[]

รายการนิยามเครื่องมือ/ฟังก์ชันที่โมเดลสามารถเรียกใช้ได้

tool_choice
string | object

ควบคุมว่าโมเดลจะถูกบังคับให้เรียกเครื่องมือหรือไม่/อย่างไร

parallel_tool_calls
boolean

อนุญาตให้เรียกเครื่องมือแบบขนานเมื่อมี tools หรือไม่ ค่าเริ่มต้น true ใช้ได้เฉพาะโมเดลตระกูล OpenAI เท่านั้น — จะถูกตัดออกอย่างเงียบ ๆ เมื่อโมเดลเป้าหมายไม่ใช่ของ OpenAI ไม่ใช่ข้อผิดพลาด

response_format
object

จำกัดรูปแบบเอาต์พุต เช่น {type:"json_object"} หรือ {type:"json_schema"} พร้อม JSON Schema

logit_bias
object

แมป ID โทเค็นไปยังค่าอคติ [-100, 100] ที่เพิ่มก่อนการสุ่มตัวอย่าง ใช้ได้เฉพาะโมเดลตระกูล OpenAI เท่านั้น — จะถูกตัดออกอย่างเงียบ ๆ เมื่อโมเดลเป้าหมายไม่ใช่ของ OpenAI ไม่ใช่ข้อผิดพลาด

logprobs
boolean

คืนค่า log probabilities ของแต่ละโทเค็นเอาต์พุต ใช้ได้เฉพาะโมเดลตระกูล OpenAI เท่านั้น — จะถูกตัดออกอย่างเงียบ ๆ เมื่อโมเดลเป้าหมายไม่ใช่ของ OpenAI ไม่ใช่ข้อผิดพลาด

top_logprobs
integer

จำนวนโทเค็นที่น่าจะเป็นไปได้มากที่สุดต่อตำแหน่ง (ต้องใช้ logprobs: true) ใช้ได้เฉพาะโมเดลตระกูล OpenAI เท่านั้น — จะถูกตัดออกอย่างเงียบ ๆ เมื่อโมเดลเป้าหมายไม่ใช่ของ OpenAI ไม่ใช่ข้อผิดพลาด

0–20
user
string

ตัวระบุผู้ใช้ปลายทางสำหรับการตรวจสอบและตรวจจับการละเมิด ไม่มีผลต่อการเรียกเก็บเงิน ใช้ได้เฉพาะโมเดลตระกูล OpenAI เท่านั้น — จะถูกตัดออกอย่างเงียบ ๆ เมื่อโมเดลเป้าหมายไม่ใช่ของ OpenAI ไม่ใช่ข้อผิดพลาด

reasoning
object

อ็อบเจ็กต์ควบคุมการคิดของโมเดล reasoning (เช่น {effort, max_tokens})

reasoning_effort
string

ฟิลด์แบบย่อของ reasoning.effort

lowmediumhigh
include_reasoning
boolean

true จะส่งเนื้อหาความคิดกลับใน message.reasoning (delta.reasoning เมื่อสตรีม); false ปิดการคิดสำหรับโมเดลที่คิดโดยค่าเริ่มต้น (ดูหัวข้อ reasoning) จึงไม่มีการคิดเงินค่าคิด หากไม่ส่ง reasoning_effort, reasoning หรือ thinking จะมีเพียงโมเดลเหล่านั้นที่คิดและส่งกลับโดยค่าเริ่มต้น โมเดลอื่นส่งกลับเมื่อร้องขอเท่านั้น.

image_config
object

ตัวเลือกการสร้าง/แก้ไขภาพ (ใช้เมื่อ modalities มี image)

modalities
string[]

โมดัลลิตีเอาต์พุตที่ร้องขอ หากมี image จะเดินทางผ่านเส้นทาง dispatch การสร้างภาพ Audio chat ใช้ ["text","audio"] ร่วมกับอ็อบเจ็กต์ audio และต้องใช้โมเดลที่รองรับเอาต์พุตทั้งข้อความและเสียง

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

ตัวเลือกเสียงเอาต์พุต ใช้ร่วมกับ modalities:["text","audio"] ค่า voice และ format ที่รองรับขึ้นอยู่กับโมเดล

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

เสียงที่โมเดลรองรับ เช่น alloy

Example: "alloy"
format
string

รูปแบบเอาต์พุตที่โมเดลรองรับ เช่น wav การสตรีมมักใช้ pcm16 ทั้งนี้ขึ้นอยู่กับการรองรับของโมเดล

Example: "wav"
plugins
object[]

อาร์เรย์ปลั๊กอิน (เช่น {id:"web"} เพื่อเปิดค้นหาเว็บ) รองรับเฉพาะบางเส้นทางโมเดล; :online เปิดค้นหาเว็บบนเส้นทางที่รองรับ การค้นหาผ่าน plugins, :online หรือ web_search_options อาจมีค่าบริการเพิ่มเติมจาก upstream โดยคิดกับคีย์ที่ใช้ในคำขอ: คีย์แพลตฟอร์มของ BazaarLink หรือคีย์ BYOK ของคุณ

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."}]
  }'
ตัวอย่างการตอบกลับ

สำเร็จ BazaarLink ส่งคืนเฉพาะฟิลด์ในรายการที่อนุญาตสำหรับการตอบกลับสาธารณะ เช่น ID คำตอบที่ BazaarLink สร้างเอง, model, choices และ usage ฟิลด์ model เป็นไปตามกฎการรายงานสาธารณะของ BazaarLink: หลังแปลงชื่อ alias อาจยังแสดงชื่อที่คุณระบุ ส่วนคำขอที่กำหนดเส้นทางอัตโนมัติจะแสดงโมเดลที่ให้บริการคำขอจริง ฟิลด์ provider และข้อมูลเมตาอื่นที่เป็นของ upstream เท่านั้นจะถูกลบออก usage.cost เป็นจำนวนเงินที่ 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.
สร้างแชท — BazaarLink API