Kısa yanıt
LLMwithCrypto chat completions endpoint'i hangi alanları kabul eder?
OpenAI chat completions body'sini kabul eder: model ve messages zorunludur; max_tokens, temperature, top_p, stop, stream, stream_options, tools, tool_choice ve response_format isteğe bağlıdır. LLMwithCrypto, 23 Ekim 2026 tarihinde belgelendiği üzere, bakiyenizden token başına faturalandırılan bir usage sayısıyla birlikte bir chat.completion nesnesi döndürür. Tool calling ve JSON çıktısı modele bağlıdır.
Endpoint'e genel bakış
| Method ve URL | POST https://llmwithcrypto.com/api/v1/chat/completions |
|---|---|
| Kimlik doğrulama | API anahtarınızı, OpenAI SDK'sının yaptığı gibi, Authorization header'ında Bearer token olarak geçirin |
| Body | JSON, Content-Type: application/json |
| Yanıt | chat.completion nesnesi veya stream: true ile server-sent events |
| Faturalama | Token başına bakiyenizden ödersiniz: girdi ve çıktı token'ları modelin kendi tokenizer'ı ile sayılır ve o modelin 1M token başına fiyatından ücretlendirilir. Hata ile sonuçlanan bir çağrı ücretsizdir |
| Özellikler | Streaming her modelde çalışır; tool calling ve JSON çıktısı, her modelin kendi desteklediğiyle sınırlıdır |
Chat completion oluşturma
POST/api/v1/chat/completions
Bir konuşmayı tek bir modele gönderir ve yanıtını token sayılarıyla birlikte döndürür. Örnek, DeepSeek V4 Pro'ya 200 token sınırıyla kısa bir soru sorar; yanıttaki kimlikler, zamanlar ve sayılar örnektir.
Kimlik doğrulama: Authorization: Bearer API_KEY header'ında API anahtarı.
İstek gövdesi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
model | string | Evet | Model kimliği, örneğin deepseek-v4-pro veya gpt-oss-120b. GET /api/v1/models, API anahtarınızın çağırabildiği her kimliği döndürür. |
messages | object[] | Evet | Konuşma, en eskisi önce. Her öğe bir role (system, user, assistant veya tool) ve bir content dizesi taşır; tool mesajlar ayrıca bir tool_call_id taşır. |
max_tokens | integer | Hayır | Yanıtın kullanabileceği en fazla token. Bu olmadan model, bağlam penceresi dolana kadar yazabilir ve yazdığı her token için ödeme yaparsınız. |
temperature | number | Hayır | 0 ile 2 arası. Düşük değer daha öngörülebilir, yüksek değer daha çeşitli. Varsayılan modele bağlıdır. |
top_p | number | Hayır | 0 ile 1 arası, nucleus sampling. temperature veya top_p değerini değiştirin, ikisini birden değil. |
stop | string or string[] | Hayır | Model bunları yazdığında yanıtı bitiren en fazla 4 dizi. Bunlar yanıta dahil edilmez. |
stream | boolean | Hayır | true, yanıtı server-sent events olarak parça parça gönderir. Bkz. streaming. |
stream_options | object | Hayır | {"include_usage": true}, stream'lenen çağrının usage bilgisini içeren son bir event ekler. |
tools | object[] | Hayır | Modelin sizden çağırmanızı isteyebileceği fonksiyonlar, OpenAI formatında. Tool calling destekleyen modellerde çalışır. Bkz. tool calling. |
tool_choice | string or object | Hayır | auto (tools ayarlandığında varsayılan), none, required veya {"type": "function", "function": {"name": "…"}}. |
response_format | object | Hayır | {"type": "json_object"}, destekleyen modellerde geçerli bir JSON nesnesi ister. JSON'ın ne içermesi gerektiğini prompt'unuzda belirtin. |
{
"model": "deepseek-v4-pro",
"messages": [
{
"role": "system",
"content": "Answer in two sentences."
},
{
"role": "user",
"content": "What is a context window?"
}
],
"max_tokens": 200
}{
"model": "gpt-oss-120b",
"messages": [
{
"role": "user",
"content": "Return {\"city\": string, \"country\": string} for the Eiffel Tower."
}
],
"response_format": {
"type": "json_object"
},
"temperature": 0.2,
"max_tokens": 100
}Yanıt 200
{
"id": "chatcmpl-8f2c41d0a7b94e1c",
"object": "chat.completion",
"created": 1792742400,
"model": "deepseek-v4-pro",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "A context window is the maximum number of tokens a model can read and write in one request. Anything beyond it must be cut or summarized before the call."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 27,
"completion_tokens": 34,
"total_tokens": 61
}
}Kod örnekleri
curl -s "https://llmwithcrypto.com/api/v1/chat/completions" \
-H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-pro",
"messages": [
{"role": "system", "content": "Answer in two sentences."},
{"role": "user", "content": "What is a context window?"}
],
"max_tokens": 200
}'import os
from openai import OpenAI
client = OpenAI(
base_url="https://llmwithcrypto.com/api/v1",
api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
)
resp = client.chat.completions.create(
model="deepseek-v4-pro",
messages=[
{"role": "system", "content": "Answer in two sentences."},
{"role": "user", "content": "What is a context window?"},
],
max_tokens=200,
)
print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, "in,", resp.usage.completion_tokens, "out")import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://llmwithcrypto.com/api/v1',
apiKey: process.env.LLMWITHCRYPTO_API_KEY,
});
const resp = await client.chat.completions.create({
model: 'deepseek-v4-pro',
messages: [
{ role: 'system', content: 'Answer in two sentences.' },
{ role: 'user', content: 'What is a context window?' },
],
max_tokens: 200,
});
console.log(resp.choices[0].message.content);
console.log(resp.usage.prompt_tokens, 'in,', resp.usage.completion_tokens, 'out');Mesajları nasıl yazarım?
Her seferinde konuşmanın tamamını, en eski mesajdan başlayarak gönderin: API çağrılar arasında hiçbir şey hatırlamaz ve istemlerinizden hiçbiri saklanmaz. Prompt'larınızı veya modelin yanıtlarını saklamayız: bir yanıt gönderildiğinde metni kaybolur. Her çağrı, zaman, hesap, model ve token sayılarını içeren tek bir log satırı bırakır; bu satırlar 30 gün sonra silinir.
system: ton, dil veya çıktı biçimi gibi her yanıtı çerçeveleyen talimatlar. Birini en üste koyun.user: kişinin veya programınızın sorduğu şey.assistant: modelin önceki yanıtları, böylece konuşmaya devam edebilir.tool: modelin çalıştırmanızı istediği bir fonksiyonun sonucu, verdiğitool_call_idile birlikte.
Her mesaj girdi token'ı olarak sayılır, bu yüzden uzun geçmişler her turda daha pahalıya gelir. Bir konuşma uzadığında eski turları kısaltın veya özetleyin.
Bir istek ne kadar uzun olabilir?
Girdi ve çıktı birlikte modelin context window'una sığmalıdır. 23 Ekim 2026 itibarıyla DeepSeek V4 Pro 1M token'a kadar, gpt-oss-120b 128K ve Qwen3 235B 256K token'a kadar okur; modeller sayfası hepsini listeler.
Sığmayan bir istek context_length_exceeded kodlu 400 olarak döner ve hiçbir ücrete tabi değildir. İstem ile kabul ettiğiniz en uzun yanıtın pencere içinde kalması için max_tokens ayarlayın.
finish_reason bana ne söyler?
finish_reason | Anlamı | Ne yapmalı |
|---|---|---|
stop | Model yanıtını bitirdi ya da sizin stop dizilerinizden birini yazdı | Hiçbir şey: yanıt tamamlandı |
length | Yanıt max_tokens veya context window'a ulaştı | max_tokens değerini artırın ya da daha kısa bir yanıt isteyin |
tool_calls | Model bir veya daha fazla fonksiyon çalıştırmanızı istiyor | Çalıştırın ve sonuçları geri gönderin, bkz. tool calling |
Hangi OpenAI parametreleri desteklenmiyor?
Yukarıdaki tablodaki alanlar sözleşmenin tamamıdır. OpenAI API'sindeki diğerleri, örneğin n (çağrı başına birkaç yanıt), logprobs, audio veya görsel girdileri desteklenmez: yalnızca burada listelenen alanları gönderin. Modeller metin modelleridir; hiçbiri bu endpoint üzerinden görsel kabul etmez.
model alanı yalnızca listemizdeki id'leri kabul eder. GPT, Claude, Gemini veya Grok'a erişim satmıyoruz: üreticileri, onayları olmadan API erişiminin yeniden satılmasını yasaklıyor ve bizde bu onay yok.
Chat completions: sık sorulan sorular
Eski completions endpoint'i var mı?
Hayır. Yalnızca chat biçimi vardır; tek bir istem, tek bir user mesajı içeren bir messages dizisidir.
Bir çağrı ne kadar tutar?
Token başına bakiyenizden ödersiniz: girdi ve çıktı token'ları modelin kendi tokenizer'ı ile sayılır ve o modelin 1M token başına fiyatından ücretlendirilir. Hata ile sonuçlanan bir çağrı ücretsizdir. Model başına fiyatlar fiyatlandırma sayfasında.
Geçmiş isteklerimi görebilir miyim?
Hayır, tasarım gereği. Prompt'larınızı veya modelin yanıtlarını saklamayız: bir yanıt gönderildiğinde metni kaybolur. Her çağrı, zaman, hesap, model ve token sayılarını içeren tek bir log satırı bırakır; bu satırlar 30 gün sonra silinir.
Yanıtım neden ortada kesildi?
finish_reason o zaman length olur: yanıt max_tokens değerine ulaştı. Modelin context window'u içinde kalacak şekilde artırın.