Skip to main content
POST
/
v1
/
chat
/
completions
Chat Completions
curl --request POST \
  --url https://api.k-router.com/v1/chat/completions \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: <content-type>' \
  --data '
{
  "model": "<string>",
  "messages": [
    {}
  ],
  "stream": true,
  "temperature": 123,
  "max_tokens": 123,
  "top_p": 123,
  "fallback": [
    {}
  ]
}
'

POST /v1/chat/completions

OpenAI Chat Completions API와 100% 호환되는 엔드포인트입니다. 기존 OpenAI SDK에서 base_url만 변경하면 바로 사용할 수 있습니다.

헤더

Authorization
string
required
Bearer kr-your-api-key
Content-Type
string
required
application/json

요청 본문

model
string
required
모델 ID. kr/gpt54, kr/claude-sonnet-46, auto-smart 등.
messages
array
required
메시지 배열. 각 메시지는 role (system, user, assistant)과 content (문자열)를 포함합니다. 최대 100개.
stream
boolean
default:"false"
true 시 SSE 스트리밍 응답.
temperature
number
default:"1.0"
0~2. 낮을수록 결정적, 높을수록 창의적.
max_tokens
integer
최대 출력 토큰 수. 최대 128,000.
top_p
number
default:"1.0"
Nucleus sampling 파라미터.
fallback
array
폴백 모델 목록. 주 모델 실패 시 순서대로 시도합니다. 예: ["kr/gpt41", "kr/claude-sonnet-46"]

응답

200 - 성공
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1711000000,
  "model": "kr/gpt54",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "안녕하세요! 무엇을 도와드릴까요?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 15,
    "total_tokens": 25
  }
}

SSE 스트리밍

stream: true 설정 시:
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","created":1711000000,"model":"kr/gpt54","choices":[{"index":0,"delta":{"content":"안녕"},"finish_reason":null}]}

data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","created":1711000000,"model":"kr/gpt54","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

예시

from openai import OpenAI

client = OpenAI(
    api_key="kr-your-api-key",
    base_url="https://api.k-router.com/v1"
)

response = client.chat.completions.create(
    model="kr/gpt54",
    messages=[{"role": "user", "content": "안녕하세요"}],
    temperature=0.7,
    max_tokens=1000
)
print(response.choices[0].message.content)