BazaarLinkBazaarLink
로그인
문서API 레퍼런스SDK 레퍼런스에이전트 사용법AI 스킬
채팅

채팅 생성

주어진 채팅 대화에 대한 모델 응답을 요청합니다. 스트리밍과 비스트리밍 모드를 모두 지원하며, 모든 모델과 공급자에서 하나의 OpenAI 호환 요청/응답 형식을 사용합니다.

POST/api/v1/chat/completions

인증

Authorization필수
string · header

Authorization 헤더에 Bearer 토큰으로 API 키를 전달합니다.

Body

model필수
string

사용할 모델. 공급자 접두사 형식, 예: "openai/gpt-4.1". 일반적인 모델 계열의 짧은 id(예: "gpt-4o")는 전체 canonical id("openai/gpt-4o")로 자동 해석됩니다. 이미 canonical 형식인 값은 그대로 통과합니다. 인식할 수 없는 짧은 id는 강제로 재작성되지 않으며, 모델 해석 단계에서 명확한 모델을 찾을 수 없음 오류가 반환됩니다.

minLength: 1
Example: "openai/gpt-4.1"
messages필수
Message[]

대화 메시지 배열, 최소 하나. 각 메시지는 role(system/user/assistant/tool)과 content를 가집니다.

minLength: 1
models
string[]

대체 모델 목록 — 순서대로 시도되며, 기본 모델의 후보 그룹이 모두 소진된 후에만 사용됩니다.

stream
boolean

true이면 SSE로 응답을 스트리밍합니다. 생략하거나 false이면 단일 JSON 응답을 반환합니다.

temperature
number

샘플링 온도 — 높을수록 무작위성이 커지고 낮을수록 결정적입니다.

0–2
max_tokens
integer

응답이 생성할 수 있는 최대 토큰 수.

max_completion_tokens
integer

max_tokens와 동일한 의미의 별칭입니다.

top_p
number

핵 샘플링(nucleus sampling) 임계값.

0–1
top_k
integer

샘플링을 확률이 가장 높은 K개의 토큰으로 제한합니다.

frequency_penalty
number

이미 등장한 빈도에 따라 토큰에 페널티를 부여합니다.

-2.0–2.0
presence_penalty
number

횟수와 상관없이 이미 등장했는지 여부에 따라 토큰에 페널티를 부여합니다.

-2.0–2.0
repetition_penalty
number

반복 페널티 계수 — frequency/presence penalty와는 별개의 메커니즘입니다.

min_p
number

가장 가능성 높은 토큰 대비 최소 확률 임계값.

0–1
top_a
number

또 다른 동적 컷오프 샘플링 메커니즘으로, 최고 확률의 제곱으로 임계값을 조정합니다.

seed
integer

결정론적 샘플링 시드. 모든 공급자가 재현성을 보장하지는 않습니다.

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"} 또는 JSON Schema를 포함한 {type:"json_schema"}.

logit_bias
object

토큰 ID를 샘플링 전에 더해지는 [-100, 100] 범위의 바이어스 값에 매핑합니다. OpenAI 계열 모델에만 적용 — 대상 모델이 OpenAI 자체 모델이 아니면 조용히 제거되며, 오류는 아닙니다.

logprobs
boolean

각 출력 토큰의 로그 확률을 반환합니다. OpenAI 계열 모델에만 적용 — 대상 모델이 OpenAI 자체 모델이 아니면 조용히 제거되며, 오류는 아닙니다.

top_logprobs
integer

위치당 반환할 최고 확률 토큰 수(logprobs: true 필요). OpenAI 계열 모델에만 적용 — 대상 모델이 OpenAI 자체 모델이 아니면 조용히 제거되며, 오류는 아닙니다.

0–20
user
string

모니터링 및 남용 감지를 위한 최종 사용자 식별자. 과금에 영향 없음. OpenAI 계열 모델에만 적용 — 대상 모델이 OpenAI 자체 모델이 아니면 조용히 제거되며, 오류는 아닙니다.

reasoning
object

추론 모델의 사고 제어 객체(예: {effort, max_tokens}).

reasoning_effort
string

reasoning.effort의 평면 축약 필드.

lowmediumhigh
image_config
object

이미지 생성/편집 옵션(modalities에 image가 포함될 때 사용).

modalities
string[]

요청된 출력 모달리티. image가 포함되면 이미지 생성 디스패치 경로를 거칩니다.

textimage
plugins
object[]

플러그인 배열(예: 웹 검색을 켜는 {id:"web"}). 일부 모델 라우트에서만 지원되며 그 외에는 무효입니다. :online 모델 변형은 {id:"web"}을 자동 삽입하며, 이 역시 지원 라우트에 한합니다.

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

성공. BazaarLink는 정확히 두 개의 필드만 정규화합니다 — model과 provider 필드 제거 — 나머지 업스트림 응답은 native_finish_reason, system_fingerprint, reasoning 등 해당 공급자가 값을 채운 경우에만 존재하는 필드를 포함해 그대로 전달합니다. usage.cost는 예외로, 항상 BazaarLink 자체가 정산한 금액이며 업스트림에서 전달된 값이 아닙니다.

{
  "id": "chatcmpl-abc123",
  "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