Metin

Sohbet Tamamlama Oluştur

Sohbet mesajı için bir tamamlama oluşturur

POST
/v1/chat/completions

İstek Gövdesi (Request Body)

Desteklenen isteğe bağlı parametreler, kabul edilen değerler ve varsayılanlar seçilen modele bağlıdır. Örnekleme (sampling), akıl yürütme (reasoning) veya araç seçeneklerini ayarlamadan önce model detaylarını kontrol edin.

modelstringzorunlu

Kullanılacak modelin ID'si. Mevcut seçenekler için Modeller sayfasına bakın.

messagesarrayzorunlu

Konuşmayı oluşturan mesajların listesi.

Her mesaj nesnesi şunları içerir:

  • role (string): system, developer, user, assistant, tool, function
  • content (string | array | null): Mesaj içeriği

tool_calls içeren bir assistant mesajı için content atlanabilir veya null olarak ayarlanabilir.

content bir dizi olduğunda, TokenLab uyumlu modeller için yapılandırılmış çok modlu (multimodal) blokları destekler:

  • metin: { "type": "text", "text": "..." }
  • görsel: { "type": "image_url", "image_url": { "url": "https://..." } }
  • video: { "type": "video_url", "video_url": { "url": "https://..." } }
  • ses: { "type": "audio_url", "audio_url": { "url": "https://..." } }

Çok modlu giriş için herkese açık erişilebilir https URL'lerini kullanın. Desteklenen medya türleri seçilen modele bağlıdır.

temperaturenumber

Örnekleme sıcaklığı. Destek, izin verilen değerler ve varsayılan değer seçilen modele bağlıdır; varsayılanı kullanmak için bu alanı atlayın.

max_tokensinteger

Oluşturulacak maksimum token sayısı.

deepseek-v4.1-flash (ve deepseek-flash takma adı) için model varsayılan olarak önce düşünür (thinking). Düşünme token'ları max_tokens sınırına dahildir. max_tokens çok küçükse bütçenin tamamı düşünmeye gidebilir ve mesaj gövdesi boş kalırken istek yine de ücretlendirilir. Uzun yanıtlar için max_tokens değerini 32000 civarında tutun veya düşünmeyi kapatın. Düşünmeyi kapatmak için istek gövdesine "thinking": {"type": "disabled"} (veya "reasoning_effort": "none") ekleyin; bu, akışlı ve akışsız isteklerin ikisinde de çalışır. "enable_thinking": false ve "reasoning": {"enabled": false} düşünmeyi kapatmaz.

streambooleanvarsayılan: false

True ise, kısmi mesaj deltaları SSE etkinlikleri olarak gönderilir.

Uzun çıktılar için (binlerce token veya daha fazla), akışsız istemcilerin tam yanıtı beklerken zaman aşımına uğramaması için stream=true ayarlayın. Ekip ölçümü: GPT-6.1 Sol, yaklaşık 12 bin karakteri akış olmadan yaklaşık 147 saniyede üretti.

stream_optionsobject

Akış (streaming) seçenekleri. Akış parçalarında token kullanımını almak için include_usage: true olarak ayarlayın.

top_pnumber

Nucleus örnekleme parametresi. Bunu veya temperature değerini değiştirmenizi öneririz, ikisini birden değil.

frequency_penaltynumber

-2.0 ile 2.0 arasında bir sayı. Pozitif değerler, tekrarlanan token'ları cezalandırır.

presence_penaltynumber

-2.0 ile 2.0 arasında bir sayı. Pozitif değerler, metinde zaten bulunan token'ları cezalandırır.

stopstring | array

Durdurma dizisi veya dizileri. Destek ve dizi sınırları seçilen modele bağlıdır.

toolsarray

Modelin çağırabileceği araçların listesi (fonksiyon çağırma).

tool_choicestring | object

Modelin araçları nasıl kullanacağını kontrol eder. Seçenekler: auto, none, required veya belirli bir araç nesnesi.

parallel_tool_callsboolean

Seçilen model tarafından desteklendiğinde, bir asistan turunda birden fazla araç çağrısına izin verir.

max_completion_tokensinteger

Tamamlama için maksimum token sayısı. max_tokens için bir alternatiftir, özellikle yeni akıl yürütme (reasoning) özellikli model aileleri için kullanışlıdır.

reasoning_effortstring

Bunu destekleyen modeller için akıl yürütme çabası. Kabul edilen değerler seçilen modele bağlıdır.

Claude modelleri için bu değer modelin düşünme sürecini ayarlar: uyarlanabilir düşünme özelliğine sahip modellerde bir çaba düzeyi veya bunu kullanan modellerde bir düşünme bütçesi. none, buna izin veren modellerde düşünmeyi kapatır. Düşünme açıkken, Claude 1'den farklı bir temperature, top_k, 0.95–1 aralığı dışında bir top_p ve önceden doldurulmuş bir asistan mesajını reddeder. Zorunlu bir tool_choice, uyarlanabilir düşünme ile çalışır ancak düşünme bütçesi ile çalışmaz.

anthropic_optionsobject

Claude modelleri için seçenekler.

  • prompt_caching (boolean): İstemin başlangıcını önbelleğe almak için true olarak ayarlayın. TokenLab, sistem isteminin sonunu ve en son kullanıcı mesajını önbellek noktaları olarak işaretler. Aynı içerikle başlayan daha sonraki bir istek, bunu önbellekten okur. Herhangi bir mesaj zaten cache_control içeriyorsa, TokenLab önbellek noktası eklemez.
  • prompt_caching_ttl (string): 5m (varsayılan) veya 1h. Sunum rotası bir saati desteklemiyorsa, TokenLab beş dakika kullanır ve isteği reddetmez.

extra.prompt_caching ve extra.prompt_caching_ttl aynı seçenekler olarak kabul edilir. Fiyatlar ve önbelleğe alınmış token'ların nasıl kontrol edileceği için İstem önbelleğe alma (Prompt caching) bölümüne bakın.

seedinteger

Bunu destekleyen modeller için örnekleme tohumu (seed). Aynı çıktı garanti edilmez.

ninteger

Oluşturulacak tamamlama sayısı (1-128).

logprobsboolean

Log olasılıklarının döndürülüp döndürülmeyeceği.

top_logprobsinteger

Döndürülecek en yüksek log olasılığı sayısı (0-20). logprobs: true gerektirir.

top_kinteger

Bunu destekleyen modeller için Top-K örnekleme.

response_formatobject

Yanıt formatı. JSON modu için {"type": "json_object"} veya bir JSON şeması için {"type": "json_schema", "json_schema": {...}} kullanın. Destek seçilen modele bağlıdır.

logit_biasobject

Belirtilen token'ların görünme olasılığını değiştirin. Token ID'lerini (string olarak) -100 ile 100 arasındaki bias değerleriyle eşleyin.

userstring

Kötüye kullanım izleme için son kullanıcınızı temsil eden benzersiz bir tanımlayıcı.

Yanıt (Response)

idstring

Tamamlama için benzersiz tanımlayıcı.

objectstring

Her zaman chat.completion.

createdinteger

Tamamlamanın oluşturulduğu Unix zaman damgası.

modelstring

Tamamlama için kullanılan model.

choicesarray

Tamamlama seçenekleri listesi.

Her seçenek şunları içerir:

  • index (integer): Seçeneğin indeksi
  • message (object): Oluşturulan mesaj
  • finish_reason (string): Modelin neden durduğu; örneğin stop, length veya tool_calls

Model düşündüğünde, message şunları da içerebilir:

  • reasoning_content (string): Düşünme metni. Bazı modeller sadece bir özet döndürür veya hiç metin döndürmez.
  • reasoning_details (array): İmzalarıyla birlikte düşünme blokları. Düşünme ile bir konuşmaya devam etmek için, örneğin bir araç çağrısından sonra, bunları asistan mesajında değiştirmeden geri gönderin.

Bir akışta, aynı alanlar delta.reasoning_content ve delta.reasoning_details olarak gelir.

usageobject

Token kullanım istatistikleri.

  • prompt_tokens (integer): İstemdeki token'lar
  • completion_tokens (integer): Düşünme token'ları dahil olmak üzere tamamlamadaki token'lar
  • total_tokens (integer): Kullanılan toplam token
  • completion_tokens_details.reasoning_tokens (integer): Model raporladığında düşünme token'ları

İstek

curl -X POST "https://api.tokenlab.sh/v1/chat/completions" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-terra",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ],
    "max_tokens": 1000
  }'

Çok Modlu (Multimodal) Örnek

{
  "model": "gemini-2.5-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "Describe this video briefly." },
        { "type": "video_url", "video_url": { "url": "https://example.com/demo.mp4" } }
      ]
    }
  ],
  "max_tokens": 64
}

Yanıt

Response
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1706000000,
  "model": "gpt-5.6-terra",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 20,
    "completion_tokens": 9,
    "total_tokens": 29
  }
}

Yetkilendirme

BearerAuth
AuthorizationBearer <token>

API Anahtarı kimlik doğrulaması. API anahtarlarını Dashboard > API > API Keys bölümünden oluşturun veya yönetin.

Konum: header

Başlıklar

X-TokenLab-Delivery-Policy?string

İstek bazlı Teslimat politikası. API anahtarı ve Çalışma Alanı varsayılanlarını geçersiz kılar. Otomatik olarak önce TokenLab Verified dener ve çıktı, istek kabulü veya kalıcı kaynak oluşturma öncesinde bir kez Official seçeneğine geçiş yapabilir.

Geçerli değerler

  • "auto"
  • "verified"
  • "official"

İstek gövdesi

application/json

Yanıt

application/json

application/json

application/json

application/json

application/json

application/json

application/json