Kimi K3 API Nasıl Kullanılır?

Kimi K3 API'yi OpenAI SDK ile çağırın: Python, JavaScript ve cURL hızlı başlangıçları, ayrıca akış, araç çağrıları, JSON modu, mantık yürütme çabası ve önbelleğe alma.

Ashley Innocent

Ashley Innocent

17 July 2026

Kimi K3 API Nasıl Kullanılır?

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

Moonshot AI, 16 Temmuz 2026 tarihinde Kimi K3'ü piyasaya sürdü ve bugüne kadarki en yetenekli modelleri olarak adlandırdı: 2.8T parametreli Uzmanlar Karışımı (Mixture-of-Experts) tasarımına ve 1.048.576 tokenlık bir bağlam penceresine sahip dünyanın ilk açık 3T sınıfı modeli. Geliştiriciler için ilgi çekici kısım boyutu değil, API'sidir. Kimi K3, OpenAI SDK lehçesini kullanır, bu nedenle zaten GPT veya herhangi bir OpenAI uyumlu uç noktayı çağırıyorsanız, aynı istemciyi kimi-k3'e yönlendirebilir ve birkaç dakika içinde yanıtları akış halinde almaya başlayabilirsiniz. Bu kılavuz, bir anahtar almayı, Python, JavaScript ve cURL'de hızlı başlangıcı, akış özelliğini, araç çağrılarını, JSON modunu, yapılandırılabilir muhakeme-efor parametresini ve önbellek isabetli girişleri önbellek kaçaklarından yaklaşık on kat daha ucuz hale getiren bağlam önbelleklemesini ele almaktadır. Ardından bu çağrıları Apidog'da test edip hata ayıklayarak, tahmin etmek yerine ham isteği ve sunucu tarafından gönderilen olayları görebilirsiniz.

Özet

Hangi Kimi modelini çağırmalısınız

Herhangi bir kod yazmadan önce doğru hedefi seçin. Kimi K3, serinin öncü modelidir: karmaşık kodlama, uzun vadeli ajan tabanlı çalışmalar ve uzun bağlam üzerindeki bilgi görevleri için tasarlanmış büyük bir MoE'dir. Serideki token başına en yüksek çıktı maliyetini taşır ve Moonshot'un kendi lansman gönderisi, K3'ün dahili karşılaştırmalarında Claude Fable 5 ve GPT-5.6 Sol'un gerisinde kaldığını açıkça belirtmektedir. Güçlüdür, ancak açık bir öncü kazanan değildir ve fiyatı da buna göre belirlenmiştir.

İş yükünüz yüksek hacimli bir kodlama asistanı, bir CI test yazarı veya ölçekte çağrı başına ödeme yaptığınız herhangi bir şeyse, eski K2.7 Kod serisi genellikle maliyet açısından daha iyi bir uyum sağlar. Bu seviyenin durumunuzu karşılayıp karşılamadığını görmek için Kimi K2.7 Kod API kılavuzu ve Kimi K2.7 Kod nedir genel bakışıyla başlayın. Yetenek ve fiyatlandırma üzerine yan yana bir karşılaştırma için, Kimi K3 ile Kimi K2.7 Kod karşılaştırması her birinin nerede üstün geldiğini ortaya koymaktadır. Ek muhakeme derinliğine, tam 1 milyon bağlama veya ajans tabanlı araç orkestrasyonuna ihtiyacınız olduğunda kimi-k3'e başvurun; görev rutin ve hacim yüksek olduğunda K2.7'ye geçin. Önce tüm yetenek dökümünü istiyorsanız, Kimi K3 nedir açıklayıcısı mimariyi ve modelin konumunu ele almaktadır.

Kimi platformunda bir API anahtarı alın

platform.kimi.ai adresine gidin ve oturum açın. Yeni konsol, anahtarlar oluşturabileceğiniz, kullanımınızı izleyebileceğiniz ve hesabınız için temel URL'yi onaylayabileceğiniz yerdir.

  1. Konsolun API anahtarları bölümünü açın ve yeni bir anahtar oluşturun.
  2. Bir kez kopyalayın ve güvenli bir yere saklayın. Tam değerini bir daha göremeyeceksiniz.
  3. Bakiye yetersizliği nedeniyle kimi-k3 çağrılarının reddedilmemesi için kredi ekleyin veya faturalandırma katmanınızı onaylayın.
  4. Konsolda gösterilen temel URL'yi not alın. Kimi tarihsel olarak https://api.moonshot.ai/v1 adresini kullanmıştır; konsol, hesabınız için doğruluk kaynağıdır.

Anahtarı bir ortam değişkeni olarak dışa aktarın, böylece kaynak kodunuza asla girmez:

export KIMI_API_KEY="sk-your-key-here"

Bu tek alışkanlık, sırları git geçmişinden ve ekran görüntülerinden uzak tutar. Daha sonra, Apidog'da test yaparken, aynı değeri orada da bir ortam değişkeni olarak saklayacaksınız, böylece anahtar kontrol ettiğiniz tam olarak iki yerde yaşayacaktır.

Önbellek isabeti ile önbellek kaçağı arasındaki matematiksel farkın ve bunun gerçek aylık faturalara nasıl yansıdığının tam dökümü için Kimi K3 fiyatlandırma kılavuzuna bakın.

Hızlı Başlangıç: ilk kimi-k3 çağrınız

Kimi'nin API'si OpenAI sohbet tamamlama sözleşmesini takip eder, bu nedenle resmi OpenAI SDK'ları iki değişiklikle çalışır: base_url ve model. Tercih ettiğiniz SDK'yı kurun, ardından aşağıdaki kod parçacıklarından birini çalıştırın.

Python

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["KIMI_API_KEY"],
    # Kimi is OpenAI-SDK compatible. Confirm the exact base URL in the
    # console at platform.kimi.ai; Kimi has historically used the value below.
    base_url="https://api.moonshot.ai/v1",
)

response = client.chat.completions.create(
    model="kimi-k3",
    messages=[
        {"role": "system", "content": "You are a precise coding assistant."},
        {"role": "user", "content": "Explain what a token bucket rate limiter does in one paragraph."},
    ],
)

print(response.choices[0].message.content)

JavaScript / TypeScript

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.KIMI_API_KEY,
  // Confirm the base URL in the platform.kimi.ai console.
  baseURL: "https://api.moonshot.ai/v1",
});

const response = await client.chat.completions.create({
  model: "kimi-k3",
  messages: [
    { role: "system", content: "You are a precise coding assistant." },
    { role: "user", content: "Explain what a token bucket rate limiter does in one paragraph." },
  ],
});

console.log(response.choices[0].message.content);

cURL

curl "$KIMI_BASE_URL/chat/completions" \
  -H "Authorization: Bearer $KIMI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kimi-k3",
    "messages": [
      {"role": "user", "content": "Explain what a token bucket rate limiter does in one paragraph."}
    ]
  }'

KIMI_BASE_URL'i konsolun gösterdiği değere ayarlayın (örneğin https://api.moonshot.ai/v1). Bunlardan herhangi biri 401 döndürürse, anahtar yanlış veya ayarlanmamış demektir. Yol üzerinde bir 404 genellikle temel URL'nin yanlış olduğunu, modelin eksik olmadığını gösterir. OpenAI Python SDK belgeleri istemci seçeneklerini daha ayrıntılı olarak ele alır ve kablo formatı aynı olduğu için oradaki her seçenek burada da geçerlidir.

Akış yanıtları

Sohbet kullanıcı arayüzleri ve uzun ajan dönüşleri için, tüm tamamlamayı beklemek yerine tokenların geldikçe görünmesini istersiniz. stream=True değerini ayarlayın ve farklar üzerinde yineleme yapın.

stream = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Write a 6-line poem about flaky tests."}],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta
    if delta.content:
        print(delta.content, end="", flush=True)

Arka planda bu bir sunucu tarafından gönderilen olaylar (SSE) akışıdır: her satır küçük bir JSON parçasını taşıyan bir data: çerçevesidir ve akış data: [DONE] ile sona erer. SDK bu çerçevelemeyi sizden gizler, bu, akış ortasında bir şeyler bozulana ve ham çerçeveleri görmeniz gerekene kadar kullanışlıdır. Aşağıdaki Apidog bölümü bu noktada önemini kanıtlar.

Aynı bayrak JavaScript'te de çalışır:

const stream = await client.chat.completions.create({
  model: "kimi-k3",
  messages: [{ role: "user", content: "Write a 6-line poem about flaky tests." }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

Araç çağrıları (fonksiyon çağırma)

Kimi K3, araç çağrılarını, araç seçimi kısıtlamalarını ve dinamik araç yüklemeyi destekler, böylece onu dosyaları okuyan, API'lere erişen veya terminal komutları çalıştıran ajanlara bağlayabilirsiniz. Fonksiyonlarınızı JSON Şeması ile tanımlarsınız, model ne zaman birini çağıracağına karar verir ve sonucu bir tool mesajıyla döndürürsünüz.

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get the current weather for a city.",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {"type": "string", "description": "City name, e.g. Singapore"},
                },
                "required": ["city"],
            },
        },
    }
]

messages = [{"role": "user", "content": "What's the weather in Singapore right now?"}]

first = client.chat.completions.create(
    model="kimi-k3",
    messages=messages,
    tools=tools,
    tool_choice="auto",
)

tool_call = first.choices[0].message.tool_calls[0]
print(tool_call.function.name)       # get_weather
print(tool_call.function.arguments)  # {"city": "Singapore"}

Model fonksiyonunuzu çalıştırmaz; size bir isim ve JSON argümanları verir. Gerçek işi siz yürütür, ardından çıktıyı modele geri beslersiniz, böylece model nihai bir yanıt yazabilir:

import json

# Append the assistant turn that asked for the tool, then the tool result.
messages.append(first.choices[0].message)
messages.append({
    "role": "tool",
    "tool_call_id": tool_call.id,
    "content": json.dumps({"city": "Singapore", "temp_c": 31, "sky": "humid"}),
})

final = client.chat.completions.create(model="kimi-k3", messages=messages, tools=tools)
print(final.choices[0].message.content)

Bir araç çağrısını zorlamak için tool_choice="required" değerini ayarlayın veya belirli bir fonksiyonu sabitlemek için belirli bir {"type": "function", "function": {"name": "get_weather"}} nesnesi geçirin. Bu kısıtlamalar, hangi aracın tetikleneceğini zaten bildiğinizde bir ajanı yolda tutar.

Erkenden bilinmesi gereken K3'e özgü bir püf noktası: model, düşünce-geçmişi korunmuş modda eğitilmiştir. Eğer ajan mekanizmanız, modelin önceki muhakemesini dönüşler arasında düşürürse, üretim kalitesi istikrarsızlaşabilir. Çok turlu bir ajan döngüsü oluşturduğunuzda, asistanın iç dönüşlerini kırpmak yerine tüm mesaj geçmişini geri iletin.

JSON modu ve yapılandırılmış çıktı

Makine tarafından okunabilir çıktıya ihtiyacınız olduğunda, düz metni ayrıştırmak yerine doğrudan JSON isteyin. response_formatjson_object olarak ayarlayın ve modele JSON döndürmesini söyleyin.

response = client.chat.completions.create(
    model="kimi-k3",
    messages=[
        {"role": "system", "content": "Return only valid JSON. No prose, no markdown."},
        {"role": "user", "content": "Extract name and role from: 'Ada Lovelace, mathematician'."},
    ],
    response_format={"type": "json_object"},
)

print(response.choices[0].message.content)  # {"name": "Ada Lovelace", "role": "mathematician"}

Daha katı garantiler için, Kimi bir şemaya karşı yapılandırılmış çıktıyı destekler. SDK sürümünüz bunu kabul ediyorsa, modelin şeklinize uyması için bir json_schema yanıt formatı geçirin:

response = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Extract name and role from: 'Ada Lovelace, mathematician'."}],
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "person",
            "schema": {
                "type": "object",
                "properties": {
                    "name": {"type": "string"},
                    "role": {"type": "string"},
                },
                "required": ["name", "role"],
            },
        },
    },
)

Göndermeden önce konsolda hesabınız için json_schema desteğini onaylayın; şüpheniz varsa, json_object artı kendi tarafınızda bir doğrulama adımı güvenli bir yedek çözümdür. Kimi ayrıca, bir asistan yanıtını önceden doldurmak veya yanıtları yeni verilere dayandırmak istediğinizde yardımcı olan kısmi bir mod ve internet araması da sunar.

Yapılandırılabilir muhakeme eforu

Kimi K3, modelin yanıt vermeden önce ne kadar düşüneceğini kontrol eden bir reasoning_effort parametresi sunar. Bugün mevcut seviye max'tır ve aynı zamanda varsayılandır; Moonshot, daha düşük ve daha yüksek seviyelerin planlandığını belirtmiştir. Daha derin düşünme daha fazla çıktı tokenına mal olur ve gecikme ekler, bu nedenle görev başına ayarlayacağınız bir kaldıraçtır.

response = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Plan a migration from REST to GraphQL for a 40-endpoint API."}],
    reasoning_effort="max",
)

OpenAI SDK sürümünüz alanı bilinmeyen olarak reddederse, bunun yerine kaçış deliğinden geçirin:

response = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Plan a migration from REST to GraphQL."}],
    extra_body={"reasoning_effort": "max"},
)

extra_body deseni, temel SDK'nın henüz modellemediği sağlayıcıya özgü herhangi bir alanı gönderme şeklinizdir, bu durum uyumlu bir uç noktanın istemci kütüphanesinden daha hızlı hareket etmesi durumunda yaygındır.

Apidog'da kimi-k3'ü test edin ve hata ayıklayın

SDK kodu, kablo formatını gizler, bu durum bir araç çağrısı yanlış bir biçim döndürene veya bir akış kesilene ve hatanın sizde mi yoksa uç noktada mı olduğunu anlayamayacağınız zamana kadar sorun değildir. İşte burada ham HTTP konuşan bir API istemcisi işe yarar. Apidog, tam kimi-k3 isteğini göndermenize, SSE akışını kare kare izlemenize ve anahtarınızı istek gövdesinin dışında tutmanıza olanak tanır. API çağrılarını bir terminalde yaşamak zorunda kalmadan test etmek isterseniz, bu, curl-and-squint'ten daha temiz bir döngüdür; Postman olmadan API'leri test etme kılavuzu genel iş akışını kapsar.

İşte kimi-k3 için odaklanmış bir döngü:

  1. Apidog'da yeni bir HTTP isteği oluşturun. Metodu POST olarak ve URL'yi temel URL'niz artı /chat/completions olarak ayarlayın.
  2. Anahtarınızı bir ortam değişkeni olarak saklayın. Apidog'un ortam ayarlarında KIMI_API_KEY'i ekleyin, ardından Authorization başlığını Bearer {{KIMI_API_KEY}} olarak ayarlayın. Artık sır yapıştırılmak yerine referans alınır ve ortamları değiştirerek test ve üretim anahtarları arasında geçiş yapabilirsiniz.
  3. "model": "kimi-k3" ve messages dizinizle bir JSON gövdesi yapıştırın. Gerçek çağrılarda önbellek isabeti ile önbellek kaçağı sayımlarını görebilmek için token kullanımını da içeren tam yanıtı gönderin ve okuyun.
  4. "stream": true değerini değiştirin ve sunucu tarafından gönderilen olayların ayrık kareler halinde geldiğini izleyin. Ham data: parçacıklarını görmek, SDK'nın düzenli yineleyicisinin yapmadığı bir şekilde akış hatalarını açıkça ortaya koyar.
  5. Yanıttaki tool_calls dizisini inceleyerek araç çağrılarında hata ayıklayın. Argümanlar bozuk geldiğinde, modelin kötü JSON mu ürettiğini yoksa şemanızın belirsiz mi olduğunu görebilir ve açıklamayı orada düzeltebilirsiniz.
  6. kimi-k2-7-code ile A/B testi yapın. İsteği çoğaltın, yalnızca model alanını değiştirin ve aynı istem üzerinde gecikmeyi, çıktı kalitesini ve maliyeti karşılaştırın. K3'ün ek muhakemesinin göreviniz için fiyat artışına değip değmeyeceğine karar vermenin en hızlı ve dürüst yoludur.

Apidog, OpenAI uyumlu istekleri doğrudan içe aktardığı için, bir cURL komutu yapıştırabilir ve başlıkları ve gövdesi zaten doldurulmuş, kaydedilebilir, tekrarlanabilir bir istek elde edebilirsiniz. Oradan, Kimi bir güncelleme yayınladığında ekibinizin yeniden çalıştırabileceği paylaşılan bir test durumu haline gelir. Eğer ajanınız modelle MCP aracılığıyla konuşuyorsa, Apidog MCP istemcisiyle görsel hata ayıklama kılavuzu bu çağrıları nasıl izleyeceğinizi de gösterir. Kendi anahtarınızla bu döngüyü takip etmek isterseniz Apidog'u indirin.

Gerçek dünya kullanım senaryoları

Bazı kalıplar, kimi-k3'ün ne için yapıldığına net bir şekilde uyar:

Bunların her birinde iş akışı aynıdır: isteği SDK ile oluşturun, Apidog'da ham davranışı doğrulayın, ardından şekle güvendiğinizde uygulamanıza bağlayın.

Sonuç

Kimi K3'ü çağırmak, OpenAI uyumlu bir istemcide üç ayara bağlıdır: konsolunuzdan gelen temel URL, API anahtarınız ve model="kimi-k3". Buradan itibaren akış, araç çağrıları, JSON modu, yapılandırılmış çıktı ve reasoning_effort hepsi zaten bildiğiniz sohbet tamamlama sözleşmesini takip eder. İçselleştirmeye değer iki şey, sabit bir ön eki tutmanın 3,00 dolarlık girdiyi 0,30 dolarlık girdiye dönüştürdüğü önbellekleme ekonomisi ve K3'ün muhakeme derinliğini gerçek bir bedelle satın aldığı dürüst takas olduğundan, rutin yüksek hacimli işleri K2.7 hattına yönlendirin. İsteği kodda oluşturun, Apidog'da test edin ve kimi-k3'e karşı sorunsuz bir şekilde yayınlayın.

Sıkça Sorulan Sorular

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin