VANGU / GELİŞTİRİCİ

Uç Noktalar ve Parametre Referansı

REST mimarisi üzerine kurulu OpenAI, Anthropic, Codex ve Resim üretim uç noktalarının girdi, çıktı, SSE streaming ve durum kodları belgeleri.

POST /v1/chat/completions POST /anthropic/v1/messages POST /v1/responses POST /codex/v1/completions POST /v1/images/generations GET /v1/models HTTP Hata & Telemetri
POST https://api.vangu.dev/v1/chat/completions

1. OpenAI Tipi Chat Completions

OpenAI Chat Completions şemasıyla metin, JSON ve streaming yanıtları sunar. Desteklenen alanlar için OpenAI Python/Node SDK kullanılabilir; bütün OpenAI sunucu araçları ve durum saklama özellikleri bu hizmette sunulmaz.

İstek Başlıkları (Headers)

BaşlıkDeğerZorunluAçıklama
AuthorizationBearer <API_KEY>EvetVangu geliştirici anahtarınız (`vgu_live_...`)
Content-Typeapplication/jsonEvetJSON veri gövdesi

Gövde Parametreleri (Body Parameters)

ParametreTipZorunluAçıklama
modelstringEvetAnahtarınızın GET /v1/models yanıtındaki kimliklerden biri; örneğin `gpt-6.1-sol`, `gpt-6-sol`, `gpt-6-luna`, `gpt-5.6-terra`. Astra erişimi pakete bağlıdır.
messagesarrayEvetRol (`system`, `user`, `assistant`) ve içerik (`content`) nesneleri dizisi
temperaturenumberHayır (0.7)Örnekleme rastlantısallığı (0.0 kesin - 2.0 yaratıcı arası)
max_tokensintegerHayırÜretilecek maksimum token üst tavanı
streambooleanHayır (false)Server-Sent Events (SSE) ile anlık token akışı
response_formatobjectHayır`{"type": "json_object"}` ile yapılandırılmış JSON çıktısı zorunluluğu
toolsarrayHayırModelin çağırabileceği fonksiyon şemaları (Function calling)

Örnek İstek ve Yanıt

BASH / cURL
curl https://api.vangu.dev/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer vgu_live_sample_token_67b8a901" \
  -d '{
    "model": "gpt-5.6-terra",
    "messages": [
      {"role": "system", "content": "Sen Vangu altyapı asistanısın."},
      {"role": "user", "content": "Paket kotam ne zaman yenilenir?"}
    ],
    "temperature": 0.5
  }'

JSON Response
{
  "id": "chatcmpl_98a76f21bc",
  "object": "chat.completion",
  "created": 1788796800,
  "model": "gpt-5.6-terra",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Günlük paketinizin istek kotası her gece saat tam 00.00'da sıfırlanarak yenilenir."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 19,
    "completion_tokens": 22,
    "total_tokens": 41
  }
}

SSE Canlı Akış (Streaming) Formatı

<code>"stream": true</code> parametresi ile istek atıldığında sunucu yanıtı aşağıdaki SSE parçacıkları halinde anlık iletir:

Server-Sent Events (SSE)
data: {"id":"chatcmpl_98a76","choices":[{"delta":{"role":"assistant","content":"Günlük"}}]}
data: {"id":"chatcmpl_98a76","choices":[{"delta":{"content":" paketinizin"}}]}
data: {"id":"chatcmpl_98a76","choices":[{"delta":{"content":" kotası..."}}]}
data: [DONE]

POST https://api.vangu.dev/anthropic/v1/messages

2. Anthropic Tipi Messages API (Claude Code Uyumlu)

Anthropic SDK ve resmi Claude Code CLI aracıyla tam uyumlu Messages formatı. Sistem komutları üst düzey <code>system</code> parametresinde, konuşma geçmişi ise <code>messages</code> dizisinde iletilir.

Bu uç nokta Anthropic protokolünü Vangu’nun GPT modellerine çevirir. Model alanında paketinizdeki Vangu modelini kullanın; Claude model lisansı sağlamaz. Claude Code’un Read, Edit, Write, Bash ve MCP araçları yerel istemcide çalışır; tool_use ve tool_result blokları sonraki turda korunur.

Token sayımı ve araç döngüsü

<code>POST /anthropic/v1/messages/count_tokens</code> ücret kesmeden sağlayıcıya uygun token tahmini verir. Görsel/PDF tahminleri yaklaşık; gerçek kullanım yanıtın usage alanından ücretlendirilir. <code>GET /anthropic/v1/models</code> anahtarınızın erişebildiği modelleri listeler.

Akış message_start, content_block_start/delta/stop, message_delta ve message_stop olaylarını kullanır. tool_choice auto, any, tool ve none desteklenir. Araç sonucu, önceki tool_use bloğunun id değeriyle gönderilir. Paralel araçlar bağımsız kimliklerini korur; her tur normal kota/bakiye kurallarını kullanır.

Görsel ve belge girdileri, JSON şemalı çıktı, max_tokens ve stop_sequences desteklenir. thinking/effort sağlayıcının akıl yürütme ayarına çevrilir; Anthropic’e ait imzalı thinking blokları üretilmez. Anthropic sunucu araçları ve yönetilen cache oluşturma gibi yalnız Anthropic altyapısına ait özellikler bu köprüde sunulmaz; istemci araçlarında input_schema kullanın.

Anthropic İstek Başlıkları (Headers)

BaşlıkDeğerZorunluAçıklama
x-api-key<API_KEY>EvetVangu geliştirici tokeni (`vgu_live_...`)
anthropic-version2023-06-01EvetAnthropic protokol sürümü
Content-Typeapplication/jsonEvetJSON veri gövdesi

Gövde Parametreleri

ParametreTipZorunluAçıklama
modelstringEvetModel kimliği: `gpt-5.6-sol` (gelişmiş kodlama) veya `gpt-6-astra` (amiral gemisi)
messagesarrayEvetKullanıcı ve asistan mesaj geçmişi dizisi
max_tokensintegerEvetÜretilecek maksimum token tavanı (Anthropic protokolünde zorunludur)
systemstringHayırSistem davranış talimatı ve rol tanımı
temperaturenumberHayırÖrnekleme çeşitliliği (0.0 - 1.0)
streambooleanHayır (false)Anthropic SSE olay akışı
BASH / cURL
curl https://api.vangu.dev/anthropic/v1/messages \
  -H "Content-Type: application/json" \
  -H "x-api-key: vgu_live_sample_token_67b8a901" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "gpt-5.6-sol",
    "max_tokens": 1024,
    "system": "Sen kıdemli bir TypeScript yazılım mimarısın.",
    "messages": [
      {"role": "user", "content": "Event loop ve Worker thread farkını özetle."}
    ]
  }'

JSON Anthropic Response
{
  "id": "msg_01XyZ987654321",
  "type": "message",
  "role": "assistant",
  "model": "gpt-5.6-sol",
  "content": [
    {
      "type": "text",
      "text": "Event Loop tek iş parçacığı üzerinde I/O operasyonlarını asenkron yönetirken, Worker Thread\'ler CPU yoğun hesaplamaları ayrı işletim sistemi iş parçacıklarına dağıtır."
    }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 28,
    "output_tokens": 36
  }
}

POSThttps://api.vangu.dev/v1/responses

Codex CLI / Responses API

Codex CLI için base_url: https://api.vangu.dev/v1, wire_api: responses. İstek gövdesinde model ve input alanlarını kullanın; API anahtarında OpenAI kapsamını etkinleştirin.

Araç desteği ve sınırlar

Protokol uyumluluğu OpenAI’nin barındırdığı bütün araçların aynı hesap altyapısında mevcut olduğu anlamına gelmez. Aşağıdaki sınırlar Vangu hesap havuzu içindir.

ÖzellikDurumKullanım
function / customİstemci araçları desteklenirModel çağrı üretir; kodu sizin uygulamanız çalıştırır ve sonucu sonraki turda yollar.
web_searchResponses üzerinden desteklenirPaketinizdeki metin modeli ile kullanın; tool_search ayrı bir özelliktir.
tool_search / namespaceResponses üzerinden desteklenirErtelenmiş istemci araçlarını keşfeder; bir komutu sunucuda çalıştırmaz.
code_interpreter / hosted shell / mcp / computerHavuz sağlayıcısında desteklenmiyorPaket veya kota artırmak bu araçları açmaz. Shell, Python veya MCP istemcinizde function/custom araçlarıyla uygulanabilir.
file_search / vector storesYönetilen hizmet sunulmuyorGörsel dosyası yükleme desteği, vector store veya dosya arama desteği değildir.
Responses image_generationGenel metin modellerinde garanti edilmiyorÜretim/düzenleme için /v1/images/generations ve /v1/images/edits kullanın; desteklenmeyen çağrıda model sessizce değiştirilmez.
previous_response_id / store:true / background:trueDesteklenmiyorstore:false kullanın ve her turda tam geçmişi gönderin.

Chat Completions zorunlu function seçimi: tool_choice: {type: function, function: {name: arac_adi}}. Responses seçimi: tool_choice: {type: function, name: arac_adi}. Araç sonucu için önceki response.output öğelerini aynen input geçmişine ekleyin; ardından function_call_output ile aynı call_id değerini gönderin. previous_response_id kullanmayın. Akıl yürütme modellerinde çok küçük max_tokens sınırı cevap metni başlamadan length bitişine neden olabilir.

Python / stateless tool-result history
# Second turn after your application executes the function:
response = client.responses.create(
    model="gpt-5.6-terra",
    store=False,
    input=[
        *first_input,
        *first_response.output,
        {"type": "function_call_output", "call_id": call.call_id,
         "output": '{"accepted": true}'}
    ],
    tools=tools
)

BASH / cURL
curl https://api.vangu.dev/v1/responses \
  -H "Authorization: Bearer YOUR_VANGU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.6-sol","input":"Explain this function.","stream":true}'

POST https://api.vangu.dev/codex/v1/completions

3. Eski Tip Kod Tamamlama API (Legacy)

Bu uç nokta prompt tabanlı eski tamamlama istemcileri içindir. Codex CLI ve Responses istemcilerinde base_url olarak https://api.vangu.dev/v1, istek yolu olarak /v1/responses kullanın. /codex/v1/responses desteklenmez.

ParametreTipZorunluAçıklama
modelstringEvetKod modeli kimliği: `gpt-5.6-sol` veya `gpt-5.6-terra`
promptstringEvetTamamlanacak kod öneki veya başlangıç fonksiyonu
suffixstringHayırFIM tamamlamalarında imleçten sonraki kod parçası
max_tokensintegerHayır (256)Üretilecek maksimum kod token sayısı
stoparrayHayırTamamlamayı durduracak karakter dizileri (örn. \`["\\n}"]\`)
BASH / cURL
curl https://api.vangu.dev/codex/v1/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer vgu_live_sample_token_67b8a901" \
  -d '{
    "model": "gpt-5.6-sol",
    "prompt": "function verifyHmacSignature(secret: string, payload: string, signature: string): boolean {\n",
    "max_tokens": 128,
    "temperature": 0.1,
    "stop": ["\n}"]
  }'

JSON Codex Response
{
  "id": "cmpl_78a1b2c3d4",
  "object": "text_completion",
  "created": 1788796800,
  "model": "gpt-5.6-sol",
  "choices": [
    {
      "text": "  const expected = crypto.createHmac(\'sha256\', secret).update(payload).digest(\'hex\');\n  return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));",
      "index": 0,
      "finish_reason": "stop"
    }
  ]
}

POST /v1/images/generations /v1/images/edits /v1/images/variations

4. Görsel Üretim & Düzenleme API (gpt-image-2 & 2.5)

Görsel üretimi ve düzenleme için OpenAI benzeri Images şeması kullanılır; native OpenAI hizmetinin tüm alanları desteklenmez. Paket çağrıları görsel kotasına, bakiye çağrıları geçerli görsel tarifesine tabidir. Variations, Vangu uyumluluk uzantısıdır.

gpt-image-2.5 Modları (Flare & Sunburst)

Flare hızlı üretimler, Sunburst ayrıntılı üretim ve düzenlemeler içindir. Kimlikleri doğrudan veya gpt-image-2.5 için mode: flare/sunburst ile seçebilirsiniz. Süre; model, kalite, boyut ve sağlayıcı yüküne göre değişir; sabit saniye garantisi yoktur.

ParametreTipZorunluAçıklama
modelstringEvet`gpt-image-2` (hızlı/standart), `gpt-image-2.5` (ultra), `gpt-image-2.5-flare`, `gpt-image-2.5-sunburst`
promptstringEvet*Üretilmek veya düzenlenmek istenen görselin detaylı açıklaması (*variations hariç zorunlu)
imagefile / stringKoşulluKaynak görsel dosyası (`multipart/form-data`) veya Base64 Data URL (`edits` ve `variations` için zorunlu)
maskfile / stringHayırDüzenlenecek saydam bölgeyi tanımlayan inpainting maskesi (`edits` için opsiyonel)
modestringHayır (flare)`gpt-image-2.5` için mod seçimi: `flare` (hızlı) veya `sunburst` (yüksek detay & düzenleme)
nintegerHayır (1)Üretilecek görsel adedi (1 ile 10 arası)
sizestringHayır (auto)`auto` veya `1024x1024`, `1536x1024`, `1024x1536`. Özel boyutlarda kenarlar 16 katı, en fazla 3840; oran 1:3–3:1 ve toplam 655360–8294400 piksel.
qualitystringHayır (auto)Image 2: `auto`, `low`, `medium`, `high`. Image 2.5: bunlara ek `xhigh`, `max`. Vangu uyumluluk adları: `standard` → `medium`, `hd` → `high`.
response_formatstringHayır (b64_json)`url` (geçici güvenli indirme linki) veya `b64_json` (Base64 kodlanmış görsel verisi)
output_formatstringHayır (png)`png`, `jpeg`, `webp`

1. Metinden Görsel Üretimi (cURL & Python)

Kalite sağlayıcı tarafından değiştirilirse warnings içinde image_quality_changed ve istenen/gerçekleşen değerler döner. input_fidelity ve style desteklenmez. Boyut/format gerekirse çıktı dosyasında dönüştürülür; bu daha yüksek native üretim çözünürlüğü garantisi değildir. URL yanıtı için response_format: url değerini açıkça gönderin.

BASH / cURL
curl https://api.vangu.dev/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer vgu_live_sample_token_67b8a901" \
  -d '{
    "model": "gpt-image-2.5",
    "mode": "sunburst",
    "prompt": "Modern bir bulut bilişim veri merkezi, mavi neon aydınlatmalar, minimalist ve sinematik 8k render",
    "size": "1024x1024",
    "quality": "high",
    "response_format": "url",
    "n": 1
  }'

Python (OpenAI SDK)
from openai import OpenAI

client = OpenAI(
    base_url="https://api.vangu.dev/v1",
    api_key="vgu_live_sample_token_67b8a901"
)

# 1. Hızlı Üretim (gpt-image-2 veya 2.5-flare)
response = client.images.generate(
    model="gpt-image-2.5-flare",
    prompt="Cyberpunk sokağında parlayan neon tabelalar ve yağmurlu asfalt yansımaları",
    n=1,
    size="1024x1024",
    response_format="url"
)
print("Üretilen Görsel URL:", response.data[0].url)

2. Görsel Düzenleme & Inpainting (/v1/images/edits)

Mevcut bir görseli yükleyip metin istemiyle düzenleyin (multipart/form-data veya Base64 formatında):

cURL (Multipart / Form-Data)
curl https://api.vangu.dev/v1/images/edits \
  -H "Authorization: Bearer vgu_live_sample_token_67b8a901" \
  -F image="@giris_resmi.png" \
  -F prompt="Arka plana gün batımı ve sıcak altın tonlarında ışıklandırma ekle" \
  -F model="gpt-image-2.5-sunburst" \
  -F response_format="url" \
  -F n="1"

Python (OpenAI SDK - Edits)
from openai import OpenAI

client = OpenAI(
    base_url="https://api.vangu.dev/v1",
    api_key="vgu_live_sample_token_67b8a901"
)

# Görsel Düzenleme / Inpainting (Sunburst hassasiyet modu)
edited = client.images.edit(
    image=open("giris_resmi.png", "rb"),
    prompt="Karakterin ceketine reflektörlü neon desenler ekle",
    model="gpt-image-2.5-sunburst",
    n=1,
    size="1024x1024",
    response_format="url"
)
print("Düzenlenen Görsel:", edited.data[0].url)

Örnek OpenAI Uyumlu JSON Yanıtı

JSON Response
{
  "created": 1788796800,
  "data": [
    {
      "url": "https://assets.vangu.dev/generated/img_89a7f3e1b2c4.png",
      "revised_prompt": "Minimalist cloud data center, cinematic blue lighting, hyperrealistic architectural photography"
    }
  ]
}

GET https://api.vangu.dev/v1/models

5. Model Kataloğu ve Erişim

GET /v1/models yalnız API anahtarınızın paket/bakiye ve model izinlerine göre erişebildiği kimlikleri döndürür. Genel sitede modelin bulunması her pakette dahil olduğu anlamına gelmez. gpt-6-astra ile gpt-6.1-sol ayrı modellerdir; biri diğerinin yerine listelenmez. Anahtar izinleri veya paket model kapsamı Astra içermiyorsa listede görünmez.

Model kimliğiKullanım
gpt-6.1-terraGörsel akıl yürütme ve doğal metin üretimi
gpt-6.1-solKodlama, akıl yürütme ve genel işler
gpt-6-solKodlama ve genel işler
gpt-6-lunaHız odaklı işler
gpt-6-astraKarmaşık analiz; paket erişimi gerekir
gpt-5.6-sol / gpt-5.6-terra / gpt-5.6-lunaÖnceki model ailesi
gpt-image-2 / gpt-image-2.5 / gpt-image-2.5-flare / gpt-image-2.5-sunburstImages uç noktaları; görsel erişimi ve kotası gerekir

Geçerli fiyat, kota ve çarpanlar tanımlı paket veya bakiye tarifesinden gelir; sabit çarpan ve gecikme değerleri bu tablodan çıkarılamaz. gpt-5-search-api gibi listede olmayan kimlikler kullanılamaz; web araması için izinli metin modeliyle Responses web_search kullanın.

BASH / cURL
curl https://api.vangu.dev/v1/models \
  -H "Authorization: Bearer vgu_live_sample_token_67b8a901"

HTTP Hata Şemaları &amp; Telemetri Başlıkları

6. Hata Yanıtları ve Telemetri Başlıkları

Vangu platformu hata durumlarında kesin JSON gövdeleri döndürür. Günlük paketlerde kota aşıldığında (429) kotanız her gece saat 00.00’da otomatik sıfırlanır.

OpenAI Tipi Hata Yanıtı (429 Too Many Requests)

JSON 429 Error
{
  "error": {
    "message": "Günlük paket kotanız doldu. Kota her gece 00.00'da sıfırlanır.",
    "type": "insufficient_quota",
    "code": "daily_quota_exceeded",
    "reset_timestamp": 1788825600
  }
}

Her Yanıtta Dönen Telemetri Başlıkları

BaşlıkÖrnek DeğerAçıklama
X-Vangu-Plandaily-proAktif paket kimliği
X-RateLimit-Limit20000Paketin toplam günlük veya süreli çağrı hakkı
X-RateLimit-Remaining18450Kalan kullanılabilir istek sayısı
X-RateLimit-Reset1788825600Kota yenilenme anı (Gece 00.00 UTC+3 Unix epoch zamanı)
X-Concurrency-Limit10Aynı anda izin verilen eşzamanlı istek tavanı
X-Concurrency-Current2Şu anda işlenen aktif eşzamanlı istek adedi