Claude Opus 5.5 ist auf SeedRouter verfügbar

Kimi K3 API nutzen: API-Key erhalten und den ersten Aufruf senden

Kimi K3 API nutzen: API-Key erhalten, kimi-k3 per OpenAI SDK aufrufen, Reasoning-Aufwand setzen, streamen, Bilder senden und typische erste Fehler beheben.

Als Markdown lesen

Um Kimi K3 aufzurufen, brauchen Sie einen API-Key von einer Plattform, die das Modell anbietet, und eine Anfrage, in der model auf kimi-k3 gesetzt ist. Moonshot AI bietet es auf seiner eigenen Kimi API Platform an, wo das Modell nach der ersten Aufladung freigeschaltet wird. SeedRouter bietet es mit einem Schlüssel an, mit Bezahlung nach Nutzung und im offiziellen Anfrageformat: Richten Sie das OpenAI SDK auf https://api.seedrouter.ai/v1 und behalten Sie Ihren Code.

Dieser Leitfaden verwendet SeedRouter; die Anfragekörper sind dieselben wie bei Kimis eigener API.

Wie erhalte ich einen Kimi K3 API-Key?

  1. Melden Sie sich bei SeedRouter an und öffnen Sie API keys.
  2. Erstellen Sie einen Schlüssel und kopieren Sie ihn; er wird nur einmal angezeigt.
  3. Laden Sie Guthaben auf, wenn Sie es brauchen. Neue Konten starten mit einem kleinen kostenlosen Guthaben, und es gibt kein Abo.

Speichern Sie den Schlüssel in einer Umgebungsvariablen wie SEEDROUTER_API_KEY und verwenden Sie ihn nur in serverseitigem Code.

Wie rufe ich Kimi K3 aus Python auf?

Kimi K3 spricht das Chat-Completions-Format, daher funktioniert das offizielle openai-Paket unverändert:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["SEEDROUTER_API_KEY"],
    base_url="https://api.seedrouter.ai/v1",
)

completion = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Explain context caching in one sentence."}],
)
print(completion.choices[0].message.content)

Die Antwort steht in content. Kimi K3 denkt nach, bevor es antwortet, und dieses Reasoning kommt in reasoning_content in derselben Nachricht zurück.

Wie rufe ich es aus Node.js oder mit cURL auf?

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.SEEDROUTER_API_KEY,
  baseURL: "https://api.seedrouter.ai/v1",
});

const completion = await client.chat.completions.create({
  model: "kimi-k3",
  messages: [{ role: "user", content: "Explain context caching in one sentence." }],
});
console.log(completion.choices[0].message.content);
curl https://api.seedrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "kimi-k3", "messages": [{"role": "user", "content": "Explain context caching in one sentence."}]}'

Derselbe Schlüssel beantwortet für kimi-k3 auch die Responses API (/v1/responses) und das Anthropic-Messages-Format (/v1/messages).

Wie stelle ich den Reasoning-Aufwand ein?

Kimi K3 denkt immer nach; Sie können das nicht abschalten. reasoning_effort legt fest, wie viel es vor der Antwort nachdenkt:

completion = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Find the bug: def avg(xs): return sum(xs) / len(xs)"}],
    reasoning_effort="high",
)
WertWofür
lowSchnelle, einfache Schritte
highDie meisten Programmier- und Analyseaufgaben
max (Standard)Die schwierigsten Probleme

Reasoning-Token werden als Ausgabe abgerechnet und zählen zu max_completion_tokens, das standardmäßig 131.072 beträgt und bis 1.048.576 reicht. In unserem Test mit derselben Frage verbrauchte low 25 Ausgabe-Token und max 146.

Wie streame ich die Antwort?

Fügen Sie stream=True hinzu. Das Reasoning kommt zuerst in delta.reasoning_content, danach die Antwort in delta.content. Mit stream_options={"include_usage": True} erhalten Sie die Token-Zahlen im letzten Chunk:

stream = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Write a haiku about latency."}],
    stream=True,
    stream_options={"include_usage": True},
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Kann ich Bilder senden?

Ja, als base64-Data-URIs. Kimi K3 akzeptiert keine öffentlichen Bild-URLs; sein Quickstart sagt: „Vision input does not support public image URLs“ (Bildeingaben unterstützen keine öffentlichen Bild-URLs):

import base64

with open("chart.png", "rb") as f:
    image = base64.b64encode(f.read()).decode()

completion = client.chat.completions.create(
    model="kimi-k3",
    messages=[{
        "role": "user",
        "content": [
            {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{image}"}},
            {"type": "text", "text": "What does this chart show?"},
        ],
    }],
)

Mit welchen Fehlern muss ich rechnen?

FehlerUrsacheLösung
400 bei temperature, top_p, n oder einer PenaltyKimi K3 legt sie fest (1.0, 0.95, 1, 0)Weglassen
400 bei reasoning_effortEin anderer Wert als low, high oder maxEinen der drei verwenden
400 bei einem BildEine öffentliche URL statt einer Data-URIDas Bild als base64 senden
401Fehlender oder falscher SchlüsselDen Authorization-Header prüfen

Fehler kommen als {"error": {"code": ..., "message": "..."}} zurück, und eine fehlgeschlagene Anfrage wird nicht berechnet.

Häufig gestellte Fragen

Ist die Kimi K3 API OpenAI-kompatibel?

Ja. Kimi K3 akzeptiert die Formate Chat Completions und Responses, sodass das OpenAI SDK funktioniert, wenn Sie nur Base-URL und Modell ändern. Es akzeptiert auch das Anthropic-Messages-Format.

Brauche ich ein Moonshot-Konto, um Kimi K3 zu nutzen?

Bei SeedRouter nicht. Sie melden sich bei SeedRouter an, erstellen dort einen Schlüssel und zahlen aus Ihrem SeedRouter-Guthaben.

Was kostet eine Kimi K3-Anfrage?

Sie wird pro Eingabe- und Ausgabe-Token abgerechnet. Der Kimi K3 Preisleitfaden enthält die aktuellen Tarife und Rechenbeispiele.

Wo finde ich die vollständige Parameterliste?

Die Kimi K3 API-Referenz listet jedes Feld auf, und die Kimi K3-Seite bietet einen Playground und die aktuellen Preise.

Verwandte Leitfäden