API hujjatlari

Jahon darajasidagi AI modelariga yagona kirish. OpenAI-compatible API — barcha modelar uchun bitta kalit.

API asosiy URL

https://tokenhub.store/api/v1

Barcha API so‘rovlari shu asosiy URL’dan foydalanadi. OpenAI SDKs bilan to‘liq mos.

Tezkor boshlash

Bir necha daqiqada boshlang

  1. Hisob yarating va Dashboard’ingizga kiring
  2. Ga o‘ting API Keys va yangi API key yarating
  3. Kiring To'lovlar va hisobingizga Credits qo‘shing
  4. Qo‘llab-quvvatlanadigan istalgan model bilan API chaqiruvlarini boshlang

Qo‘llab-quvvatlanadigan modelar

Mavjud modelar va kod misollarini ko‘rish uchun provider ustiga bosing.

OpenAI

10 ta model

GPT seriyasining yaratuvchisi bo‘lgan yetakchi AI tadqiqot kompaniyasi. Ajoyib mulohaza yuritish va kod yozish imkoniyatlariga ega eng zamonaviy language modelar bilan mashhur.

Anthropic

8 ta model

Claude modelari bilan mashhur AI xavfsizlik kompaniyasi. Nozik muloqotlar, kod va murakkab mulohaza yuritishda kuchli xavfsizlik funksiyalari bilan a’lo darajada ishlaydi.

Google

9 ta model

Google’ning Gemini oilasi 2M tokens gacha bo‘lgan sanoat yetakchisi context windows bilan ilg‘or multimodal imkoniyatlarni taklif etadi.

xAI

3 ta model

Elon Musk’ning AI kompaniyasi. Grok modelari real-time knowledge, hazilkash javoblar va a’lo kodlash yordami bilan mashhur.

Alibaba (Qwen)

3 ta model

Alibaba'ning Qwen seriyasi ingliz va xitoycha vazifalarda kuchli natijalar ko‘rsatadigan qudratli ko‘p tilli modellarni taklif etadi.

Zhipu AI (GLM)

3 ta model

Zhipu AI'ning GLM seriyasi. 200K gacha context window'ga ega ilg‘or xitoycha-inglizcha ikki tilli modellar.

MiniMax

2 ta model

MiniMax'ning M2 seriyasi. Kuchli ko‘p tilli imkoniyatlarga ega ultra-uzoq 205K context.

Xiaomi (MiMo)

2 ta model

Xiaomi'ning MiMo V2 modellari. 1M Tokens gacha bo‘lgan katta context window'lar.

Alibaba (Qwen3)

3 ta model

Alibaba'ning Qwen3 seriyasi. Vision-language va coding bo‘yicha ixtisoslashgan ulkan MoE modellar.

Moonshot AI (Kimi)

2 ta model

Moonshot AI'ning Kimi K2 seriyasi. Kengaytirilgan context window'lar bilan kuchli reasoning.

DeepSeek

6 ta model

DeepSeek'ning eng so‘nggi modellari. Kuchli reasoning va coding imkoniyatlari bilan juda tejamkor.

ByteDance (Seedance)

2 ta model

ByteDance'ning Seedance video generatsiya modellari. Audio qo‘llab-quvvatlashi bilan cinema-quality text-to-video, image-to-video va multi-modal video editing.

ByteDance (Seedream)

2 ta model

ByteDance'ning Seedream image generatsiya modellari. Fotorealistik va badiiy uslublarda yuqori sifatli text-to-image.

Kwaivgi (Kling)

2 ta model

Kwaivgi'ning Kling video generatsiya modellari. std/pro mode'lari bilan yuqori sifatli text-to-video va image-to-video. Davomiylik: 3–15s. std: $0.168/s, pro: $0.224/s (audio yo‘q).

Gemini API

Gemini 3.5–3.8 Flash and Gemini 4 Argon use /chat/completions. For Argon, use model ID google/gemini-4-argon. GET /models lists published models. For an unlisted model configured by your account administrator, use the exact model ID they provide with the same endpoint.

curl "https://tokenhub.store/api/v1/chat/completions" \
  -H "Authorization: Bearer th-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemini-3.8-flash",
    "messages": [{"role": "user", "content": "Hello"}],
    "reasoning_effort": "low",
    "max_tokens": 1024,
    "stream": true
  }'

Supports streaming, system instructions, function calling, and base64 image data URLs. reasoning_effort accepts low, medium, or high; max_tokens includes thinking tokens.

For multi-turn tools, keep the complete assistant message, including tool_calls.extra_content or content_blocks, so thought signatures are preserved. Native Gemini endpoints are not exposed by TokenHub.

Gemini Flash and Argon output usage includes thinking tokens. Cached input is counted at the configured cache-read rate when available. See the model catalog for current prices; confirm rates for unlisted models with your account administrator.

Responses API oqimli javoblari va hisob-kitob

POST /v1/responses uchun response.completed javob tugaganini bildiradi. Shu hodisadan keyin ulanishni yopish muvaffaqiyatli so‘rovni bekor qilingan deb belgilamaydi.

Provayder bergan token soni, jumladan nol, taxmindan ustun turadi. Faqat yetishmayotgan qiymatlar taxmin qilinadi. Tugashidan oldin bekor qilingan so‘rovning qayta ishlangan tokenlari uchun haq olinishi mumkin.

API Endpoint'lar

POST /chat/completions

Streaming qo‘llab-quvvatlovi bilan chat completion yaratish

Sarlavhalar

headers
Authorization: Bearer th-your-api-key
Content-Type: application/json

So‘rov tanasi

json
{
  "model": "openai/gpt-4.1",
  "messages": [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello!"}
  ],
  "temperature": 0.7,
  "max_tokens": 1000,
  "stream": false
}

POST /responses

OpenAI Responses so‘rovini JSON va SSE shaklini o‘zgartirmasdan uzatish

Sarlavhalar

headers
Authorization: Bearer th-your-api-key
Content-Type: application/json

So‘rov tanasi

json
{
  "model": "openai/gpt-5.6-terra",
  "input": "Explain why the sky is blue in one sentence.",
  "reasoning": { "effort": "medium" },
  "max_output_tokens": 256,
  "stream": false
}

POST /videos/generations

Text yoki image prompt'dan video generatsiya qilish (Seedance & Wan 2.2 modellar)

Sarlavhalar

headers
Authorization: Bearer th-your-api-key
Content-Type: application/json

So‘rov tanasi

json
{
  "model": "bytedance/doubao-seedance-2.0",
  "prompt": "A golden retriever running on a sunny beach",
  "duration": 5,
  "resolution": "720p",
  "aspect_ratio": "16:9"
}

So‘rov tanasi (content array — first_frame & last_frame)

json
{
  "model": "bytedance/doubao-seedance-2.0",
  "prompt": "Hand picks a fresh apple from the tree, the scene smoothly transitions to a hand holding an apple smoothie drink, cinematic lighting in an orchard",
  "content": [
    {
      "type": "image_url",
      "image_url": { "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic1.jpg" },
      "role": "first_frame"
    },
    {
      "type": "image_url",
      "image_url": { "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic2.jpg" },
      "role": "last_frame"
    }
  ],
  "duration": 5,
  "resolution": "720p"
}

Parametrlar

content (ixtiyoriy): Media aktivlari massivi. Har bir elementda quyidagilar bo‘ladi:

  • type: "image_url"
  • image_url.url: Rasmning URL manzili
  • role: <firstFrame/> (maks. 1), <lastFrame/> (maks. 1), <refImage/>, <refVideo/>, <refAudio/>

GET /videos/generations/{id}

Video generatsiyasi vazifasining holatini tekshirib boring

Sarlavhalar

headers
Authorization: Bearer th-your-api-key

Javob

json
{
  "id": "tsk-xxx",
  "object": "video.generation.task",
  "model": "bytedance/doubao-seedance-2.0",
  "status": "succeeded",  // "queued" | "running" | "succeeded" | "failed"
  "data": [
    {
      "video_url": "https://..."
    }
  ]
}

POST /images/generations

Matnli soʻrovlar asosida rasmlar yarating (Seedream modellari)

Sarlavhalar

headers
Authorization: Bearer th-your-api-key
Content-Type: application/json

Soʻrov tanasi

json
{
  "model": "bytedance/doubao-seedream-5.0",
  "prompt": "A serene mountain landscape at sunset",
  "n": 1,
  "size": "2048x2048"
}

GET /models

Mavjud barcha modellarni roʻyxatlash

Joriy e’lon qilingan modellar va narxlarni Modellar va Narxlar sahifalarida ko‘ring. Sahifalar avtomatik yangilanadi.

Account management API

Generate an access token in Settings → Account information. Send Authorization: Bearer YOUR_ACCESS_TOKEN and TokenHub-User: YOUR_USER_ID. New-Api-User is also accepted; if both user headers are supplied, they must match. Open settings

Access tokens manage your account. Continue using th- API keys for model requests.

HTTPEndpointDescription
GET/api/balanceAccount credit balance (1 credit = 1 USD)
GET / POST/api/keysList keys or create a key
GET / PATCH / DELETE/api/keys/{id}Get a key, edit its name/status/budget, or delete it
GET/api/keys/{id}/discountsRead the effective discounts for your key
GET / PATCH/api/user/profileRead account details or update your name
GET/api/usageRequest details and usage totals, filterable by key, model, and time
GET/api/v1/billing/usageRequest details and usage totals, filterable by key, model, and time
GET/api/v1/billing/spendingAccount spending trends
GET/api/v1/billing/invoicesList invoices
GET / POST/api/v1/billing/budgetRead or configure account budgets
export TOKENHUB_ACCESS_TOKEN="YOUR_ACCESS_TOKEN"
export TOKENHUB_USER_ID="YOUR_USER_ID"

curl "https://tokenhub.store/api/balance" \
  -H "Authorization: Bearer $TOKENHUB_ACCESS_TOKEN" \
  -H "TokenHub-User: $TOKENHUB_USER_ID"

curl "https://tokenhub.store/api/keys" \
  -H "Authorization: Bearer $TOKENHUB_ACCESS_TOKEN" \
  -H "TokenHub-User: $TOKENHUB_USER_ID" \
  -H "Content-Type: application/json" \
  -d '{"name":"My application","spendLimit":10}'

curl --get "https://tokenhub.store/api/v1/billing/usage" \
  -H "Authorization: Bearer $TOKENHUB_ACCESS_TOKEN" \
  -H "TokenHub-User: $TOKENHUB_USER_ID" \
  --data-urlencode "apiKeyId=YOUR_API_KEY_ID" \
  --data-urlencode "model=alibaba/qwen-turbo" \
  --data-urlencode "startDate=2026-09-07T00:00:00Z" \
  --data-urlencode "endDate=2026-09-08T00:00:00Z" \
  --data-urlencode "page=1" \
  --data-urlencode "limit=20"

Usage filters: apiKeyId is the ID returned by /api/keys, not the th- secret. model matches the full model ID exactly. Send startDate and endDate together as ISO timestamps with a timezone (inclusive boundaries). page defaults to 1; limit defaults to 20, maximum 100. Summary covers all matching records. Omit apiKeyId to query the account. An unknown key or a key owned by another account returns 404. API keys retain their existing account-wide billing access. /api/usage also accepts start_date/end_date, one-sided ranges, limit (default 100, maximum 1000), and offset (default 0).

Create: name=My application, spendLimit=10; omit spendLimit for the shared wallet. PATCH accepts name, isActive, and action (set_limit, add_budget, clear_limit, reset_spent); set_limit/add_budget also need a non-negative value. set_limit resets spent; add_budget preserves spent for an existing cap. GET /api/keys/:id returns the full model key. Deleting a key removes its UsageLog association; use isActive:false to retain usage filtering by key.

API kalitlarini nom yoki prefiks boʻyicha qidiring va har sahifada 20 ta kalitni koʻring. Yangi kalitlar birinchi sahifada koʻrinadi. Boshqa oynada yoki API orqali yaratilgan kalitlarni koʻrish uchun roʻyxatni yangilang. API Keys

One active access token per account. It remains valid until regenerated or revoked; the database stores only its hash. Token lifecycle endpoints GET/POST/DELETE /api/user/access-token require a browser login. Tokens cannot manage their own lifecycle or authorize admin, password, account-deletion, or model-generation endpoints. Invalid tokens or mismatched user IDs return 401. Existing browser-session authentication continues to work.

Kod namunalari

cURL

bash
curl https://tokenhub.store/api/v1/chat/completions \
  -H "Authorization: Bearer th-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4.1",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Python (OpenAI SDK)

python
from openai import OpenAI

client = OpenAI(
    api_key="th-your-api-key",
    base_url="https://tokenhub.store/api/v1"
)

# Use any supported model
response = client.chat.completions.create(
    model="openai/gpt-5.4",  # Or any other model
    messages=[{"role": "user", "content": "Hello!"}]
)

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

JavaScript / TypeScript

typescript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'th-your-api-key',
  baseURL: 'https://tokenhub.store/api/v1',
});

// Use any supported model
const response = await client.chat.completions.create({
  model: 'anthropic/claude-sonnet-4-6',
  messages: [{ role: 'user', content: 'Hello!' }],
});

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

Streaming namunasi (Python)

python
from openai import OpenAI

client = OpenAI(
    api_key="th-your-api-key",
    base_url="https://tokenhub.store/api/v1"
)

stream = client.chat.completions.create(
    model="google/gemini-2.5-pro",
    messages=[{"role": "user", "content": "Write a short story."}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Yordam kerakmi?

Biz bilan bogʻlaning: support@tokenhub.store