| Задача | Настройка или endpoint | Что важно |
|---|---|---|
| Работа через OpenAI SDK | base_url = https://api.moonshot.ai/v1 | Kimi описывает API как OpenAI-compatible и разрешает использовать OpenAI SDK напрямую. |
| Чат в реальном времени | POST https://api.moonshot.ai/v1/chat/completions | В API overview указан полный путь; Chat API использует структуру запроса с model и messages. |
| Получить список моделей | GET https://api.moonshot.ai/v1/models | Endpoint возвращает список моделей; в примере ответа есть поле id. |
| Проверить баланс | GET https://api.moonshot.ai/v1/users/me/balance | В документации Check Balance используется заголовок Authorization: Bearer. |
| Создать batch-задачу | POST https://api.moonshot.ai/v1/batches | В документации Batch API указан endpoint для создания batch. |
Authorization: Bearer ...; документация TypingMind также описывает сценарий с созданием Moonshot API-аккаунта, пополнением баланса и получением API key. base_url как https://api.moonshot.ai/v1. /models. Endpoint List Models предназначен для вывода доступных моделей и возвращает поле id; именно это значение стоит передавать в параметр model. model и messages. Документация Chat API показывает структуру запроса с model и messages, а API overview указывает endpoint /chat/completions. В примере ниже используется base_url, который Kimi указывает для OpenAI SDK. Значение KIMI_MODEL_ID лучше брать из ответа GET /models, а не угадывать по названию продукта и не копировать из стороннего gateway.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["MOONSHOT_API_KEY"],
base_url="https://api.moonshot.ai/v1",
)
response = client.chat.completions.create(
model=os.environ["KIMI_MODEL_ID"],
messages=[
{"role": "user", "content": "Привет! Коротко представься."}
],
)
print(response)
Первым делом лучше запросить список моделей в вашем аккаунте Moonshot/Kimi: этот endpoint возвращает список моделей и поле id.
curl -sS https://api.moonshot.ai/v1/models \
-H "Authorization: Bearer $MOONSHOT_API_KEY"
После этого выберите нужный id из ответа и отправьте запрос в Chat Completions. Полный путь /chat/completions и формат запроса model + messages описаны в документации Kimi.
curl -sS https://api.moonshot.ai/v1/chat/completions \
-H "Authorization: Bearer $MOONSHOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "PASTE_MODEL_ID_FROM_MODELS",
"messages": [
{"role": "user", "content": "Напиши короткое описание Kimi K2.6."}
]
}'
Если запросы падают из-за billing или вы хотите заранее проверить аккаунт перед интеграцией, у Kimi есть endpoint баланса /users/me/balance; пример в документации использует Bearer token.
curl -sS https://api.moonshot.ai/v1/users/me/balance \
-H "Authorization: Bearer $MOONSHOT_API_KEY"
У некоторых посредников для Kimi K2.6 используются собственные идентификаторы моделей. Например, AIMLAPI показывает endpoint https://api.aimlapi.com/v1/chat/completions и model moonshot/kimi-k2-6. OpenRouter на своей API-странице показывает model moonshotai/kimi-k2.6.
Эти ID корректны только при вызове через соответствующий gateway. Если вы обращаетесь к официальному https://api.moonshot.ai/v1/chat/completions, наименее рискованный путь — вызвать GET https://api.moonshot.ai/v1/models и использовать тот id, который Moonshot вернёт для вашего аккаунта.
Рабочая схема выглядит так: получите API key, укажите для OpenAI SDK base_url = https://api.moonshot.ai/v1, вызовите /models, чтобы подтвердить model ID Kimi K2.6, а затем отправляйте запросы в /chat/completions с полями model и messages. Такой подход следует OpenAI-compatible документации Kimi и помогает избежать типичной ошибки — переноса model ID из AIMLAPI или OpenRouter в официальный endpoint Moonshot.