Text
Kimi K3.1 Pro
תיעוד הפורמטים המקוריים של Kimi K3.1 Pro: Chat Completions, Responses ו-Messages. פרמטרים רשמיים, היסטוריית הסקה, פלט מובנה, מדיה וחישוב שימוש במטמון.
יש להשתמש במזהה המודל הציבורי kimi-k3.1-pro. דף המודל מספק Playground ומחירים עדכניים. אפשר להוריד את מפרט OpenAPI לקבלת הסכמות המלאות של הבקשות והתגובות, כולל מבנים מקוננים.
התחלה מהירה
curl https://api.seedrouter.ai/v1/chat/completions \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model":"kimi-k3.1-pro",
"messages":[{"role":"user","content":"How can an idempotency key prevent a duplicate payment?"}],
"max_completion_tokens":2048,
"reasoning_effort":"low"
}'פורמטים מקוריים
| פורמט | נקודת קצה | שדות חובה |
|---|---|---|
| Chat Completions | POST /v1/chat/completions | model, messages |
| Responses | POST /v1/responses | model, input |
| Messages | POST /v1/messages | model, messages, max_tokens |
יש להשתמש ב-Authorization: Bearer $SEEDROUTER_API_KEY. ב-Messages נדרש גם anthropic-version: 2023-06-01. כל פורמט מחזיר JSON מקורי או אירועי SSE. הפורמט Responses אינו שומר מצב: יש לשלוח מחדש את ההיסטוריה המלאה; previous_response_id אינו שדה בקשה נתמך.
פרמטרים של הבקשה
שדות ריקים ב-Playground מושמטים. ערכי false ואפס מפורשים נשמרים כשהם תקינים. אפשרות להשמיט שדה אינה אומרת שהוא מקבל null. הרחבות לא מוכרות ברמה העליונה מוסרות; שדות רשמיים בעלי ערך לא תקין נדחים. סכמות כלים מקוננות והיסטוריה מוחזרת נשמרות בשלמותן.
Chat Completions
| שדה | סוג | חובה | ברירת מחדל / טווח |
|---|---|---|---|
logprobs | boolean | לא | ברירת מחדל false |
top_logprobs | integer | לא | 0–20; דורש logprobs=true |
prediction | object | לא | מושמט אם לא סופק |
max_tokens | integer | לא | 1–1048576 |
max_completion_tokens | integer | לא | 1–1048576; ברירת מחדל 131072 |
response_format | object | לא | מושמט אם לא סופק |
stop | union | לא | עד 5 מחרוזות; עד 32 בתי UTF-8 בכל אחת |
stream | boolean | לא | ברירת מחדל false |
stream_options | object | לא | מושמט אם לא סופק |
tools | array | לא | מושמט אם לא סופק |
prompt_cache_key | string | לא | מושמט אם לא סופק |
prompt_cache_options | object | לא | מושמט אם לא סופק |
safety_identifier | string | לא | מושמט אם לא סופק |
tool_choice | union | לא | מושמט אם לא סופק |
messages | array | כן | מושמט אם לא סופק |
reasoning_effort | string | לא | low, high, max; ברירת מחדל "max" |
model | string | כן | kimi-k3.1-pro; ברירת מחדל "kimi-k3.1-pro" |
temperature | number | לא | 1 |
top_p | number | לא | 0.95 |
n | integer | לא | 1 |
frequency_penalty | number | לא | 0 |
presence_penalty | number | לא | 0 |
Responses
| שדה | סוג | חובה | ברירת מחדל / טווח |
|---|---|---|---|
model | string | כן | kimi-k3.1-pro; ברירת מחדל "kimi-k3.1-pro" |
input | union | כן | מושמט אם לא סופק |
instructions | string | לא | מושמט אם לא סופק |
stream | boolean | לא | ברירת מחדל false |
max_output_tokens | integer | לא | 1–1048576; ברירת מחדל 131072 |
reasoning | object | לא | מושמט אם לא סופק |
text | object | לא | מושמט אם לא סופק |
tools | array | לא | מושמט אם לא סופק |
tool_choice | object | לא | מושמט אם לא סופק |
include | array | לא | מושמט אם לא סופק |
prompt_cache_key | string | לא | מושמט אם לא סופק |
prompt_cache_options | object | לא | מושמט אם לא סופק |
safety_identifier | string | לא | מושמט אם לא סופק |
Messages
| שדה | סוג | חובה | ברירת מחדל / טווח |
|---|---|---|---|
model | string | כן | kimi-k3.1-pro; ברירת מחדל "kimi-k3.1-pro" |
messages | array | כן | מושמט אם לא סופק |
max_tokens | integer | כן | 1–1048576 |
system | union | לא | מושמט אם לא סופק |
stream | boolean | לא | ברירת מחדל false |
stop_sequences | array | לא | עד 5 מחרוזות; עד 32 בתי UTF-8 בכל אחת |
tools | array | לא | מושמט אם לא סופק |
tool_choice | object | לא | מושמט אם לא סופק |
metadata | object | לא | מושמט אם לא סופק |
cache_control | object | לא | מושמט אם לא סופק |
output_config | object | לא | מושמט אם לא סופק |
ב-Chat יש 22 שדות ברמה העליונה: model, חמישה שדות דגימה קבועים ו-16 שדות קלט משתנים. ב-Responses יש model ועוד 12 שדות קלט; ב-Messages יש model ועוד 10. הפקדים של המודל הקבוע ושל הדגימה הקבועה אינם מוצגים ב-Playground.
הסקה ומגבלות פלט
החשיבה תמיד מופעלת. השדות reasoning_effort ב-Chat, reasoning.effort ב-Responses ו-output_config.effort ב-Messages מקבלים low, high או max; ברירת המחדל היא max. כל מגבלות הפלט כוללות הסקה. ברירת המחדל ב-Chat וב-Responses היא 131,072 טוקני פלט, והמקסימום הוא 1,048,576. ב-Messages חובה לספק max_tokens חיובי. ב-Chat מתקבל גם max_tokens שהוצא משימוש; בשילובים חדשים עדיף להשתמש ב-max_completion_tokens.
חלון ההקשר הוא 1,048,576 טוקנים. הקלט עצמו חייב להיכנס אליו. כשהקלט ומכסת היצירה יחד חורגים מהחלון, השירות יכול לצמצם את המכסה לשטח שנותר. תקרת פלט קטנה עלולה לעצור את היצירה לפני שמופיעה תשובה גלויה כלשהי.
הדגימה ב-Chat קבועה: temperature:1, top_p:0.95, n:1, frequency_penalty:0, presence_penalty:0. ערכים אחרים אינם תקינים. רצפי העצירה מותאמים לטקסט מדויק ואינם נכללים בתשובה. מגבלת 32 הבתים נמדדת בבתי UTF-8 ולא בתווים.
פלט מובנה ופלט חזוי
ב-Chat השדה response_format.type מקבל text, json_object או json_schema. במצב JSON יש גם לבקש JSON בפרומפט. ב-JSON Schema נדרשים json_schema.name ו-json_schema.schema; ברירת המחדל של strict היא true.
ב-Responses משתמשים ב-text.format עם type:json_schema, עם schema ועם name ו-strict אופציונליים. ב-Messages משתמשים ב-output_config.format עם type:json_schema ו-schema. יש לפעול לפי Moonshot Flavored JSON Schema ולא להניח שכל הרחבה כללית של JSON Schema נאכפת. יש לאמת את הפלט שהושלם באפליקציה.
פלט חזוי ב-Chat משתמש ב-prediction:{type:"content",content:...}. התוכן הוא מחרוזת או חלקים הכוללים טקסט בלבד. האפשרות מתאימה לפלט שרובו ידוע, כגון קובץ שעובר עריכה קטנה.
כלים ושמירת היסטוריית השיחה
כלי Chat משתמשים ב-type:function עם function.name ו-function.parameters. שדות אופציונליים כוללים description ו-strict שברירת המחדל שלו היא true. השמות חייבים להתאים ל-^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$. בחירת הכלים תומכת ב-auto, ב-none וב-required; הערך required דורש לפחות כלי זמין אחד. כפיית פונקציה לפי שם מתנגשת עם חשיבה שפועלת תמיד.
הודעת כלי דינמית ב-Chat היא {role:"system",tools:[...]} ללא content. יש לשמור את ההודעות האלה בשיחה. מוסיפים את תשובת ה-assistant המלאה, כולל reasoning_content ו-tool_calls, ואז מחזירים כל תוצאת כלי כהודעת role:tool עם tool_call_id תואם. בתשובות כלי של assistant התוכן יכול להיות null. בתפקידי ההודעות האחרים content עדיין נדרש.
הפורמט Responses תומך בהגדרות המקוריות של function, namespace, כלי apply_patch מותאם אישית ו-web_search, עם tool_choice:"auto". יש להחזיר פריטי function_call_output או custom_tool_call_output עם מזהי קריאה תואמים. ערכי include מסוג web_search_call.results ו-web_search_call.action.sources משפיעים רק על פלט חיפוש ברשת.
הפורמט Messages תומך בהגדרות כלים מקוריות ובאובייקטים לבחירת כלים עם type מסוג auto, any או none. יש לשמור את בלוקי החשיבה של assistant ואת החתימות שלהם. תוצאות כלים מוחזרות כבלוקים בתוך הודעות user. האפליקציה מאמתת ארגומנטים, מריצה פונקציות מותאמות אישית ושולטת בפעולות החיצוניות.
ב-Chat Partial Mode מגדירים partial:true רק בהודעת ה-assistant האחרונה. הפורמט Messages ממשיך ישירות הודעת assistant אחרונה. אין לשחזר היסטוריה מטקסט התשובה הגלוי בלבד.
מגבלות מדיה
הפורמט Chat מקבל בלוקים של טקסט, image_url ו-video_url. יש להשתמש בכתובות data URL בקידוד base64 או בהפניות ms:// נתמכות; כתובות מדיה ציבוריות שרירותיות אינן נתמכות. פורמטים של תמונות: JPEG, PNG, GIF, WebP, BMP, HEIC ו-HEIF. פורמטים של וידאו: MP4, MPEG, MOV, AVI, FLV, MPG, WebM, WMV ו-3GPP. המדריך הרשמי קובע מגבלה כוללת של 100M לגוף הבקשה, ללא תקרה נפרדת למספר התמונות. תמונות 4K וסרטוני Full HD הם המלצות, לא מגבלות מחייבות.
הפורמט Responses משתמש ב-input_image.image_url עם data URL. ב-Messages משתמשים במקור תמונה כמו {type:"base64",media_type:"image/png",data:"..."}, או במקור מסוג url עם הפניית ms:// נתמכת. תמונות מוטמעות ב-Messages יכולות להיות JPEG, PNG, GIF ו-WebP. אין להסיק מכך שהפורמטים האלה מקבלים את בלוק הווידאו של Chat; יש להשתמש בסכמות הייעודיות שלהם.
ב-Playground מצרפים תמונות מוטמעות. עבור בלוקי וידאו והפניות לקבצים יש להשתמש בשדות השיחה המקוריים או בעורך JSON. העלאה וניהול של קבצים אינם חלק מנקודות הקצה האלה ליצירה. מזהה קובץ שנוצר בחשבון אחר אינו בהכרח שמיש.
מטמון ושימוש
ב-Chat וב-Responses משתמשים ב-prompt_cache_key וב-prompt_cache_options:{mode:"implicit",ttl:"5m"}. הערכים של TTL הם 5m או 1h, וברירת המחדל היא 5 דקות. ב-Messages משתמשים ב-cache_control:{type:"ephemeral",ttl:"5m"} ברמה העליונה וב-metadata.user_id אופציונלי. סימוני בקרת מטמון מקוננים ב-Messages אינם מיושמים. השדה prompt_cache_breakpoint ברמת התוכן אינו תקין.
קידומת קיימת במטמון שומרת על ה-TTL המקורי שלה ברענון. בקשה למשך חיים אחר אינה מוכיחה שהוא הוחל. כותרות כתיבת המטמון הרשמיות של Chat מדווחות על הכמויות בפועל ל-5 דקות ולשעה. Responses יכול להחזיר את prompt_cache_options שהוחלו; Messages מדווח על שני מוני ה-TTL בתוך usage.cache_creation.
| פורמט | סך הקלט | קריאה מהמטמון | כתיבה למטמון |
|---|---|---|---|
| Chat | usage.prompt_tokens | prompt_tokens_details.cached_tokens | prompt_tokens_details.cache_write_tokens |
| Responses | usage.input_tokens | input_tokens_details.cached_tokens | input_tokens_details.cache_write_tokens |
| Messages | input_tokens + cache_read_input_tokens + cache_creation_input_tokens | cache_read_input_tokens | cache_creation_input_tokens |
סך הקלט ב-Chat וב-Responses כבר כולל קריאות מהמטמון וכתיבות אליו. הקטגוריות האלה והיתרה שאינה במטמון אינן חופפות; אין להוסיף טוקני מטמון פעמיים. הפלט כולל הסקה. Messages מפריד כתיבות ל-ephemeral_5m_input_tokens ול-ephemeral_1h_input_tokens. אפשר לראות את התעריפים העדכניים; תגובות היצירה הציבוריות אינן כוללות חיובים כספיים.
סטרימינג והשלמה
יש להגדיר stream:true. הפורמט Chat שולח מקטעי נתונים ואת [DONE]; הגדרת stream_options.include_usage:true מבקשת את מקטע השימוש האחרון. Responses משתמש באירועים בעלי שם כגון response.output_text.delta, response.completed ו-response.incomplete. Messages משתמש ב-message_start, באירועי בלוקי תוכן, ב-message_delta וב-message_stop.
סגירת החיבור לבדה אינה מוכיחה השלמה. יש לבדוק את סיבות הסיום ואת המצב הסופי המקוריים. בזרם שנקטע עלולים לחסור נתוני שימוש סופיים. עצירת הקורא אינה מבטיחה ביטול של היצירה.
מקורות רשמיים
נבדקו ב-25 באוקטובר 2026: מדריך Kimi K3.1 Pro, Chat, Responses, Messages, ראייה ומטמון.
