Kimi K3
Kimi K3 is Moonshot AI's open-source model with native visual understanding, always-on thinking, and a context window of 1.0M tokens, built for long-horizon software engineering and available through AI Gateway via Moonshot AI, Fireworks, Baseten, Morph, Nebius, Together AI, DigitalOcean, Modal, Wafer, Alibaba Cloud, DeepInfra, Runware, Parasail, Blackbox AI.
View API reference- Input and output price
- Prices from: Input $3, Output $12.75, Per 1M tokens
- 24h uptime
- Loading AI Gateway uptime
import { streamText } from 'ai'
const result = streamText({ model: 'moonshotai/kimi-k3', prompt: 'Why is the sky blue?'})Copy link to headingPlayground
Try out Kimi K3 by Moonshot AI. Usage is billed to your team at API rates. Free users (those who haven't made a payment) get $5 of credits every 30 days.
Kimi K3
Copy link to headingProviders
Route requests across multiple providers. Copy a provider slug to set your preference. Visit the docs for more info. Using a provider means you agree to their terms, listed under Legal.
| Provider |
|---|
Copy link to headingUptime24 hours
Direct request success rate on AI Gateway and per-provider. Visit the docs for more info.
Copy link to headingThroughput24 hours
P50 throughput on live AI Gateway traffic, in tokens per second (TPS). Visit the docs for more info.
Copy link to headingLatency24 hours
P50 time to first token (TTFT) on live AI Gateway traffic, in milliseconds. View the docs for more info.
Getting started
Call Kimi K3 through AI Gateway with the AI SDK generateText and streamText functions, or through the OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages APIs by changing the base URL. AI Gateway authenticates the request and routes it to an available provider.
Install the AI SDK (pnpm add ai dotenv), create an API key from the API Keys page, and set it as AI_GATEWAY_API_KEY in your environment. Full setup is covered in the text generation quickstart.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'moonshotai/kimi-k3', prompt: 'Why is the sky blue?', });
console.log(result.text);}
main().catch(console.error);Top-level parameters
The same Kimi K3 request in each API format AI Gateway supports.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'moonshotai/kimi-k3', system: 'You are a concise technical assistant.', prompt: 'Summarize the tradeoffs between static generation and SSR.', maxOutputTokens: 1024, });
console.log(result.text);}
main().catch(console.error);Standard parameters like prompt, messages, temperature, and tools work as documented in the AI SDK docs. These are the parameters with model-specific behavior.
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Model ID in the form creator/model, e.g. moonshotai/kimi-k3. AI Gateway routes the request to an available provider. |
maxOutputTokens | number | No | Hard cap on generated tokens. Kimi K3 supports up to 1,048,576 output tokens. Reasoning tokens count toward this limit. |
reasoning | 'provider-default' | 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | No | Provider-agnostic reasoning effort, available in AI SDK 7 or later. Maps to the provider’s native reasoning configuration; reasoning settings under providerOptions take precedence when both are set. See the Reasoning section below. |
providerOptions | Record<string, JSONValue> | No | AI Gateway routing options under gateway, plus any provider-native options under the provider’s own namespace — see the table below. |
Input limits
| Input | Formats | Sources | Max count | Max size | Limits |
|---|---|---|---|---|---|
| Text | — | — | — | — | Prompt and response share the 1M-token context window |
| Image | — | URL, base64, Uint8Array | — | — | Sent as image parts in messages; counts as input tokens |
| — | URL, base64, Uint8Array | — | — | Sent as file parts in messages; counts as input tokens |
Provider options
Set AI Gateway routing options under providerOptions.gateway. For provider-specific options, pass them under the provider’s namespace as documented by the AI SDK.
Learn more in the AI SDK moonshotai provider docs.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'moonshotai/kimi-k3', prompt: 'Why is the sky blue?', providerOptions: { gateway: { only: ['moonshotai', 'fireworks'], }, }, });
console.log(result.text);}
main().catch(console.error);These AI Gateway routing options apply to every model. Provider-specific options pass through under the provider’s own namespace (for example providerOptions.anthropic) exactly as documented by the AI SDK.
| Parameter | Type | Required | Description |
|---|---|---|---|
providerOptions.gateway.only | string[] | No | Restrict routing to these provider slugs. Requests fail over only within the listed providers. |
providerOptions.gateway.order | string[] | No | Preferred provider order. Listed providers are tried first; unlisted providers remain available as fallbacks. |
providerOptions.gateway.sort | 'cost' | 'ttft' | 'tps' | No | Rank candidate providers by price, time to first token, or tokens per second instead of the default routing order. |
providerOptions.gateway.zeroDataRetention | boolean | No | Route only to providers with a zero-data-retention policy for this model. |
Routing across providers
AI Gateway serves the same model through multiple providers and fails over automatically. order expresses a preference while keeping every provider eligible; only is a hard allowlist — if none of the listed providers are available the request fails instead of falling back.
Options under a provider's own namespace (for example providerOptions.anthropic) are forwarded to that provider with the request. Providers ignore option namespaces that don't apply to them, so it is safe to set provider options alongside gateway routing options.
Reasoning
AI Gateway bridges reasoning across every API format. The AI SDK exposes a provider-agnostic top-level reasoning level (none, minimal, low, medium, high, or xhigh); the Chat Completions and Responses formats take the same effort under reasoning.effort; and the Anthropic Messages format uses a native thinking token budget. Whichever you send, the gateway maps it to the target model’s native configuration, converting between effort levels and token budgets as needed. Reasoning-related settings under providerOptions take full precedence over the top-level reasoning value and are never merged. Reasoning tokens typically count toward your output-token usage, though how they’re reported and billed varies by provider.
Learn more in the AI Gateway reasoning guide.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'moonshotai/kimi-k3', prompt: 'Explain the Monty Hall problem step by step.', reasoning: 'high', });
console.log(result.text);}
main().catch(console.error);Image input
Send images alongside text as message parts. Images count as input tokens.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'moonshotai/kimi-k3', messages: [ { role: 'user', content: [ { type: 'text', text: 'Describe this image.' }, { type: 'image', image: 'https://example.com/photo.jpg' }, ], }, ], });
console.log(result.text);}
main().catch(console.error);PDF input
Attach PDFs as file parts. Their contents count as input tokens.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'moonshotai/kimi-k3', messages: [ { role: 'user', content: [ { type: 'text', text: 'Summarize this document.' }, { type: 'file', mediaType: 'application/pdf', data: 'https://example.com/document.pdf', }, ], }, ], });
console.log(result.text);}
main().catch(console.error);Tool calling
Expose tools the model can call. Define each tool’s inputs with a Zod schema.
import { generateText, tool } from 'ai';import { z } from 'zod';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'moonshotai/kimi-k3', prompt: 'What is the weather in San Francisco?', tools: { getWeather: tool({ description: 'Get the current weather for a location', inputSchema: z.object({ location: z.string() }), execute: async ({ location }) => ({ location, temperatureC: 18 }), }), }, });
console.log(result.text);}
main().catch(console.error);Copy link to headingAbout Kimi K3
Kimi K3, released July 16, 2026, is an open-source model from Moonshot AI with a context window of 1.0M tokens and native visual understanding. It accepts text, image, and video input. Thinking mode is always on, so every response includes a deliberation pass you can't switch off.
Kimi K3 handles software engineering that spans many turns, knowledge work across large document sets, and reasoning problems that need sustained attention. Moonshot AI points to tasks where code meets visual and spatial reasoning as the strongest fit, which covers frontend development, game development, and computer-aided design (CAD) workflows.
Native visual understanding changes how those pipelines compose. A coding agent reads a screenshot of a broken layout or a screen recording of a reproduction without a separate vision model in the pipeline. Design references and diagrams feed the same request as the prompt.
AI Gateway routes Kimi K3 across Moonshot AI, Fireworks, Baseten, Morph, Nebius, Together AI, DigitalOcean, Modal, Wafer, Alibaba Cloud, DeepInfra, Runware, Parasail, Blackbox AI, including US-based providers for teams with data residency and compliance requirements. Provider selection and fallback sit behind one model ID, which gives you failover and more available throughput than a single provider offers. To keep inference in US data centers, set inferenceRegion with scope zone and geo region us. Regional inference lists above the standard rate, so check the pricing panel on this page.
For lower latency, set the speed option to fast and keep the model ID on moonshotai/kimi-k3. Requests route to the faster serving path and fall back to standard speed when the fast tier isn't available. You can also call kimi-k3-fast directly, which pins every request to that tier at a higher per-token rate. Zero Data Retention is configured per request with zeroDataRetention or turned on for every request from AI Gateway dashboard settings, and support varies by provider.
Use the identifier moonshotai/kimi-k3 with the AI SDK or any supported interface like Chat Completions, Responses, or Messages. Kimi K3 supports a context window of 1.0M tokens and completions up to 1.0M tokens per request, at $2.5 per million input tokens and $12.75 per million output tokens.
Copy link to headingWhat To Consider When Choosing a Provider
- Configuration: Thinking mode is always on, so budget output tokens for reasoning on top of the answer and note the completion cap of 1.0M tokens per request. Image and video inputs consume context faster than text of the same apparent length, so measure representative payloads against the window of 1.0M tokens rather than word counts. If latency matters more than rate, the fast serving path costs more per token, so compare both before you move production traffic. US-only inference and Zero Data Retention are request-level or key-level settings, not separate model IDs.
- Zero Data Retention: Zero Data Retention is available for this model. It is offered on a per-provider and model basis. See the documentation for details.
- Authentication: AI Gateway authenticates requests using an API key or OIDC token. You do not need to manage provider credentials directly.
Copy link to headingWhen to Use Kimi K3
Best for
- Long-Horizon Coding Agents: Engineering sessions that run across many turns and tool calls
- Visual and Spatial Coding: Frontend, game development, and CAD work that pairs code with imagery
- Screenshot-Driven Debugging: Reproduction captures that feed straight into the coding loop
- Large Document Reasoning: Knowledge work that fits inside the context window of 1.0M tokens
- US Data Residency: Deployments that must run inference on US-based providers
Consider alternatives when
- Latency-Sensitive Interfaces: Kimi K3 Fast serves the same model on a lower-latency path
- Optional Thinking Mode: A non-thinking Kimi K2 variant answers without a reasoning pass
- Short Single-Turn Prompts: Deliberation adds output tokens without changing a simple answer
- Cost-Sensitive Traffic: An earlier Kimi variant may meet your quality bar for less
Copy link to headingConclusion
Kimi K3 pairs a context window of 1.0M tokens with native visual understanding and always-on thinking, aimed at engineering work that runs long and mixes code with imagery. Set the model ID to moonshotai/kimi-k3 and AI Gateway routes across Moonshot AI, Fireworks, Baseten, Morph, Nebius, Together AI, DigitalOcean, Modal, Wafer, Alibaba Cloud, DeepInfra, Runware, Parasail, Blackbox AI with automatic failover. Add the speed option when a session needs the faster path.
Copy link to headingFrequently Asked Questions
What input types does Kimi K3 accept?
Text, image, and video. Visual understanding is native to Kimi K3, so screenshots, design references, and screen recordings go in alongside your prompt without a separate vision model. Confirm modality limits on https://platform.kimi.ai/docs/pricing/chat-k3 before you build a media-heavy pipeline.
Can I turn off thinking mode on Kimi K3?
No. Thinking mode is always on, so every response includes a deliberation pass. Budget output tokens for it, and reach for a non-thinking Kimi K2 variant when deliberation doesn't improve the result.
What kind of engineering work is Kimi K3 built for?
Long-horizon software engineering, knowledge work, and deep reasoning. Moonshot AI highlights tasks where code meets visual and spatial reasoning, which covers frontend development, game development, and CAD workflows.
How do I get lower latency from Kimi K3?
Set the
speedoption tofastand keep the model ID onmoonshotai/kimi-k3. Requests route to the faster serving path and fall back to standard speed when that tier isn't available. Callingkimi-k3-fastdirectly pins every request to the fast tier at a higher per-token rate.Can I keep Kimi K3 inference in the United States?
Yes. AI Gateway serves Kimi K3 from US-based providers, and
inferenceRegionrestricts a request to US data centers. Regional inference lists above the standard rate, so check the pricing panel on this page before you route production traffic.Is Kimi K3 open source?
Yes. Moonshot AI released Kimi K3 as an open-source model. Through AI Gateway you get hosted access across Moonshot AI, Fireworks, Baseten, Morph, Nebius, Together AI, DigitalOcean, Modal, Wafer, Alibaba Cloud, DeepInfra, Runware, Parasail, Blackbox AI without running the deployment yourself.
Can I use Kimi K3 in my coding agent?
Yes. Run
vercel ai-gateway coding-agents setupand select Kimi K3. The command detects the agents on your machine, provisions an AI Gateway key, and writes their configuration.How do I use Kimi K3 on AI Gateway?
Use the identifier
moonshotai/kimi-k3with the AI SDK or any supported interface like Chat Completions, Responses, or Messages. AI Gateway routes acrossmoonshotai,fireworks,baseten,morph,nebius,togetherai,digitalocean,modal,wafer,alibaba,deepinfra,runware,parasail,blackboxand handles failover automatically.Does Kimi K3 support zero data retention?
Yes, Zero Data Retention is available for this model. Zero Data Retention is offered on a per-provider basis. See https://vercel.com/docs/ai-gateway/capabilities/zdr for details.
Your use is subject to Moonshot AI's Terms & Privacy Policies.