| Caso de uso | Configuração ou endpoint | Observação |
|---|---|---|
| Usar OpenAI SDK | base_url = https://api.moonshot.ai/v1 | A Kimi descreve a API como compatível com OpenAI e permite usar o OpenAI SDK diretamente. |
| Chat em tempo real | POST https://api.moonshot.ai/v1/chat/completions | O overview da API mostra esse caminho completo; a documentação de Chat usa request com model e messages. |
| Listar modelos | GET https://api.moonshot.ai/v1/models | O endpoint retorna a lista de modelos e o exemplo de resposta tem o campo id. |
| Ver saldo | GET https://api.moonshot.ai/v1/users/me/balance | A documentação de balance usa autenticação Authorization: Bearer .... |
| Criar batch | POST https://api.moonshot.ai/v1/batches | A documentação de Batch API mostra esse endpoint para criar jobs em lote. |
Authorization: Bearer ...; a documentação de integração do TypingMind também descreve o fluxo de criar uma conta Moonshot API, adicionar saldo e obter a API key. base_url para https://api.moonshot.ai/v1. /models antes do request real. O endpoint List Models existe para listar os modelos disponíveis e o exemplo de resposta inclui o campo id; é esse valor que deve entrar no parâmetro model. model e messages. A documentação de Chat mostra a estrutura de request com model e messages, enquanto o overview da API informa o endpoint /chat/completions. O exemplo abaixo usa o base_url publicado pela Kimi para o OpenAI SDK. A variável KIMI_MODEL_ID deve ser preenchida com o id obtido em GET /models, e não com um ID deduzido pelo nome comercial ou copiado de outro 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": "Olá, faça uma apresentação curta de você."}
],
)
print(response)
Comece listando os modelos disponíveis na sua conta Moonshot/Kimi, porque esse endpoint retorna a lista de modelos com o campo id.
curl -sS https://api.moonshot.ai/v1/models \
-H "Authorization: Bearer $MOONSHOT_API_KEY"
Depois de escolher o id correto na resposta, envie o request para Chat Completions. O caminho completo /chat/completions e a estrutura model + messages são descritos pela documentação da 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": "Escreva uma apresentação curta sobre o Kimi K2.6."}
]
}'
Se uma chamada falhar por cobrança ou se você quiser validar a conta antes de integrar em produção, a Kimi documenta o endpoint /users/me/balance e usa Bearer token no exemplo.
curl -sS https://api.moonshot.ai/v1/users/me/balance \
-H "Authorization: Bearer $MOONSHOT_API_KEY"
Alguns provedores intermediários usam IDs próprios para o Kimi K2.6. A AIMLAPI usa o endpoint https://api.aimlapi.com/v1/chat/completions com o model moonshot/kimi-k2-6. Já o OpenRouter exibe o model moonshotai/kimi-k2.6 em sua página de API.
Esses IDs fazem sentido quando você chama o gateway correspondente. Para o endpoint oficial https://api.moonshot.ai/v1/chat/completions, a opção menos arriscada é chamar GET https://api.moonshot.ai/v1/models e usar o id que a Moonshot retorna para a sua conta.
O fluxo mais limpo é: obter a API key, configurar o OpenAI SDK com base_url em https://api.moonshot.ai/v1, consultar /models para confirmar o ID do Kimi K2.6 e só então enviar o request para /chat/completions com model e messages. Assim você segue a documentação OpenAI-compatible da Kimi e evita o erro comum de copiar o ID de AIMLAPI ou OpenRouter para o endpoint oficial da Moonshot.