Kimi K2.5 API: Kod Örnekleriyle Eksiksiz Geliştirici Rehberi 2026

Şub 3, 2026

New to Kimi K2.5?Try Kimi K2.5.

Kimi K2.5 API, geliştiricilere Moonshot AI'nin amiral gemisi modeline programatik erişim sağlar. Bu kapsamlı rehber, kimlik doğrulamadan ileri düzey entegrasyon kalıplarına kadar her şeyi ele alarak Kimi K2.5 ile güçlü yapay zeka uygulamaları geliştirmenize yardımcı olur.

Kimi K2.5 API nedir?

Kimi K2.5 API, geliştiricilerin Kimi K2.5'in yeteneklerini uygulamalarına entegre etmesine olanak tanıyan RESTful bir arayüzdür. OpenAI uyumlu API formatı üzerine inşa edilmiştir; mevcut araç ve framework'lerle sorunsuz entegrasyon sunarken Kimi K2.5'in 256K context window ve multimodal girdiler gibi kendine özgü özelliklerini de destekler.

Temel Özellikler

ÖzellikAçıklama
256K Context Window~200 sayfaya kadar belge işleme
Multimodal DestekMetin, görsel ve belge girdileri
Streaming YanıtlarGerçek zamanlı token üretimi
Function CallingAraç kullanımı ve agentic iş akışları
OpenAI UyumluOpenAI SDK için doğrudan yedek
Context CachingTekrarlanan bağlam için düşük maliyet

Kimi K2.5 API ile Başlangıç

1. API Kimlik Bilgilerini Edinin

Moonshot AI Platform üzerinden bir API anahtarı için kaydolun:

  1. Moonshot AI geliştirici portalında bir hesap oluşturun
  2. API Keys bölümüne gidin
  3. Yeni bir API anahtarı oluşturun
  4. Güvenle saklayın (environment variable önerilir)

2. API Base URL

https://api.moonshot.cn/v1

3. Kimlik Doğrulama

Tüm API istekleri Bearer token ile kimlik doğrulaması gerektirir:

Authorization: Bearer YOUR_API_KEY

Kimi K2.5 API Kod Örnekleri

Python Entegrasyonu

Temel Chat Completion

import openai

# Client'ı yapılandır
client = openai.OpenAI(
    api_key="your-kimi-api-key",
    base_url="https://api.moonshot.cn/v1"
)

# Basit completion
response = client.chat.completions.create(
    model="kimi-k2.5",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Makine öğrenimini basit terimlerle açıkla."}
    ],
    temperature=0.7,
    max_tokens=1000
)

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

Streaming Yanıtlar

import openai

client = openai.OpenAI(
    api_key="your-kimi-api-key",
    base_url="https://api.moonshot.cn/v1"
)

stream = client.chat.completions.create(
    model="kimi-k2.5",
    messages=[
        {"role": "user", "content": "Fibonacci sayılarını hesaplayan bir Python fonksiyonu yaz."}
    ],
    stream=True
)

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

Görsel İçeren Multimodal İstek

import openai
import base64

client = openai.OpenAI(
    api_key="your-kimi-api-key",
    base_url="https://api.moonshot.cn/v1"
)

# Görseli oku ve encode et
with open("chart.png", "rb") as f:
    image_data = base64.b64encode(f.read()).decode()

response = client.chat.completions.create(
    model="kimi-k2.5",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "Bu grafiği analiz et ve temel eğilimleri özetle."},
                {
                    "type": "image_url",
                    "image_url": {
                        "url": f"data:image/png;base64,{image_data}"
                    }
                }
            ]
        }
    ]
)

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

JavaScript/Node.js Entegrasyonu

Fetch ile Temel İstek

const response = await fetch('https://api.moonshot.cn/v1/chat/completions', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  body: JSON.stringify({
    model: 'kimi-k2.5',
    messages: [
      { role: 'system', content: 'You are a coding assistant.' },
      { role: 'user', content: 'Bir todo listesi için React bileşeni oluştur.' }
    ],
    temperature: 0.7,
    max_tokens: 2000
  })
});

const data = await response.json();
console.log(data.choices[0].message.content);

OpenAI SDK Kullanımı

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'your-kimi-api-key',
  baseURL: 'https://api.moonshot.cn/v1'
});

async function generateCode() {
  const stream = await client.chat.completions.create({
    model: 'kimi-k2.5',
    messages: [
      { role: 'user', content: 'FastAPI ile bir Python API oluştur' }
    ],
    stream: true
  });

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

generateCode();

cURL Örnekleri

# Temel chat completion
curl https://api.moonshot.cn/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "kimi-k2.5",
    "messages": [
      {"role": "user", "content": "Merhaba, Kimi!"}
    ]
  }'

# System prompt ve parametrelerle
curl https://api.moonshot.cn/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "kimi-k2.5",
    "messages": [
      {"role": "system", "content": "You are a Python expert."},
      {"role": "user", "content": "Decorator'\''ları açıkla."}
    ],
    "temperature": 0.3,
    "max_tokens": 1500
  }'

Kimi K2.5 API Gelişmiş Özellikleri

Function Calling / Araç Kullanımı

import openai

client = openai.OpenAI(
    api_key="your-kimi-api-key",
    base_url="https://api.moonshot.cn/v1"
)

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get weather for a location",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "City name"
                    }
                },
                "required": ["location"]
            }
        }
    }
]

response = client.chat.completions.create(
    model="kimi-k2.5",
    messages=[
        {"role": "user", "content": "What's the weather in Beijing?"}
    ],
    tools=tools
)

# Modelin bir fonksiyon çağırmak isteyip istemediğini kontrol et
if response.choices[0].message.tool_calls:
    tool_call = response.choices[0].message.tool_calls[0]
    print(f"Function to call: {tool_call.function.name}")
    print(f"Arguments: {tool_call.function.arguments}")

Uzun Bağlamlı Belge İşleme

import openai

client = openai.OpenAI(
    api_key="your-kimi-api-key",
    base_url="https://api.moonshot.cn/v1"
)

# Uzun bir belge oku
document = open("annual_report.txt", "r", encoding="utf-8").read()

response = client.chat.completions.create(
    model="kimi-k2.5",
    messages=[
        {
            "role": "user",
            "content": f"Summarize the key financial metrics from this report:\n\n{document}"
        }
    ],
    max_tokens=2000
)

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

Kimi K2.5 API Fiyatlandırması

TürFiyatBirim
Context Cache Hit$0.10/ 1M token
Context Cache Miss$0.60/ 1M token
Output Token$3.00/ 1M token

Maliyet Optimizasyonu İpuçları

  1. Context Caching Kullanın: Tekrarlanan bağlamlarda caching maliyetleri önemli ölçüde düşürür
  2. Yanıtları Streaming Yapın: Gerçek zamanlı uygulamalarda streaming kullanıcı deneyimini iyileştirir
  3. Prompt'ları Optimize Edin: Açık ve öz prompt'lar token kullanımını azaltır
  4. İstekleri Batch'leyin: Mümkün olduğunda birden fazla öğeyi tek bir istekte işleyin

Hata Yönetimi

Yaygın HTTP Durum Kodları

KodAnlamıÇözüm
200Başarılıİstek başarıyla tamamlandı
400Bad Requestİstek formatını ve parametreleri kontrol edin
401UnauthorizedAPI anahtarını doğrulayın
429Rate Limitedİstek sıklığını azaltın
500Server ErrorExponential backoff ile yeniden deneyin

Python Hata Yönetimi Örneği

import openai
from openai import RateLimitError, APIError

client = openai.OpenAI(
    api_key="your-kimi-api-key",
    base_url="https://api.moonshot.cn/v1"
)

try:
    response = client.chat.completions.create(
        model="kimi-k2.5",
        messages=[{"role": "user", "content": "Hello"}]
    )
except RateLimitError:
    print("Rate limit exceeded. Please wait before retrying.")
except APIError as e:
    print(f"API error: {e}")
except Exception as e:
    print(f"Unexpected error: {e}")

Kimi K2.5 API için En İyi Uygulamalar

1. Güvenli API Anahtarı Yönetimi

import os
from dotenv import load_dotenv

load_dotenv()

api_key = os.getenv("KIMI_API_KEY")
client = openai.OpenAI(
    api_key=api_key,
    base_url="https://api.moonshot.cn/v1"
)

2. Retry Mantığı Uygulayın

import time
from functools import wraps

def retry_with_backoff(max_retries=3):
    def decorator(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            for i in range(max_retries):
                try:
                    return func(*args, **kwargs)
                except Exception as e:
                    if i == max_retries - 1:
                        raise
                    time.sleep(2 ** i)  # Exponential backoff
            return None
        return wrapper
    return decorator

@retry_with_backoff(max_retries=3)
def call_kimi_api(messages):
    return client.chat.completions.create(
        model="kimi-k2.5",
        messages=messages
    )

3. İstek Batch'leme

# Birden fazla ayrı istek yerine
requests = [
    "Summarize paragraph 1",
    "Summarize paragraph 2",
    "Summarize paragraph 3"
]

# Tek bir istekte birleştir
batch_prompt = "Summarize each of these paragraphs:\n\n" + "\n\n".join(
    f"{i+1}. {req}" for i, req in enumerate(requests)
)

response = client.chat.completions.create(
    model="kimi-k2.5",
    messages=[{"role": "user", "content": batch_prompt}]
)

Entegrasyon Örnekleri

FastAPI Backend

from fastapi import FastAPI
from pydantic import BaseModel
import openai

app = FastAPI()
client = openai.OpenAI(
    api_key="your-kimi-api-key",
    base_url="https://api.moonshot.cn/v1"
)

class ChatRequest(BaseModel):
    message: str
    temperature: float = 0.7

@app.post("/chat")
async def chat(request: ChatRequest):
    response = client.chat.completions.create(
        model="kimi-k2.5",
        messages=[{"role": "user", "content": request.message}],
        temperature=request.temperature
    )
    return {"response": response.choices[0].message.content}

SSS

Kimi K2.5 API anahtarını nasıl alırım?

Moonshot AI Platform adresini ziyaret edin, bir hesap oluşturun ve geliştirici panelinden bir API anahtarı üretin.

Kimi K2.5 API, OpenAI ile uyumlu mu?

Evet, Kimi K2.5 API OpenAI uyumlu formatı kullanır. base_url değerini https://api.moonshot.cn/v1 olarak değiştirerek OpenAI SDK'yı kullanabilirsiniz.

Kimi K2.5 API için rate limit nedir?

Rate limitler, Free/Pro/Enterprise planlarına değil, kümülatif yükleme tutarına (Tier0-Tier5) dayanır. Örneğin Tier0 (¥0 yükleme) 1 eşzamanlı istek, 3 RPM, 500,000 TPM ve 1,500,000 TPD'dir. Güncel değerler için resmi limit sayfasını kontrol edin.

Kimi K2.5 API streaming destekliyor mu?

Evet, isteğinizde stream=True ayarlayarak token'ları üretildikçe alabilir ve gerçek zamanlı yanıtlar elde edebilirsiniz.

Kimi K2.5 API'yi görsel analizi için kullanabilir miyim?

Evet, Kimi K2.5 API görseller dahil multimodal girdileri destekler. Mesajlarınızda base64 ile kodlanmış görseller kullanın.

Kimi K2.5 API'nin maliyeti nedir?

Fiyatlandırma cache hit için $0.10/1M token, cache miss için $0.60/1M ve output token için $3.00/1M olarak başlar.

Kaynaklar

Kimi K2.5 API: Kod Örnekleriyle Eksiksiz Geliştirici Rehberi 2026