Kimi K3 API: איך לקבל מפתח ולבצע את הקריאה הראשונה
איך מקבלים גישה ל-API של Kimi K3: מפתח, קריאה ל-kimi-k3 עם ה-SDK של OpenAI, קביעת רמת הסקה, הזרמה, שליחת תמונות ותיקון השגיאות שמשתמשים חדשים נתקלים בהן.
קריאה כ-Markdownכדי לקרוא ל-Kimi K3 צריך מפתח API מפלטפורמה שמגישה אותו, ובקשה שבה model מוגדר ל-kimi-k3. Moonshot AI מגישה אותו ב-Kimi API Platform שלה, שבה המודל נפתח לשימוש אחרי הטעינה הראשונה של היתרה. SeedRouter מגישה אותו עם מפתח אחד, בתשלום לפי שימוש, בפורמט הבקשה הרשמי: הפנו את ה-SDK של OpenAI אל https://api.seedrouter.ai/v1 והשאירו את הקוד שלכם כמו שהוא.
המדריך הזה משתמש ב-SeedRouter; גופי הבקשה זהים לאלה של ה-API של Kimi עצמה.
איך מקבלים מפתח API ל-Kimi K3?
- התחברו ל-SeedRouter ופתחו את API keys.
- צרו מפתח והעתיקו אותו; הוא מוצג פעם אחת בלבד.
- הוסיפו קרדיט כשתצטרכו. חשבונות חדשים מתחילים עם יתרה חינמית קטנה, ואין מנוי.
שמרו את המפתח במשתנה סביבה כמו SEEDROUTER_API_KEY, והשתמשו בו רק מקוד בצד השרת.
איך קוראים ל-Kimi K3 מ-Python?
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} כדי לקבל את ספירת הטוקנים ב-chunk האחרון:
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)אפשר לשלוח תמונות?
כן, כ-data URI ב-base64. Kimi K3 לא מקבל כתובות URL ציבוריות של תמונות; ב-quickstart שלו כתוב: "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?"},
],
}],
)אילו שגיאות צפויות?
| שגיאה | סיבה | פתרון |
|---|---|---|
400 על temperature, top_p, n או penalty | Kimi K3 מקבע אותם (1.0, 0.95, 1, 0) | השמיטו אותם |
400 על reasoning_effort | ערך שאינו low, high או max | השתמשו באחד משלושת הערכים |
| 400 על תמונה | כתובת URL ציבורית במקום data URI | שלחו את התמונה ב-base64 |
| 401 | מפתח חסר או שגוי | בדקו את הכותרת Authorization |
שגיאות מוחזרות בצורה {"error": {"code": ..., "message": "..."}}, ובקשה שנכשלת אינה מחויבת.
שאלות נפוצות
האם ה-API של Kimi K3 תואם ל-OpenAI?
כן. Kimi K3 מקבל את הפורמטים Chat Completions ו-Responses, כך שה-SDK של OpenAI עובד אחרי שמשנים רק את כתובת הבסיס ואת המודל. הוא מקבל גם את פורמט Anthropic Messages.
צריך חשבון Moonshot כדי להשתמש ב-Kimi K3?
לא ב-SeedRouter. מתחברים ל-SeedRouter, יוצרים שם מפתח ומשלמים מהיתרה ב-SeedRouter.
כמה עולה בקשה ל-Kimi K3?
היא מחויבת לפי טוקני קלט ופלט. ב-מדריך התמחור של Kimi K3 יש את התעריפים העדכניים ודוגמאות חישוב.
איפה נמצאת רשימת הפרמטרים המלאה?
תיעוד ה-API של Kimi K3 מפרט כל שדה, ועמוד Kimi K3 כולל Playground ומחירים עדכניים.



