Temel kılavuzlar

API biçimleri

Chat Completions, Responses, Messages veya Gemini seçimi

Bir TokenLab anahtarı dört API biçiminde kullanılabilir. Uygulamanızın mevcut biçimini koruyun ve model sayfasındaki veya GET /v1/models/{model} yanıtındaki tokenlab.accepted_request_formats alanını kontrol edin. Her model dört biçimi de desteklemez.

Chat Completions

POST /v1/chat/completions · openai_chat_completions

OpenAI uyumlu sohbet istemcileri, mesaj geçmişi, akış ve modelin desteklediği işlev çağrıları için uygundur. Diğer biçimlere özgü alanların desteği garanti edilmez.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["TOKENLAB_API_KEY"],
    base_url="https://api.tokenlab.sh/v1",
)

response = client.chat.completions.create(
    model="gpt-5.6-luna",
    messages=[{"role": "user", "content": "Hello!"}],
)

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

Responses

POST /v1/responses · openai_responses

accepted_request_formats içinde openai_responses varsa kullanın. Oluşturma, alma, sıkıştırma, silme, akış, WebSocket üzerinden oluşturma ve devam ettirme ile desteklenen modellerde arka plan yanıtları sunar. Kaydedilmiş yanıtı silmek etkin yanıtı iptal etmez.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["TOKENLAB_API_KEY"],
    base_url="https://api.tokenlab.sh/v1",
)

response = client.responses.create(
    model="gpt-5.6-terra",
    input="Explain why the sky is blue in two sentences.",
)

print(response.output_text)

Anthropic Messages

POST /v1/messages · anthropic_messages

Anthropic SDK base URL ayarında TokenLab sunucusunu /v1 eklemeden kullanın. Claude araç çağrılarını, thinking bloklarını ve istem önbelleği alanlarını Messages biçiminde tutun.

import os
from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ["TOKENLAB_API_KEY"],
    base_url="https://api.tokenlab.sh",
)

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=512,
    messages=[{"role": "user", "content": "Hello!"}],
)

print(message.content[0].text)

Gemini

POST /v1beta/models/:model:generateContent · gemini_generate_content

Gemini contents, parts, dosyalar, önbellek veya araçları kullanan uygulamalar için uygundur. ProtoJSON lowerCamelCase ve özgün snake_case adları kabul edilir; aynı alanın iki yazımını tek istekte göndermeyin.

curl "https://api.tokenlab.sh/v1beta/models/gemini-3.5-flash:generateContent" \
  -H "Authorization: Bearer $TOKENLAB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{"parts": [{"text": "Hello!"}]}]
  }'

Konuşma biçimini koruyun

Biçimler konuşma durumunu ve araç sonuçlarını farklı temsil eder. Bir konuşmada tek biçim kullanın; geçmişi taşımadan önce uygulamanızda dönüştürüp doğrulayın.

Bilinmeyen alanlar

Bir alanın iletilmesi model desteğini garanti etmez. Seçili modelin belgelenen özelliklerini kullanın ve desteklenmeyen alan hatalarını işleyin.

Başvurular

Bu sayfada