Claude Opus 5.5을(를) SeedRouter에서 사용할 수 있습니다
SeedRouter Docs

Kimi K3

Kimi K3 API를 공식 Chat Completions, Responses 또는 Anthropic Messages 형식으로 호출하세요: 100만 토큰 컨텍스트 윈도우, 항상 켜진 추론, 직접 선택하는 추론 강도.

View Markdown

Kimi K3는 장기 코딩, 에이전트, 지식 작업을 위한 Moonshot AI의 플래그십 모델입니다. 답하기 전에 항상 추론하며, 추론의 깊이는 reasoning_effort로 선택합니다. 공식 Kimi 요청을 SeedRouter로 보냅니다: 기본 URL과 API 키만 바꾸고 본문은 그대로 유지합니다.

모델 ID

모델 ID컨텍스트 윈도우최대 출력추론 강도기본 추론 강도
kimi-k31,048,576 토큰1,048,576 토큰(기본값 131,072)low, high, maxmax

입력: 텍스트와 이미지. 출력: 텍스트. 모델 페이지에서 현재 요금을 확인하세요.

빠른 예제

curl https://api.seedrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kimi-k3",
    "messages": [{"role": "user", "content": "Explain context caching in one sentence."}]
  }'

엔드포인트

형식메서드 및 경로인증
Chat CompletionsPOST https://api.seedrouter.ai/v1/chat/completionsAuthorization: Bearer <key>
ResponsesPOST https://api.seedrouter.ai/v1/responsesAuthorization: Bearer <key>
Anthropic MessagesPOST https://api.seedrouter.ai/v1/messagesx-api-key: <key> 또는 Authorization: Bearer <key>, 그리고 anthropic-version

세 엔드포인트 모두 스트리밍 여부와 관계없이 Kimi의 공식 응답 형식을 반환합니다. API 키는 서버 측 코드에 보관하세요.

파라미터

Chat Completions 필드:

이름타입필수기본값설명
modelstring예—kimi-k3.
messagesobject[]예—텍스트 메시지. 이미지는 image_url 파트로 보냅니다(이미지 입력 참조).
max_completion_tokensinteger아니요131072최대 1048576. 추론 토큰을 포함합니다. max_tokens는 같은 한도의 지원 중단된 이름입니다.
reasoning_effortenum아니요maxlow, high 또는 max. 다른 값은 400을 반환합니다.
stopstring or string[]아니요—최대 5개의 시퀀스.
response_formatobject아니요{"type": "text"}text, json_object 또는 json_schema(json_schema.name과 json_schema.schema 포함).
toolsobject[]아니요—함수 도구.
tool_choicestring or object아니요autoauto와 none이 적용됩니다. required와 이름을 지정한 함수는 허용되지만 호출을 강제하지는 않습니다.
streamboolean아니요false서버 전송 이벤트로 스트리밍합니다.
stream_options.include_usageboolean아니요false마지막 사용량 청크를 추가합니다.
prompt_cache_optionsobject아니요{"mode": "implicit", "ttl": "5m"}mode: implicit. ttl: 5m 또는 1h.
prompt_cache_key, safety_identifier, prediction—아니요—허용됩니다.
logprobs, top_logprobs—아니요—허용되지만(top_logprobs 0–20) 로그 확률은 반환되지 않습니다.
temperature, top_p, n, presence_penalty, frequency_penalty—아니요1.0, 0.95, 1, 0, 0고정값입니다. 다른 값은 400을 반환하므로 보내지 마세요.

추론과 추론 강도

Kimi K3는 항상 추론하며 끌 수 없습니다. reasoning_effort로 추론량을 정합니다: 가장 어려운 작업에는 max(기본값), 대부분의 작업에는 high, 빠르고 간단한 단계에는 low를 쓰세요. 추론은 content 옆의 reasoning_content로 반환됩니다. 추론 토큰은 출력 토큰으로 청구되며 max_completion_tokens에 포함됩니다.

멀티턴 대화와 도구 호출에서는 각 assistant 메시지를 reasoning_content까지 포함해 변경 없이 다시 보내세요.

이미지 입력

Kimi K3는 이미지를 base64 data URI로 받습니다. 공개 이미지 URL은 허용되지 않으며 400을 반환합니다. Kimi 자체 API와 같습니다.

{"role": "user", "content": [
  {"type": "image_url", "image_url": {"url": "data:image/png;base64,<BASE64_DATA>"}},
  {"type": "text", "text": "Describe this image."}
]}

컨텍스트 캐싱

캐싱은 자동입니다: 반복되는 프롬프트 접두사는 캐시에서 읽히며 더 낮은 캐시된 입력 요금으로 청구됩니다. prompt_cache_options.ttl로 기록된 접두사를 캐시에 유지할 기간을 5m(기본값) 또는 1h 중에서 고릅니다. 요청 간격이 5분을 넘으면 1h를 선택하세요. usage.prompt_tokens_details.cached_tokens는 캐시에서 읽은 토큰을, cache_write_tokens는 해당 요청에 청구된 캐시 쓰기를 보고합니다.

청구 규모

모델 페이지의 현재 요금을 참조하세요. 요청은 사용한 토큰으로 청구됩니다:

  • 입력 토큰,
  • 캐시된 입력 토큰(cached_tokens),
  • 캐시 쓰기 토큰(cache_write_tokens),
  • 추론을 포함한 출력 토큰.

가격은 컨텍스트 길이에 따라 달라지지 않습니다. 청구는 완성된 응답과 함께 보고된 usage에서 가져옵니다. 실패한 요청은 청구되지 않습니다. 계정의 사용 기록에 모든 요청의 정확한 청구 금액이 표시됩니다.

출력

비스트리밍 Chat Completions 요청은 다음을 반환합니다:

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "created": 1790585961,
  "model": "kimi-k3",
  "choices": [{
    "index": 0,
    "finish_reason": "stop",
    "message": {"role": "assistant", "reasoning_content": "...", "content": "..."}
  }],
  "usage": {
    "prompt_tokens": 90,
    "completion_tokens": 57,
    "total_tokens": 147,
    "cached_tokens": 90,
    "prompt_tokens_details": {"cached_tokens": 90, "cache_write_tokens": 0}
  }
}

"stream": true일 때 각 청크는 reasoning_content 또는 content가 담긴 delta를 포함합니다. stream_options.include_usage를 설정하면 data: [DONE] 전에 빈 choices 배열을 가진 마지막 청크가 사용량을 전달합니다.

Responses API와 Codex

POST /v1/responses는 Responses 본문을 받습니다: input, instructions, max_output_tokens, reasoning.effort(low, high, max), text.format(json_schema), tools(function과 apply_patch 커스텀 도구), tool_choice, stream, prompt_cache_options, prompt_cache_key, safety_identifier. 추론은 summary_text 파트를 가진 reasoning 항목으로 반환되며, 스트림은 response.created부터 response.completed까지 번호가 매겨진 이벤트를 전달합니다. 이 API는 상태를 저장하지 않습니다: previous_response_id와 conversation은 무시되므로 전체 대화를 input에 담아 보내세요. web_search 도구는 무시됩니다.

Codex에서 Kimi K3를 사용하려면 ~/.codex/config.toml에 provider를 추가하고 SEEDROUTER_API_KEY를 설정하세요:

model = "kimi-k3"
model_provider = "seedrouter"
model_context_window = 1048576

[model_providers.seedrouter]
name = "SeedRouter"
base_url = "https://api.seedrouter.ai/v1"
env_key = "SEEDROUTER_API_KEY"
wire_api = "responses"

Anthropic Messages 형식

Anthropic Messages API용으로 작성한 코드도 Kimi K3를 호출할 수 있습니다: Messages 본문을 "model": "kimi-k3"와 함께 /v1/messages로 보내세요. system, max_tokens, tools, tool_choice(auto, none), output_config.effort(low, high, max)가 적용되고, metadata.user_id와 cache_control은 허용됩니다. stop_sequences(최대 5개), tool_choice any, output_config.format은 허용되지만 효과가 없습니다. 추론은 thinking 블록으로 반환됩니다. 이미지는 base64 소스로 보냅니다.

오류

오류는 {"error": {"code": ..., "message": "..."}}를 사용합니다(Messages 엔드포인트는 Anthropic의 오류 형식을 사용합니다). code는 공통 오류 카탈로그의 코드입니다. 실패한 요청은 청구되지 않습니다.

팁

  • high 추론 강도로 시작하고 가장 어려운 문제에서만 max로 올리세요. low는 빠르고 간단한 단계에 적합합니다.
  • max_completion_tokens를 답변뿐 아니라 추론까지 충분하게 설정하세요: 이는 둘 다의 단일 예산입니다.
  • 길고 재사용되는 컨텍스트를 프롬프트 앞부분에 두어 이후 요청이 캐시에서 읽도록 하고, 요청 간격이 길면 1h TTL을 사용하세요.

관련