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

Kimi K3 API 사용방법: 키 발급과 첫 호출하는 법

Kimi K3 API 사용방법: 키 발급, OpenAI SDK로 kimi-k3 호출, 추론 강도 설정, 스트리밍, 이미지 전송, 처음 사용할 때 흔히 겪는 오류 해결까지 정리했습니다.

Markdown으로 읽기

Kimi K3를 호출하려면 이 모델을 제공하는 플랫폼의 API 키와, model을 kimi-k3로 설정한 요청이 필요합니다. Moonshot AI는 자체 Kimi API Platform에서 이 모델을 제공하며, 첫 충전 후에 모델이 활성화됩니다. SeedRouter는 공식 요청 형식 그대로 하나의 키로 종량제로 제공합니다. OpenAI SDK가 https://api.seedrouter.ai/v1을 가리키도록 하고 코드는 그대로 두면 됩니다.

이 가이드는 SeedRouter를 사용하며, 요청 본문은 Kimi 자체 API와 같습니다.

Kimi K3 API 키는 어떻게 발급받나요?

  1. SeedRouter에 로그인하고 API keys를 엽니다.
  2. 키를 만들고 복사합니다. 키는 한 번만 표시됩니다.
  3. 필요할 때 크레딧을 충전합니다. 신규 계정에는 소액의 무료 잔액이 제공되며, 구독은 없습니다.

키는 SEEDROUTER_API_KEY 같은 환경 변수에 저장하고, 서버 측 코드에서만 사용하세요.

Python에서 Kimi K3를 호출하려면 어떻게 하나요?

Kimi K3는 Chat Completions 형식을 사용하므로 공식 openai 패키지를 그대로 쓸 수 있습니다.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["SEEDROUTER_API_KEY"],
    base_url="https://api.seedrouter.ai/v1",
)

completion = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Explain context caching in one sentence."}],
)
print(completion.choices[0].message.content)

답변은 content에 들어 있습니다. Kimi K3는 답하기 전에 추론하며, 그 추론 내용은 같은 메시지의 reasoning_content로 반환됩니다.

Node.js나 cURL로는 어떻게 호출하나요?

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.SEEDROUTER_API_KEY,
  baseURL: "https://api.seedrouter.ai/v1",
});

const completion = await client.chat.completions.create({
  model: "kimi-k3",
  messages: [{ role: "user", content: "Explain context caching in one sentence." }],
});
console.log(completion.choices[0].message.content);
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."}]}'

같은 키로 Responses API(/v1/responses)와 Anthropic Messages 형식(/v1/messages)을 통해서도 kimi-k3를 호출할 수 있습니다.

추론 강도는 어떻게 설정하나요?

Kimi K3는 항상 추론하며, 이를 끌 수 없습니다. reasoning_effort는 답하기 전에 얼마나 생각할지를 정합니다.

completion = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Find the bug: def avg(xs): return sum(xs) / len(xs)"}],
    reasoning_effort="high",
)
값용도
low빠르고 간단한 단계
high대부분의 코딩과 분석
max(기본값)가장 어려운 문제

추론 토큰은 출력으로 과금되며 max_completion_tokens에 포함됩니다. 이 값의 기본값은 131,072이고 최대 1,048,576까지 설정할 수 있습니다. 같은 질문으로 테스트한 결과, low는 출력 토큰 25개, max는 146개를 사용했습니다.

답변을 스트리밍하려면 어떻게 하나요?

stream=True를 추가합니다. 추론이 먼저 delta.reasoning_content로 도착하고, 이어서 답변이 delta.content로 도착합니다. stream_options={"include_usage": True}를 지정하면 마지막 청크에서 토큰 수를 받을 수 있습니다.

stream = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Write a haiku about latency."}],
    stream=True,
    stream_options={"include_usage": True},
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

이미지를 보낼 수 있나요?

네, base64 data URI로 보낼 수 있습니다. Kimi K3는 공개 이미지 URL을 받지 않습니다. 퀵스타트에는 "Vision input does not support public image URLs"(비전 입력은 공개 이미지 URL을 지원하지 않습니다)라고 적혀 있습니다.

import base64

with open("chart.png", "rb") as f:
    image = base64.b64encode(f.read()).decode()

completion = client.chat.completions.create(
    model="kimi-k3",
    messages=[{
        "role": "user",
        "content": [
            {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{image}"}},
            {"type": "text", "text": "What does this chart show?"},
        ],
    }],
)

어떤 오류가 발생할 수 있나요?

오류원인해결 방법
temperature, top_p, n 또는 페널티에서 400Kimi K3가 이 값들을 고정함(1.0, 0.95, 1, 0)요청에서 빼기
reasoning_effort에서 400low, high, max 이외의 값세 값 중 하나 사용
이미지에서 400data URI 대신 공개 URL 사용이미지를 base64로 전송
401키가 없거나 잘못됨Authorization 헤더 확인

오류는 {"error": {"code": ..., "message": "..."}} 형태로 반환되며, 실패한 요청에는 요금이 부과되지 않습니다.

자주 묻는 질문

Kimi K3 API는 OpenAI와 호환되나요?

네. Kimi K3는 Chat Completions와 Responses 형식을 지원하므로 base URL과 모델만 바꾸면 OpenAI SDK를 그대로 쓸 수 있습니다. Anthropic Messages 형식도 지원합니다.

Kimi K3를 사용하려면 Moonshot 계정이 필요한가요?

SeedRouter에서는 필요 없습니다. SeedRouter에 로그인해 키를 만들고 SeedRouter 잔액으로 결제합니다.

Kimi K3 요청 한 건은 얼마인가요?

입력 토큰과 출력 토큰 단위로 과금됩니다. 실시간 요금과 계산 예시는 Kimi K3 요금 가이드에 있습니다.

전체 파라미터 목록은 어디에 있나요?

Kimi K3 API 레퍼런스에 모든 필드가 정리되어 있으며, playground와 실시간 요금은 Kimi K3 페이지에서 확인할 수 있습니다.

관련 가이드