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.