Dokümantasyon

Hızlı Başlangıç

JoinGonka Gateway, Gonka modellerine erişim için OpenAI ve Anthropic API'lerini destekler. Değiştirin base_url istemcinizde – ve hepsi çalışıyor.

Temel URL: https://gate.joingonka.ai/v1

Model: MiniMaxAI/MiniMax-M2.7

Yetkilendirme: Bearer YOUR_API_KEY

Python (OpenAI SDK)

python
from openai import OpenAI

client = OpenAI(
    base_url="https://gate.joingonka.ai/v1",
    api_key="YOUR_API_KEY",
)

response = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "What is Gonka?"},
    ],
    temperature=0.7,
    max_tokens=1024,
)

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

TypeScript (OpenAI SDK)

typescript
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://gate.joingonka.ai/v1",
  apiKey: "YOUR_API_KEY",
});

const response = await client.chat.completions.create({
  model: "MiniMaxAI/MiniMax-M2.7",
  messages: [
    { role: "system", content: "You are a helpful assistant." },
    { role: "user", content: "What is Gonka?" },
  ],
  temperature: 0.7,
  max_tokens: 1024,
});

console.log(response.choices[0].message.content);

cURL

bash
curl https://gate.joingonka.ai/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMaxAI/MiniMax-M2.7",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "What is Gonka?"}
    ],
    "temperature": 0.7,
    "max_tokens": 1024
  }'

Anthropic API (Claude Code)

JoinGonka Gateway, Anthropic Messages API'sini (/v1/messages) doğal olarak destekler. Claude Code, Anthropic SDK ve Anthropic formatını kullanan tüm araçlar doğrudan çalışır – proxy olmadan.

Claude Code

Recommended — set it up with one command (also configures OpenClaw and Cline):

bash
npx @joingonka/setup

Or configure it manually:

bash
export ANTHROPIC_BASE_URL=https://gate.joingonka.ai
export ANTHROPIC_API_KEY=YOUR_API_KEY
claude

Python (Anthropic SDK)

python
import anthropic

client = anthropic.Anthropic(
    base_url="https://gate.joingonka.ai",
    api_key="YOUR_API_KEY",
)

message = client.messages.create(
    model="MiniMaxAI/MiniMax-M2.7",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "What is Gonka?"},
    ],
)

print(message.content[0].text)

cURL (Anthropic format)

bash
curl https://gate.joingonka.ai/v1/messages \
  -H "x-api-key: YOUR_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMaxAI/MiniMax-M2.7",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "What is Gonka?"}
    ]
  }'

Akış (Python)

python
import anthropic

client = anthropic.Anthropic(
    base_url="https://gate.joingonka.ai",
    api_key="YOUR_API_KEY",
)

with client.messages.stream(
    model="MiniMaxAI/MiniMax-M2.7",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Explain Gonka"}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

Araç Kullanımı (cURL)

bash
curl https://gate.joingonka.ai/v1/messages \
  -H "x-api-key: YOUR_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMaxAI/MiniMax-M2.7",
    "max_tokens": 1024,
    "tools": [{
      "name": "get_weather",
      "description": "Get current weather",
      "input_schema": {
        "type": "object",
        "properties": {"city": {"type": "string"}},
        "required": ["city"]
      }
    }],
    "messages": [{"role": "user", "content": "Weather in Moscow?"}]
  }'

Her iki format (OpenAI ve Anthropic) aynı API anahtarını ve aynı bakiyeyi kullanır.

API Uç Noktaları

Inference

POST/v1/chat/completions

Yanıt oluşturma – OpenAI formatı (akış desteklenir)

json
{
  "id": "chatcmpl-abc123...",
  "object": "chat.completion",
  "model": "MiniMaxAI/MiniMax-M2.7",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "Hello! How can I help you?",
      "tool_calls": []
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 8,
    "total_tokens": 20
  },
  "x_joingonka": {
    "cost_ngonka": "24",
    "balance_ngonka": "11999976"
  }
}
POST/v1/messages

Yanıt oluşturma – Anthropic formatı (akış, tool_use)

json
{
  "id": "msg_abc123...",
  "type": "message",
  "role": "assistant",
  "content": [{"type": "text", "text": "Hello!"}],
  "model": "MiniMaxAI/MiniMax-M2.7",
  "stop_reason": "end_turn",
  "usage": {"input_tokens": 12, "output_tokens": 8}
}
GET/v1/models

Mevcut modellerin listesi

json
{
  "object": "list",
  "data": [{
    "id": "MiniMaxAI/MiniMax-M2.7",
    "object": "model",
    "owned_by": "gonka-network",
    "context_length": 200000,
    "pricing": {
      "prompt": "0.00000007",
      "completion": "0.0000001"
    },
    "architecture": {
      "modality": "text->text"
    },
    "top_provider": {
      "context_length": 200000,
      "max_completion_tokens": 8192,
      "is_moderated": false
    },
    "supported_parameters": [
      "temperature", "top_p", "tools",
      "tool_choice", "max_tokens", "stop"
    ],
    "x_gonka": {
      "v_ram": 320,
      "context_window": 200000,
      "max_output": 8192,
      "actual_cost_ngonka": 1.2
    }
  }]
}

Eklentiler

Eklentiler, API yeteneklerini genişletir. Etkinleştirmek için isteğe bir eklenti dizisi iletin.

GET/v1/plugins

Mevcut eklentilerin listesi

json
{
  "plugins": [
    {"id": "web", "description": "Web search — inject fresh results with citations"},
    {"id": "response-healing", "description": "Auto-fix truncated JSON"},
    {"id": "privacy-sanitization", "description": "Mask sensitive data"},
    {"id": "file-parser", "description": "Extract text from PDF"}
  ]
}

İstek kullanımında

json
{
  "model": "MiniMaxAI/MiniMax-M2.7",
  "messages": [{"role": "user", "content": "..."}],
  "plugins": ["response-healing", "privacy-sanitization"]
}

web

Gonka modellerinde doğrudan web araması. Modellerin kendisinin (Kimi, MiniMax, DeepSeek) arama özelliği yoktur; gateway, internetten taze sonuçları bağlama dahil eder ve kaynak alıntıları döndürür. stream ve non-stream modlarında çalışır. Backend self-hosted'dır: istekler, hesabınız kullanılarak üçüncü taraf arama API'lerine gönderilmez.

Yöntem 1 – eklentiler dizisindeki web nesnesi (seçeneklerle sonuç enjeksiyonu):

json
{
  "model": "MiniMaxAI/MiniMax-M2.7",
  "messages": [{"role": "user", "content": "What's new in the Gonka network?"}],
  "plugins": [{
    "id": "web",
    "max_results": 5,
    "search_prompt": "Relevant web search results:"
  }]
}

Yöntem 2 – aracı modu (mode: "agent"): Model, web_search'i yalnızca arama gerektiğinde çağırır:

json
{
  "model": "MiniMaxAI/MiniMax-M2.7",
  "messages": [{"role": "user", "content": "What's new in the Gonka network?"}],
  "plugins": [{ "id": "web", "mode": "agent", "max_searches": 3 }]
}

Seçenekler: max_results — sonuç sayısı (varsayılan 5, üst sınır 10); search_prompt — sonuçlardan önce yer alan kendi grounding prompt'unuz.

Yanıt, annotations[].url_citation (url, title) ile zenginleştirilir — OpenRouter standardı:

json
{
  "choices": [{
    "message": {
      "role": "assistant",
      "content": "...",
      "annotations": [{
        "type": "url_citation",
        "url_citation": {
          "url": "https://gonka.ai/...",
          "title": "Gonka Network"
        }
      }]
    }
  }]
}

Fiyatlandırma: plugins modu:[{ "id": "web" }] — sadece token üzerinden (eklenen sonuçlar normal prompt-token olarak sayılır). Ajan modu (mode: "agent") — döngüdeki tüm adımların tokenları artı her web_search çağrısı için 1000 nGNK ek ücret (GNK başına ~$0.15 kur üzerinden 1000 arama için ≈ $0.0001).

privacy-sanitization ile uyumsuz: birleşik istek 400 hatası döndürür.

response-healing

Kesilmiş JSON/yapısal çıktının otomatik onarımı. Yalnızca JSON içeriğine sahip akışsız istekler için çalışır.

privacy-sanitization

Mesajlardaki hassas verilerin (API anahtarları, e-posta adresleri, IP adresleri, JWT, kart numaraları) modele gönderilmeden önce maskelenmesi.

Modlar: redact ([REDACTED] ile değiştirme) veya tokenize ([TOKEN_001] ile değiştirme). privacy_mode'u body'de iletin.

file-parser

PDF belgelerinden metin çıkarma. data:application/pdf;base64,... ve ham base64 desteği.

Yönetim Anahtarları

SaaS entegrasyonları için hiyerarşik API anahtarları. Yönetim anahtarı (gm-) limitler ve TTL ile çocuk anahtarlar (gc-) oluşturur.

POST/api/management/keys

Yönetim anahtarı oluştur (önek gm-). Yalnızca çocuk anahtarları yönetmek için kullanılır.

POST/api/management/keys/:id/children

İsteğe bağlı limitlerle çocuk anahtar oluştur (önek gc-). Faturalandırma, yönetim anahtarı sahibinin bakiyesinden düşülür.

json
{
  "name": "Client A",
  "limit_daily_ngonka": "1000000000",
  "limit_monthly_ngonka": "10000000000",
  "expires_at": "2026-04-01T00:00:00Z",
  "rate_limit_rpm": 30
}
GET/api/management/keys/:id/children

Kullanım istatistikleriyle birlikte çocuk anahtarlarının listesi.

PUT/api/management/keys/:id/children/:childId

Bir çocuk anahtarının limitlerini, RPM'ini veya durumunu güncelle.

DELETE/api/management/keys/:id/children/:childId

Bir çocuk anahtarını devre dışı bırak (yumuşak silme).

Account

GET/api/balance

Mevcut bakiye

json
{
  "balance_ngonka": "11999976",
  "balance_usd": 0.008,
  "cost_per_token_ngonka": 1,
  "tokens_remaining": 11999976
}
GET/api/keys

API anahtarlarının listesi

POST/api/keys

API anahtarı oluştur

DELETE/api/keys/:id

API anahtarını sil

Billing

GET/api/usage

Kullanım istatistikleri

Query: period=day|week|month&tz=-180

json
{
  "period": "month",
  "usage": [{
    "date": "2026-03-20",
    "requests": 42,
    "tokens": 18500,
    "costNgonka": "22200"
  }]
}
GET/api/deposits

Para yatırma geçmişi

Query: limit=50&offset=0&from=2026-03-01&to=2026-03-21

json
{
  "deposits": [{
    "id": "abc-123",
    "type": "DEPOSIT_GNK",
    "amountNgonka": "10000000",
    "description": "GNK deposit via memo",
    "createdAt": "2026-03-20T12:00:00Z"
  }],
  "total": 3
}
GET/api/transactions

İşlem geçmişi

Query: limit=50&offset=0&type=INFERENCE&from=2026-03-01&to=2026-03-21

json
{
  "transactions": [{
    "id": "def-456",
    "type": "INFERENCE",
    "amountNgonka": "-1200",
    "feeNgonka": "120",
    "description": null,
    "createdAt": "2026-03-20T14:30:00Z"
  }],
  "total": 128
}
GET/api/pricing

Tarifeler ve komisyonlar (genel, yetkisiz)

json
{
  "deposit_usdt_fee_percent": 5,
  "deposit_gnk_fee_percent": 0,
  "usage_fee_percent": 10,
  "withdrawal_fee_percent": 5,
  "gnk_usd_price": 0.3465
}

Streaming & Errors

Stream: true olduğunda yanıt, SSE (Server-Sent Events) aracılığıyla parçalı olarak gelir.

OpenAI (stream: true)

text
data: {"choices":[{"delta":{"content":"Hello"}}]}

data: {"choices":[{"delta":{"content":"!"}}]}

data: {"choices":[],"x_joingonka":{"cost_ngonka":"24"}}

data: [DONE]

Anthropic (stream: true)

text
event: message_start
data: {"type":"message_start","message":{...}}

event: content_block_delta
data: {"type":"content_block_delta","delta":{"type":"text_delta","text":"Hello"}}

event: message_stop
data: {"type":"message_stop"}

Hatalar

json
// 400 — неверный запрос
{"error": {"message": "...", "type": "invalid_request_error"}}

// 401 — не авторизован
{"error": {"message": "...", "type": "authentication_error"}}

// 402 — недостаточный баланс
{"error": {"message": "...", "type": "insufficient_funds", "balance_ngonka": "0"}}

// 429 — rate limit
{"error": {"message": "...", "type": "rate_limit_error"}}

// 502 — ошибка сети Gonka
{"error": {"message": "...", "type": "api_error"}}

Modeller

Gonka ağı, tek bir API üzerinden birden fazla modele hizmet verir; güncel listeyi her zaman GET /v1/models isteği ile alabilirsiniz. Bir model seçmek için, model ID'sini istek gövdesindeki model alanına iletin.

ModelSağlayıcıBağlamMaksimum ÇıkışVRAMDurum
MiniMax M2.7MiniMax195K8K320 GBMevcut
Kimi K2.6Moonshot AI195K8K720 GBMevcut
DeepSeek V4 FlashDeepSeek371K32K280 GBMevcut

Varsayılan olarak (model belirtilmemişse) ağın amiral gemisi modeli kullanılır. Meta verileri içeren güncel liste — GET /v1/models.

Tüm meta verileri içeren güncel modeller listesi - GET /v1/models. Vision ve çok modlu giriş (image_url), yukarı akış Gonka ağı tarafından henüz desteklenmemektedir.

Tarifeler ve komisyonlar

Tam şeffaflık: aşağıda tüm ağ geçidi (gateway) komisyonları listelenmiştir. Güncel değerler doğrudan API'den yüklenir — GET /api/pricing genel uç noktası (endpoint) yetkilendirme olmaksızın kullanılabilir.

İşlemKomisyonNot
Inference ek ücreti10%Gonka ağ fiyatının üzerindeki platform ek ücreti — gateway'in ana gelir kaynağıdır. Token maliyetiyle birlikte her istekten düşülür.
USDT ile yükleme5%Kripto (USDT) ile ödeme yapıldığında ödeme sağlayıcısı tarafından kesilir.
GNK ile yüklemeücretsizDoğrudan on-chain GNK transferi, gateway komisyonu alınmadan yansıtılır.
Para Çekme5%Dış bir adrese GNK çekerken kesilir. Çekim işlemi 24-48 saat içinde manuel olarak işlenir.
Güncel GNK Fiyatı$0.147Yüklemelerin ve bakiyenin hesaplandığı GNK/USD kuru. Otomatik olarak güncellenir.

GET /api/pricing

Limitler

Modeller: Tüm Gonka ağı modelleri (DevShards çok modelli mimarisi)

İstek Limiti: API anahtarı ile istek sayısı sabit bir şekilde sınırlandırılmaz (ağ eşzamanlılığı ile sınırlıdır); anahtarsız — IP başına günlük 20 adet (anti-spam)

Maks. Tokenler: DeepSeek V4 Flash için istek başına 32.768 tokene kadar ve diğer modeller için 8.192'ye kadar (limiti aşan değerler gateway tarafından kırpılır). Uzun yanıtlar için zaman aşımını önlemek amacıyla stream:true kullanın.

Akış: destekleniyor (SSE, stream: true)

Ağ zaman aşımı: Eğer Gonka ağı isteği kabul eder ancak 300 saniye içinde yanıt vermezse, istek 504 hatası ile sonlanır ve istem işlemesi tahmine göre düşülür: ağ tarafından kabul edilen bir istek iptal edilemez, node onu her durumda işler. Completion zaman aşımında faturalandırılmaz. Uzun üretimler için stream:true kullanın.