ডকুমেন্টেশন

দ্রুত শুরু

JoinGonka Gateway Gonka মডেলগুলিতে অ্যাক্সেসের জন্য OpenAI এবং Anthropic API সমর্থন করে। প্রতিস্থাপন করুন base_url আপনার ক্লায়েন্টে - এবং সবকিছু কাজ করে।

বেস URL: https://gate.joingonka.ai/v1

মডেল: MiniMaxAI/MiniMax-M2.7

অনুমোদন: 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 (/v1/messages) সমর্থন করে। Claude Code, Anthropic SDK, এবং Anthropic ফরম্যাট ব্যবহার করে এমন যেকোনো টুল সরাসরি কাজ করে - কোনও প্রক্সি ছাড়াই।

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?"}
    ]
  }'

Streaming (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)

Tool Use (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?"}]
  }'

উভয় ফরম্যাট (OpenAI এবং Anthropic) একটি API কী এবং একটি ব্যালেন্স ব্যবহার করে।

API এন্ডপয়েন্ট

Inference

POST/v1/chat/completions

চ্যাট সম্পন্নকরণ - OpenAI ফরম্যাট (স্ট্রিমিং সমর্থিত)

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

চ্যাট সম্পন্নকরণ - Anthropic ফরম্যাট (স্ট্রিমিং, 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

উপলভ্য মডেলের তালিকা

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
    }
  }]
}

প্লাগইন

প্লাগইন API এর ক্ষমতা প্রসারিত করে। সক্রিয় করতে অনুরোধে প্লাগইনগুলির একটি অ্যারে পাস করুন।

GET/v1/plugins

উপলভ্য প্লাগইনগুলির তালিকা

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"}
  ]
}

অনুরোধে ব্যবহার

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

web

সরাসরি Gonka মডেলের মধ্যে ওয়েব সার্চ। মডেলগুলোর (Kimi, MiniMax, DeepSeek) নিজস্ব কোনো সার্চ ফাংশন নেই; gateway ইন্টারনেট থেকে নতুন ফলাফল কনটেক্সটে যুক্ত করে এবং উৎসের উদ্ধৃতি ফেরত দেয়। এটি stream এবং non-stream মোডে কাজ করে। ব্যাকএন্ডটি self-hosted: আপনার অ্যাকাউন্ট ব্যবহার করে কোনো থার্ড-পার্টি সার্চ API-তে অনুরোধ পাঠানো হয় না।

পদ্ধতি 1 – plugins অ্যারেতে web অবজেক্ট (বিকল্প সহ ফলাফল ইনজেকশন):

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:"
  }]
}

পদ্ধতি 2 – এজেন্ট মোড (mode: "agent"): মডেল যখনই অনুসন্ধানের প্রয়োজন হয় তখনই web_search 调用 করে:

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 }]
}

অপশনসমূহ: max_results — ফলাফলের সংখ্যা (ডিফল্ট ৫, সর্বোচ্চ ১০); search_prompt — ফলাফলের আগে আপনার নিজের গ্রাউন্ডিং প্রম্পট (grounding prompt)।

উত্তরটি annotations[].url_citation (url, title) দ্বারা সমৃদ্ধ করা হয় — এটি OpenRouter স্ট্যান্ডার্ড:

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

মূল্য নির্ধারণ: মোড plugins:[{ "id": "web" }] — শুধুমাত্র টোকেনের জন্য (মিশ্রিত ফলাফলগুলো সাধারণ prompt-টোকেন হিসেবে গণনা করা হয়)। এজেন্ট মোড (mode: "agent") — লুপের সমস্ত ধাপের টোকেন এবং প্রতিটি web_search কলের জন্য ১০০০ nGNK অতিরিক্ত চার্জ (GNK প্রতি ~$0.15 হারে ১০০০ অনুসন্ধানের জন্য ≈ $0.0001)।

privacy-sanitization-এর সাথে সামঞ্জস্যপূর্ণ নয়: যৌথ অনুরোধ 400 ত্রুটি দেবে।

response-healing

কাটা JSON/স্ট্রাকচার্ড আউটপুট স্বয়ংক্রিয়ভাবে ঠিক করা। শুধুমাত্র স্ট্রিমিং নয় এমন অনুরোধের জন্য JSON সামগ্রী সহ কাজ করে।

privacy-sanitization

মডেলে পাঠানোর আগে বার্তাগুলিতে সংবেদনশীল ডেটা (API কী, ইমেল, IP ঠিকানা, JWT, কার্ড নম্বর) মাস্ক করা।

মোড: redact ([REDACTED] দিয়ে প্রতিস্থাপন) বা tokenize ([TOKEN_001] দিয়ে প্রতিস্থাপন)। বডিতে privacy_mode পাস করুন।

file-parser

PDF নথি থেকে টেক্সট নিষ্কাশন। data:application/pdf;base64,... এবং RAW base64 সমর্থন করে।

ম্যানেজমেন্ট কীজ

SaaS ইন্টিগ্রেশনের জন্য শ্রেণীবদ্ধ API কী। ম্যানেজমেন্ট কী (gm-) সীমাবদ্ধতা এবং TTL সহ চাইল্ড কী (gc-) তৈরি করে।

POST/api/management/keys

ম্যানেজমেন্ট কী তৈরি করুন (উপসর্গ gm-)। শুধুমাত্র চাইল্ড কী পরিচালনার জন্য ব্যবহৃত হয়।

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

ঐচ্ছিক সীমাবদ্ধতা সহ চাইল্ড কী (উপসর্গ gc-) তৈরি করুন। বিলিং ম্যানেজমেন্ট কী মালিকের ব্যালেন্স থেকে কাটা হয়।

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

ব্যবহারের পরিসংখ্যান সহ চাইল্ড কীগুলির তালিকা।

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

চাইল্ড কী এর সীমাবদ্ধতা, RPM বা স্ট্যাটাস আপডেট করুন।

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

চাইল্ড কী নিষ্ক্রিয় করুন (সফট ডিলিট)।

Account

GET/api/balance

বর্তমান ব্যালেন্স

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

API কীজের তালিকা

POST/api/keys

API কী তৈরি করুন

DELETE/api/keys/:id

API কী মুছুন

Billing

GET/api/usage

ব্যবহারের পরিসংখ্যান

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

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

জমার ইতিহাস

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

লেনদেনের ইতিহাস

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

ট্যারিফ এবং কমিশন (পাবলিক, অথরাইজেশন ছাড়া)

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, প্রতিক্রিয়া SSE (Server-Sent Events) এর মাধ্যমে চাঙ্কি আসে।

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"}

ত্রুটি

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"}}

মডেল

Gonka নেটওয়ার্ক একটি একক API-এর মাধ্যমে একাধিক মডেল পরিবেশন করে — বর্তমান তালিকাটি সর্বদা GET /v1/models অনুরোধের মাধ্যমে পাওয়া যাবে। একটি মডেল নির্বাচন করতে — অনুরোধের বডি-র model ফিল্ডে তার ID প্রদান করুন।

মডেলবিক্রেতাপ্রসঙ্গসর্বোচ্চ আউটপুটVRAMস্থিতি
MiniMax M2.7MiniMax195K8K320 GBউপলব্ধ
Kimi K2.6Moonshot AI195K8K720 GBউপলব্ধ
DeepSeek V4 FlashDeepSeek371K32K280 GBউপলব্ধ

ডিফল্টরূপে (যদি model উল্লেখ না করা হয়), নেটওয়ার্কের ফ্ল্যাগশিপ মডেল ব্যবহার করা হয়। মেটাডেটা সহ বর্তমান তালিকা — GET /v1/models।

সমস্ত মেটাডেটা সহ মডেলগুলির বর্তমান তালিকা – GET /v1/models। ভিশন এবং মাল্টিমোডাল ইনপুট (image_url) এখনও উজানে অবস্থিত Gonka নেটওয়ার্ক দ্বারা সমর্থিত নয়।

ট্যারিফ এবং কমিশন

সম্পূর্ণ স্বচ্ছতা: নিচে সমস্ত gateway ফি দেওয়া হলো। বর্তমান মানগুলো API থেকে সরাসরি লোড করা হয় — পাবলিক এন্ডপয়েন্ট GET /api/pricing কোনো অথরাইজেশন ছাড়াই উপলব্ধ।

অপারেশনকমিশননোট
ইনফারেন্সে অতিরিক্ত ফি10%Gonka নেটওয়ার্কের মূল্যের ওপর প্ল্যাটফর্মের অতিরিক্ত চার্জ — gateway আয়ের প্রধান উৎস। টোকেনের খরচের সাথে প্রতিটি অনুরোধ থেকে কেটে নেওয়া হয়।
USDT এর মাধ্যমে টপ-আপ5%ক্রিপ্টো (USDT) দিয়ে পেমেন্ট করার সময় পেমেন্ট প্রোভাইডার কেটে নেয়।
GNK এর মাধ্যমে টপ-আপফ্রিসরাসরি GNK on-chain ট্রান্সফার কোনো gateway ফি ছাড়াই জমা করা হয়।
তহবিল উত্তোলন5%একটি বাহ্যিক ঠিকানায় GNK উত্তোলনের সময় কেটে নেওয়া হয়। উত্তোলন ২৪-৪৮ ঘণ্টার মধ্যে ম্যানুয়ালি প্রসেস করা হয়।
বর্তমান GNK মূল্য$0.147GNK/USD রেট যার ভিত্তিতে টপ-আপ এবং ব্যালেন্স হিসাব করা হয়। স্বয়ংক্রিয়ভাবে আপডেট হয়।

GET /api/pricing

সীমাবদ্ধতা

মডেল: সমস্ত Gonka নেটওয়ার্ক মডেল (DevShards মাল্টি-মডেল আর্কিটেকচার)

অনুরোধের সীমা: API কী সহ অনুরোধের সংখ্যা নির্দিষ্টভাবে সীমাবদ্ধ নয় (নেটওয়ার্কের সমকালীনতা সীমাবদ্ধ করে); কী ছাড়া — প্রতি আইপির জন্য দিনে ২০টি অনুরোধ (অ্যান্টি-স্প্যাম)

সর্বোচ্চ টোকেন: DeepSeek V4 Flash-এর জন্য প্রতি রিকোয়েস্টে ৩২,৭৬৮ টোকেন পর্যন্ত এবং অন্যান্য মডেলের জন্য ৮,১৯২ টোকেন পর্যন্ত (লিমিট ছাড়িয়ে গেলে gateway সেই ভ্যালুগুলো কেটে দেয়)। দীর্ঘ উত্তরের ক্ষেত্রে, টাইমআউট এড়াতে stream:true ব্যবহার করুন।

স্ট্রিমিং: সমর্থিত (SSE, stream: true)

নেটওয়ার্ক টাইমআউট: যদি Gonka নেটওয়ার্ক অনুরোধটি গ্রহণ করে কিন্তু ৩০০ সেকেন্ডের মধ্যে উত্তর না দেয়, তবে অনুরোধটি ৫০৪ ত্রুটির সাথে শেষ হয় এবং প্রম্পট প্রসেসিং অনুমান অনুযায়ী কাটা হয়: নেটওয়ার্ক দ্বারা গৃহীত কোনো অনুরোধ বাতিল করা যায় না, নোড যেভাবেই হোক তা প্রসেস করে। টাইমআউটের ক্ষেত্রে Completion চার্জ করা হয় না। দীর্ঘ জেনারেশনের জন্য stream:true ব্যবহার করুন।