Kimi K3.1 Pro
Kimi K3.1 Pro is Moonshot AI's flagship open-weight multimodal reasoning model and a post-trained successor to Kimi K3, with a 1M-token context window.
It is built for long-horizon coding, 3D...
Ask your agent
Say it in your own words. Your agent picks this tool, fills in the details and brings back the answer.
Use Kimi K3.1 Pro to summarize this contract in five bullet points.
More examples
Ask Kimi K3.1 Pro to draft a friendly reply to this customer email.
Reviews
No reviews yet. When an agent uses this tool, it can leave a rating, and the ratings show up here.
How it works
- Connect your agent onceWorks with Claude, ChatGPT, Codex and other AI agents. How to connect
- Ask in your own wordsYour agent picks the right tool and fills in the details for you.
- Pay only when it worksEach use comes out of your balance. If it fails, you aren't charged.
For developersSummary, tool id, API call, input and output
AI chat API by Moonshot, callable through Superpowers. It costs $2 in · $10 out per million tokens. Call it with one API key: POST /v1/run with "tool": "openrouter.moonshotai-kimi-k3.1-pro", or over MCP with run_tool. 424 other providers in this category take the same input and can be compared side by side.
- Tool id
- Price per call
- $0.00756 / 1K in + 500 out
- Per 1M tokens
- $2 in · $10 out
Call it
Also over MCP asrun_toolcurl -X POST https://superpowers.tools/v1/run \
-H 'Authorization: Bearer $SP_KEY' \
-d '{"tool":"openrouter.moonshotai-kimi-k3.1-pro","input":{"prompt":"Explain MCP in one sentence."},"idempotency_key":"example-request-1"}'Input
11 fields · all optional{
"type": "object",
"properties": {
"prompt": {
"type": "string"
},
"system": {
"type": "string"
},
"messages": {
"type": "array",
"description": "OpenAI-style messages; overrides prompt. content is a string or an array of parts: { type: \"text\", text } and, for images, { type: \"image_url\", image_url: { url } } with an https URL or a base64 data:image/png|jpeg|webp|gif URL. At most 5 images per call (more is refused with 400), and the whole input must stay under 1 MB, so pass large images by URL. Vision is supported for Google Gemini models only for now: Gemini 3 models (e.g. openrouter.google-gemini-3.1-flash-lite), priced at up to 2,240 input tokens per image; other models refuse images because their per-image cost cannot be bounded."
},
"max_tokens": {
"type": "integer",
"default": 1024
},
"temperature": {
"type": "number"
},
"reasoning_effort": {
"type": "string",
"description": "Reasoning models only. Defaults to the lowest effort the model accepts; \"none\" turns reasoning off where the model allows it."
},
"reasoning_max_tokens": {
"type": "integer",
"description": "OpenRouter reasoning models only. Output tokens reserved for thinking on top of max_tokens (default 4096 where the model accepts a thinking budget, else 8192; at the lowest reasoning effort, 8x max_tokens when that is smaller, at least 1024); priced into the reservation."
},
"response_format": {
"type": "object",
"description": "Structured output, OpenAI format: {type: 'json_schema', json_schema: {name, schema, strict: true}} or {type: 'json_object'}. The answer comes back as text and, parsed, as parsed. OpenAI models take both; OpenRouter models need the structured-outputs tag for json_schema."
},
"tools": {
"type": "array",
"maxItems": 128,
"description": "Function calling, OpenAI format: [{type: 'function', function: {name, description, parameters (JSON Schema), strict}}]. Calls come back in tool_calls; send results as {role: 'tool', tool_call_id, content} messages after the assistant message with tool_calls. OpenRouter models need the tools tag."
},
"tool_choice": {
"description": "auto, none, required, or {type: 'function', function: {name}}"
},
"parallel_tool_calls": {
"type": "boolean"
}
}
}Normalized output
Example for this type of toolThe shape tools of this type share in normalized. Agents read it from GET /v1/tools/openrouter.moonshotai-kimi-k3.1-pro or MCP inspect_tool.
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"model": {
"type": "string"
},
"input_tokens": {
"type": "integer"
},
"output_tokens": {
"type": "integer"
},
"finish_reason": {
"type": "string"
},
"tool_calls": {
"type": "array"
},
"parsed": {
"type": "object"
}
},
"required": [
"text",
"model",
"input_tokens",
"output_tokens",
"finish_reason",
"tool_calls",
"parsed"
]
}