AIREITER

AI Image

Grok Imagine Image 2.0Midjourney V8.1Midjourney V7Z-Image TurboKrea 2 TurboSeedream 5.0 Pro LayerizeQwen Image 3.0 ProMore

AI Video

HappyHorse 1.0HappyHorse 1.1Gemini Omni FlashFLUX 3 VideoVeo 3.1Veo 3.1 FastSeedance 2.0 Fast FaceMore

LLM

MiniMax M3GLM 5.2Doubao Seed 2.1 TurboKimi K2.7 CodeDeepSeek V4 FlashDeepSeek V4 ProClaude Opus 5More
Coming soonaa
API DOCSPRICING
TEMPLATES
moonshotText Chat

Kimi K3 AI Chat Playground and API

Try Kimi K3 online for long-context codebases, research collections, document review, and agent memory through an OpenAI-compatible Chat Completions API.

InputAIReiter $3.00 per 1M tokensOutputAIReiter $15.00 per 1M tokensCache readAIReiter $0.30 per 1M tokens
Run with API
PlaygroundReadmeAPI

INPUT

1
2
3
4
5
6
7
8
9
10
11
12

Install the official OpenAI client — AIReiter speaks the same protocol, so only the base URL changes:

npm install openai

Set the AIREITER_API_KEY environment variable:

export AIREITER_API_KEY=<paste-your-key-here>

Point the client at AIReiter:

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.AIREITER_API_KEY,
  baseURL: "https://aireiter.com/api/v1",
});

Run kimi-k3:

const response = await client.chat.completions.create({
    "model": "kimi-k3",
    "messages": [
      {
        "role": "user",
        "content": "Explain what an API rate limit is and how to handle a 429 response in code."
      }
    ],
    "max_tokens": 4096,
    "temperature": 1,
    "top_p": 1
  });

console.log(response);

Stream the response instead:

const stream = await client.chat.completions.create({
  ...{
    "model": "kimi-k3",
    "messages": [
      {
        "role": "user",
        "content": "Explain what an API rate limit is and how to handle a 429 response in code."
      }
    ],
    "max_tokens": 4096,
    "temperature": 1,
    "top_p": 1
  },
  stream: true,
});

for await (const event of stream) {
  console.log(event);
}

Install the official OpenAI client — AIReiter speaks the same protocol, so only the base URL changes:

pip install openai

Set the AIREITER_API_KEY environment variable:

export AIREITER_API_KEY=<paste-your-key-here>

Point the client at AIReiter:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AIREITER_API_KEY"],
    base_url="https://aireiter.com/api/v1",
)

Run kimi-k3:

response = client.chat.completions.create(
      model = "kimi-k3",
      messages = [
        {
          role = "user",
          content = "Explain what an API rate limit is and how to handle a 429 response in code."
        }
      ],
      max_tokens = 4096,
      temperature = 1,
      top_p = 1
)

print(response)

Stream the response instead:

stream = client.chat.completions.create(
      model = "kimi-k3",
      messages = [
        {
          role = "user",
          content = "Explain what an API rate limit is and how to handle a 429 response in code."
        }
      ],
      max_tokens = 4096,
      temperature = 1,
      top_p = 1,
    stream=True,
)

for event in stream:
    print(event)

Set the AIREITER_API_KEY environment variable:

export AIREITER_API_KEY=<paste-your-key-here>

Run kimi-k3 against AIReiter's API:

curl -s -X POST \
  -H "Authorization: Bearer $AIREITER_API_KEY" \
  -H "Content-Type: application/json" \
  "https://aireiter.com/api/v1/chat/completions" \
  -d '{
  "model": "kimi-k3",
  "messages": [
    {
      "role": "user",
      "content": "Explain what an API rate limit is and how to handle a 429 response in code."
    }
  ],
  "max_tokens": 4096,
  "temperature": 1,
  "top_p": 1
}'

Add "stream": true to the body to receive the response as server-sent events.

OUTPUT

Example

A rate limit caps how many requests an API accepts from you in a given window. Once you exceed it, the server stops doing work for you and answers 429 Too Many Requests instead.

Handling 429

  1. Read the Retry-After response header. When present it tells you exactly how long to wait, in seconds.
  2. When it is absent, back off exponentially with jitter so retries from many clients do not line up.
  3. Cap the number of retries, then surface the failure instead of looping forever.
async function withRetry(request, maxRetries = 4) {
  for (let attempt = 0; ; attempt++) {
    const response = await request();
    if (response.status !== 429 || attempt === maxRetries) return response;
    const retryAfter = Number(response.headers.get("retry-after"));
    const backoff = Number.isFinite(retryAfter) ? retryAfter * 1000 : 2 ** attempt * 500 + Math.random() * 250;
    await new Promise((resolve) => setTimeout(resolve, backoff));
  }
}

Treat the limit as a budget you plan around, not an error you retry your way out of: batch requests where you can, cache repeated reads, and spread bulk work over time.

{
  "model": "kimi-k3",
  "input": {
    "model": "kimi-k3",
    "messages": [
      {
        "role": "user",
        "content": "Explain what an API rate limit is and how to handle a 429 response in code."
      }
    ],
    "max_tokens": 4096,
    "temperature": 1,
    "top_p": 1
  },
  "output": "A rate limit caps how many requests an API accepts from you in a given window. Once you exceed it, the server stops doing work for you and answers **429 Too Many Requests** instead.\n\n## Handling 429\n\n1. Read the `Retry-After` response header. When present it tells you exactly how long to wait, in seconds.\n2. When it is absent, back off exponentially with jitter so retries from many clients do not line up.\n3. Cap the number of retries, then surface the failure instead of looping forever.\n\n```js\nasync function withRetry(request, maxRetries = 4) {\n  for (let attempt = 0; ; attempt++) {\n    const response = await request();\n    if (response.status !== 429 || attempt === maxRetries) return response;\n    const retryAfter = Number(response.headers.get(\"retry-after\"));\n    const backoff = Number.isFinite(retryAfter) ? retryAfter * 1000 : 2 ** attempt * 500 + Math.random() * 250;\n    await new Promise((resolve) => setTimeout(resolve, backoff));\n  }\n}\n```\n\nTreat the limit as a budget you plan around, not an error you retry your way out of: batch requests where you can, cache repeated reads, and spread bulk work over time.",
  "metrics": {
    "input_tokens": 26,
    "output_tokens": 214,
    "generated_in_seconds": 4.1
  },
  "example": true
}
Generated in
4.1 seconds
Input tokens
26
Output tokens
214
Tokens per second
52.20 tokens / second
Time to first token
-

Model details

Use the same model key in Playground, API requests, and internal workflows.

Model ID
kimi-k3
Provider
moonshot
Protocol
OpenAI Chat Completions
Context window
-
Max output
-
Input tokens
300 credits / 1M tokens
Output tokens
1,500 credits / 1M tokens
Cache read
30 credits / 1M tokens
Cache write
-

What You Can Do with Kimi K3

Choose Kimi K3 when context is the bottleneck and one request needs to carry a large working set of code, documents, evidence, or agent history.

Long-Context Review

Keep large codebases, document collections, or research evidence together in one working context.

Repository Analysis

Trace relationships across files and discuss changes with more of the project state available.

Research Synthesis

Compare claims across many notes and sources before producing a structured conclusion.

Agent Memory Evaluation

Review long tool traces and prior decisions to find where an automated workflow went wrong.

Kimi K3 Use Cases

Best suited to workflows where preserving more evidence in the prompt can avoid premature chunking, retrieval, or loss of project state.
01

Codebase Review

Analyze more repository context in a single request.

02

Long Document Sets

Review contracts, policies, reports, or research collections.

03

Agent Trace Analysis

Inspect long tool histories and retained state.

04

Context-Heavy Prototypes

Test whether more context improves results before building retrieval.

How to Use Kimi K3

Test the model in three straightforward steps.

01

Choose Your Settings

Set the response controls and upload options supported by the model.

02

Send a Prompt

Describe the task, add relevant context, and review the streamed response and token usage.

03

Connect the API

Use the documented endpoint and your API key to bring the same model into your product.

Build with the Kimi K3 API

Go from an interactive test to a production integration with predictable controls and usage reporting.

Familiar Protocols

Use the API protocol configured for this model, including streaming where available.

Usage Visibility

Track input tokens, output tokens, and consumed credits after each response.

Model-Specific Controls

Pass the supported generation parameters instead of relying on generic defaults.

One Account and Balance

Test and operate supported text models through the same AIReiter account and billing system.

Kimi K3 FAQ

Common questions about the online playground, pricing, and API access.

/ 01

What is Kimi K3 best for?

Use it when a request needs a large working set of code, documents, research evidence, or agent history.

/ 02

What context window is available for Kimi K3?

AIReiter lists Kimi K3 with a 1,048,576-token context window; validate client limits and timeouts before sending very large requests.

/ 03

Can I call Kimi K3 with an OpenAI-style client?

Yes. AIReiter exposes it through an OpenAI-compatible Chat Completions endpoint.

/ 04

How is Kimi K3 priced?

Current input, cache-read, and output token rates are displayed by AIReiter; confirm them before production use.

/ 05

When should I choose a smaller model instead?

Use a lighter model for short, stateless requests that do not benefit from Kimi K3 long-context capacity.

AIREITER

Questions? Contact us at
support@aireiter.com

新速率有限公司NEWRATE LIMITED香港九龍花園街 2-16 號好景商業中心 2304 室Room 2304, Haojing Commercial Center, 2-16 Garden Street, Kowloon, Hong Kong

LLM

MiniMax M3GLM 5.2Doubao Seed 2.1 TurboKimi K2.7 CodeDeepSeek V4 Flash

AI Video

HappyHorse 1.0HappyHorse 1.1Gemini Omni FlashFLUX 3 VideoVeo 3.1

AI Image

Grok Imagine Image 2.0Midjourney V8.1Midjourney V7Z-Image TurboKrea 2 Turbo

Blog

View All →

Company

Privacy PolicyTerms of ServiceRefund Policy

© 2026 AIReiter. All rights reserved.