azosi · 2026.7.22 04:33 · 조회 1
Kimi Quickstart
상위 문서: ← Kimi Get Started 출처: Kimi API Platform 공식 문서 — Quickstart 한글화 (2026-07-22) 공급사: Moonshot AI (月之暗面)
Kimi API는 Moonshot AI의 Kimi 모델과 상호작용할 수 있는 API로, OpenAI API 포맷과 호환됩니다. API Key를 준비하고, 모델을 선택한 뒤, base_url을 설정하면 HTTP API, Python SDK, Node.js SDK로 요청을 보낼 수 있습니다.
ℹ️ Kimi K3 출시 안내
Kimi K3는 현재 가장 강력한 모델로, 1M 토큰 컨텍스트 윈도우와 네이티브 시각 이해 기능을 갖추고 있습니다. Claude Code 같은 프로그래밍 에이전트 시나리오, 지식 작업, 심층 추론에 특히 적합합니다.
시작하기
1단계: API Key 발급
Kimi API Platform에 접속해 로그인한 뒤, API Keys 페이지에서 API Key를 생성하고 복사하세요.
API Key 보안 주의사항
- 다른 사람과 공유하지 마세요
- 애플리케이션 코드에 하드코딩하지 마세요
- 환경 변수로 저장하는 것을 권장합니다
export MOONSHOT_API_KEY="YOUR_KIMI_API_KEY"
| 바로가기 | 설명 |
|---|---|
| Kimi API Platform | 콘솔, 개발 워크스페이스, 사용자 센터 |
| API Keys | API Key 생성·복사·관리 |
2단계: 모델 선택
빠른 시작을 위해서는 Kimi K3 사용을 권장합니다. 특정 시나리오에 따라 Kimi K2.7 Code나 Kimi K2.6을 선택할 수도 있습니다.
| 모델 | 컨텍스트 | 주요 특징 | 적합한 용도 |
|---|---|---|---|
| Kimi K3 | 1M 토큰 | 2.8T 파라미터, 네이티브 시각 이해, 최고 수준 지능 | 장기 코딩, 엔드투엔드 지식 작업, 심층 추론 |
| Kimi K2.7 Code | 256K 토큰 | 텍스트/이미지/비디오 입력, 사고(thinking) 모드, 고속 옵션(kimi-k2.7-code-highspeed) | 코딩 중심 작업, 빠른 응답이 필요한 경우 |
| Kimi K2.6 | 256K 토큰 | 텍스트/이미지/비디오 입력, 사고 + 비사고 모드 모두 지원 | 일반 대화, 에이전트, 시각 이해, 복잡한 추론 |
💡 모델 선택 팁
어떤 모델을 고를지 모르겠다면
kimi-k3로 시작하세요. 주로 코드 생성·편집·프로그래밍 에이전트 작업이고 더 빠른 출력이 필요하면kimi-k2.7-code-highspeed를 선택하세요.
3단계: 통합 방식 선택
Kimi API는 OpenAI API 포맷과 호환되므로, 기술 스택에 가장 잘 맞는 통합 방식을 선택할 수 있습니다.
| 방식 | 설명 |
|---|---|
| HTTP API | 어떤 언어든, 커스텀 서버사이드 통합도 가능한 표준 REST API — API 레퍼런스 |
| Playground | 코드 작성 없이 프롬프트, 모델 동작, 비즈니스 예시 테스트 — Playground 열기 |
4단계: 첫 API 호출
아래 예제는 Kimi K3 모델을 사용합니다. MOONSHOT_API_KEY를 본인이 발급받은 API Key로 교체하거나, 예제 실행 전에 같은 이름의 환경 변수를 설정하세요.
📝 모델·파라미터 안내
- 본 예제는 기본 모델로 최신
kimi-k3를 사용합니다- K3는 최상위 필드
reasoning_effort로 사고 effort를 설정합니다 ("low"/"high"/"max"지원, 기본값"max")kimi-k2.6이나kimi-k2.5등 다른 모델을 쓰려면model필드만 교체하면 됩니다 — 다만 모델마다 파라미터 구성이 다를 수 있습니다 (모델 파라미터 레퍼런스 참고)- 코딩 시 고속 모델이 필요하면
kimi-k3를kimi-k2.7-code-highspeed로, K2.6을 쓰려면kimi-k2.6으로 교체하세요
Python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["MOONSHOT_API_KEY"],
base_url="https://api.moonshot.ai/v1",
)
completion = client.chat.completions.create(
model="kimi-k3",
messages=[
{"role": "system", "content": "You are Kimi, an AI assistant provided by Moonshot AI. You are especially good at conversations in Chinese and English. You provide users with safe, helpful, and accurate answers. You also refuse to answer any questions involving terrorism, racism, pornography, violence, or similar harmful content. Moonshot AI is a proper noun and must not be translated into other languages."},
{"role": "user", "content": "Hi, my name is Li Lei. What is 1+1?"}
]
)
print(completion.choices[0].message.content)
curl
curl https://api.moonshot.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MOONSHOT_API_KEY" \
-d '{
"model": "kimi-k3",
"messages": [
{"role": "system", "content": "You are Kimi, an AI assistant provided by Moonshot AI. You are especially good at conversations in Chinese and English. You provide users with safe, helpful, and accurate answers. You also refuse to answer any questions involving terrorism, racism, pornography, violence, or similar harmful content. Moonshot AI is a proper noun and must not be translated into other languages."},
{"role": "user", "content": "Hi, my name is Li Lei. What is 1+1?"}
]
}'
Node.js
const OpenAI = require("openai");
const client = new OpenAI({
apiKey: process.env.MOONSHOT_API_KEY,
baseURL: "https://api.moonshot.ai/v1",
});
async function main() {
const completion = await client.chat.completions.create({
model: "kimi-k3",
messages: [
{"role": "system", "content": "You are Kimi, an AI assistant provided by Moonshot AI. You are especially good at conversations in Chinese and English. You provide users with safe, helpful, and accurate answers. You also refuse to answer any questions involving terrorism, racism, pornography, violence, or similar harmful content. Moonshot AI is a proper noun and must not be translated into other languages."},
{"role": "user", "content": "Hi, my name is Li Lei. What is 1+1?"}
]
});
console.log(completion.choices[0].message.content);
}
main();
사전 준비사항
- Python 3.8 이상 또는 Node.js 18 이상
- OpenAI SDK 1.0.0 이상 — Kimi API는 OpenAI API 포맷과 호환되므로 OpenAI Python/Node.js SDK로 바로 호출 가능
pip install --upgrade 'openai>=1.0' # Python npm install openai@latest # Node.js - API Key — Kimi API Platform에서 생성한 뒤,
OpenAI Client에 전달
예상 출력
코드가 에러 없이 실행되면 다음과 비슷한 출력을 볼 수 있습니다:
Hello, Li Lei! 1+1 equals 2. This is a basic arithmetic question. If you have any other questions or need help, feel free to let me know.
참고: Kimi 모델은 비결정적이므로 실제 응답은 위 예시와 정확히 일치하지 않을 수 있습니다.
더 많은 기능 살펴보기
| 기능 | 설명 | 상세 가이드 |
|---|---|---|
| Streaming output | stream 옵션으로 토큰이 생성되는 대로 수신. 채팅, 코드 생성, 장문 출력에 유용 | API 레퍼런스 |
| Multi-turn chat | messages 리스트로 대화 컨텍스트를 유지해 모델이 대화를 기억 | 가이드 |
| Multimodal input | Kimi K3, K2.7 Code, K2.6 모두 텍스트·이미지·비디오 입력 지원 | Vision 가이드 |
| Tool calls | 모델이 외부 함수/API를 호출 — 에이전트, 웹 검색, 복잡한 워크플로우 | Tool calls 가이드 |
| JSON Mode | 모델이 유효한 JSON만 출력하도록 강제 — 구조화된 데이터 추출·다운스트림 통합 | JSON Mode 가이드 |
| Thinking models | 복잡한 작업·다단계 도구 사용·에이전트 워크플로우용 추론 기능 | K2 Thinking 가이드 |
Streaming output 예시
{
"model": "kimi-k3",
"messages": [
{
"role": "user",
"content": "Please explain what recursion is and give a Python example."
}
],
"stream": true
}
Multimodal input 예시
{
"model": "kimi-k3",
"messages": [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,..."
}
},
{
"type": "text",
"text": "Please describe this image."
}
]
}
]
}
⚠️ 용량 제한
큰 비디오, 또는 여러 번 참조해야 하는 이미지/비디오는 파일 업로드를 권장합니다. 이미지는 4K 해상도 이하, 비디오는 1080p 이하로 제한하세요.
관련 리소스
| 리소스 | 설명 |
|---|---|
| Kimi K3 모델 가이드 | K3 기능, 호출 예제, 베스트 프랙티스 |
| Kimi K2.7 Code 모델 가이드 | K2.7 Code 기능, 호출 예제, 베스트 프랙티스 |
| Kimi K2.6 모델 가이드 | K2.6 기능, 이미지/비디오 이해 예제, 도구 호출 가이드 |
| 모델 목록 | 현재 사용 가능한 모델명과 설명 |
| Kimi 개발자 커뮤니티 | 질문, 피드백, 프로젝트 공유 |
변경 이력
| 날짜 | 변경 |
|---|---|
| 2026-07-22 | 초판 작성 (공식 Quickstart 한글화, Get Started 자식 페이지로 이동) |
| 2026-07-22 | 제목에 "Kimi" 접두사 추가, 본문 H1 중복 제거 |
댓글
아직 댓글이 없습니다.
댓글을 작성하려면 로그인이 필요합니다.