Models and current API429 rates
These are exact text model IDs for this family. The public catalog and GET /v1/models for your key answer different questions: a published entry does not prove account access. Preserve hyphens, dots and versions exactly.
| Model / exact ID | API429: USD and billing units |
|---|---|
Kimi K3kimi-k3 | $0.9000 / 1,000,000 cache-write input tokens $0.0900 / 1,000,000 cached input tokens $0.9000 / 1,000,000 input tokens $4.5000 / 1,000,000 output tokens |
Catalog data date: . Rates retain their catalog conditions; an absent row does not mean a free request.
Example budget for kimi-k3: 1,000 requests with 2,000 ordinary input and 500 output tokens each cost approximately $4.050000. This ordinary text token estimate excludes cache, tools, retries and additional fees. It is not a complete bill or evidence of accepted requests.
Selected model rates in the catalog · Full catalog
Define verifiable summary criteria for kimi-k3
Start your evaluation of kimi-k3 by defining what a complete answer must contain. For meeting notes, list the agreed decisions and action owners in advance; for a technical brief, mark the constraints and open questions that must not be dropped. Using a fixed checklist lets you test suitability on your own data without relying on subjective fluency. This guide covers the single literal catalog entry kimi-k3; do not substitute other Kimi family names or guess version numbers.
Native Moonshot context windows are not guaranteed API429 limits
Upstream documentation on the Kimi platform explains how to obtain a native Moonshot key and describes manufacturer model specifications. A native Kimi platform key and an API429 key belong to separate services with separate billing. Furthermore, referencing Kimi K3 in manufacturer guides does not transfer native context window limits, tool parameters or rate quotas to kimi-k3 on API429, nor does this page claim that kimi-k3 is the newest upstream snapshot. Always validate the effective input size and documented method on your own API429 connection.
Check summary completeness and preserve unresolved questions
For your first test, pass a short synthetic note that contains two confirmed decisions and one explicitly unresolved question. Ask kimi-k3 to list confirmed decisions separately from open uncertainties, then compare the output line by line against the source text. Ensure the model does not turn a tentative proposal into a final decision or omit caveats near the end of the passage. Passing a short test confirms basic wiring, but scaling up to longer documents requires dedicated validation of completeness, finish_reason and token spend.
Verify key entitlement in GET /v1/models before sending tasks
Create an API429 key in your account dashboard and check GET /v1/models with that key to confirm that kimi-k3 is available. A public catalog entry shows published inventory rather than account-specific access. Preserve the exact lowercase string kimi-k3 in your request body, keep the secret key in server-side environment variables, and never expose credentials in browser code or shared logs. Validate error handling and empty or truncated responses on synthetic data before connecting production records.
Read live API429 token rates and control retry budgets
The rate table pulls fresh, unambiguous token quotations from the API429 public catalog. Always read the billing unit and any prompt_tokens condition together with the numeric rate, and treat hidden cells as unconfirmed rather than free. Before running batch summarization, cap automatic retries and log the exact model ID, input tokens, output tokens and validation outcome for every request, because each retry after a timeout or format failure can create an additional billable call.
Choose your next connection step
- API429 model catalog
Check the literal kimi-k3 identifier, published chat capability and current token rate units.
- API429 quickstart
Create your API429 key, inspect GET /v1/models and run a small Chat Completions check.
First text request: curl, Python, JavaScript
- Create a key in your API429 account and add balance by Russian bank card, a business invoice, USDT or TON. A $10 test balance is available for subscribing to the Telegram channel through the bonus bot.
- Use the same key to verify
kimi-k3inGET https://gateway.api429.com/v1/models. - Set
API429_API_KEYon the server and send a small paid request. The example does not retry automatically. - Inspect HTTP status,
finish_reason, text and actualusage. A timeout does not prove that the operation was unbilled.
The example uses only ordinary text Chat Completions with max_tokens=512. It does not verify native manufacturer methods, tools, reasoning, vision or manufacturer limits through API429. Python and JavaScript check key access before generation; check the model list separately for curl.
curl
curl --fail-with-body https://gateway.api429.com/v1/chat/completions \
-H "Authorization: Bearer $API429_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"kimi-k3","messages":[{"role":"user","content":"Explain how to verify the output of a small task before using it in production."}],"max_tokens":512,"stream":false}'Python 3
import json
import os
import urllib.request
key = os.environ["API429_API_KEY"]
base = "https://gateway.api429.com/v1"
headers = {"Authorization": "Bearer " + key, "Content-Type": "application/json"}
models_request = urllib.request.Request(base + "/models", headers=headers)
with urllib.request.urlopen(models_request, timeout=30) as response:
available = {item["id"] for item in json.load(response)["data"]}
model = "kimi-k3"
if model not in available:
raise ValueError("Model is unavailable to this key")
payload = json.loads("{\"model\":\"kimi-k3\",\"messages\":[{\"role\":\"user\",\"content\":\"Explain how to verify the output of a small task before using it in production.\"}],\"max_tokens\":512,\"stream\":false}")
request = urllib.request.Request(base + "/chat/completions",
data=json.dumps(payload).encode("utf-8"), headers=headers, method="POST")
with urllib.request.urlopen(request, timeout=60) as response:
result = json.load(response)
choice = result["choices"][0]
if choice.get("finish_reason") != "stop" or not choice.get("message", {}).get("content"):
raise ValueError("Incomplete or empty response")
print(choice["message"]["content"])
print(result.get("usage"))JavaScript: Node.js 18+
const key = process.env.API429_API_KEY;
if (!key) throw new Error("Set API429_API_KEY");
const base = "https://gateway.api429.com/v1";
const headers = { Authorization: "Bearer " + key, "Content-Type": "application/json" };
const model = "kimi-k3";
const available = await fetch(base + "/models", { headers, signal: AbortSignal.timeout(30000) });
if (!available.ok) throw new Error("Models HTTP " + available.status);
if (!(await available.json()).data.some(item => item.id === model)) throw new Error("Model unavailable to this key");
const response = await fetch(base + "/chat/completions", {
method: "POST", headers, signal: AbortSignal.timeout(60000),
body: JSON.stringify({"model":"kimi-k3","messages":[{"role":"user","content":"Explain how to verify the output of a small task before using it in production."}],"max_tokens":512,"stream":false})
});
if (!response.ok) throw new Error("Generation HTTP " + response.status);
const result = await response.json();
const choice = result.choices?.[0];
if (choice?.finish_reason !== "stop" || !choice?.message?.content) throw new Error("Incomplete or empty response");
console.log(choice.message.content);
console.log(result.usage);These examples do not prove access for your key; verify the exact ID before a paid request. API contract · Configure your client · Questions and support
Payment and a $10 test
- Russian bank card. Top up your balance in the account.
- Invoice for companies. Bank transfer with closing documents.
- USDT and TON. Top up in crypto.
$10 test credit. Subscribe to our Telegram channel through the bot and get $10 on your balance for the first requests. Get $10 in the bot
Frequently asked questions
Which exact model ID should I pass for Moonshot Kimi?
Pass the literal string kimi-k3 exactly as written in the API429 catalog, after confirming that it appears in GET /v1/models for your API429 key.
Does the native Kimi context window apply to kimi-k3 on API429?
No. Manufacturer context window specifications do not establish effective service limits on API429. Test your required document length and check finish_reason on your own API429 connection.
Can I authenticate to API429 with a key from platform.kimi.ai?
No. Native Kimi platform keys and API429 keys are separate credentials for separate services. Use API429_API_KEY and the API429 endpoint shown in the examples.
How should I verify summary completeness before production use?
Test on a note with known decisions and open questions, verify that no tentative point is reported as decided, and check that every required constraint from the source remains intact.
Sources and editorial review
Manufacturer documentation describes its family and its own API rules. API429 IDs, rates and request contracts require separate catalog and documentation checks. The original source-review date below is retained; English publication does not renew the source review.
- Kimi platform documentation: get your API key
- Kimi platform documentation: Kimi K3 quickstart
- Kimi platform documentation: models overview
- API429 public catalog
- API429 public request contract
Source review: . To connect, create an API429 account and follow the quickstart instructions.