مستندات شروع سریع معرفی

مستندات Sinox API

این API کاملاً سازگار با فرمت OpenAI است. هر ابزار یا SDK که با OpenAI کار می‌کند — بدون تغییر کد — با این سرویس هم کار می‌کند. فقط base_url و کلید API را عوض کنید.

Base URL

همه‌ی درخواست‌ها به همین آدرس ارسال می‌شوند. آن را جای https://api.openai.com در کتابخانه‌ی خودتان قرار دهید.

آدرس سرور
در حال بارگذاری…
مسیر کامل انتهای درخواست‌های سازگار با OpenAI: /v1/chat/completions — و برای فرمت Anthropic: /v1/messages
احراز هویت

همه‌ی درخواست‌ها باید هدر Authorization با پیشوند Bearer داشته باشند. کتابخانه‌های رسمی این کار را خودشان انجام می‌دهند.

چطور API key بگیرم؟
بعد از خرید اشتراک، از داشبورد وارد بخش «کلیدهای API» شوید و روی «ایجاد کلید جدید» کلیک کنید.
خطر
کلید API را هرگز داخل کد سمت کاربر (مرورگر) قرار ندهید. هر کسی که کد جاوااسکریپت مرورگر را ببیند، کلیدتان را هم می‌بیند.
نکته
کلید را در یک متغیر محیطی بگذارید، مثلاً SINOX_API_KEY — کتابخانه‌ی OpenAI هم همین الگو را دوست دارد.
لیست مدل‌ها
GET در حال بارگذاری…

مدل‌های فعالِ متناسب با نوع کلیدت را برمی‌گرداند: کلید ریکوستی مدل‌های ریکوستی و کلید توکنی مدل‌های t-دار را می‌بیند. شناسه‌ی هر مدل همان رشته‌ای است که در فیلد model استفاده می‌کنی.

نوع شناسه باید با نوع کلیدت یکی باشد: با کلید ریکوستی فقط شناسهٔ «ریکوستی» و با کلید توکنی فقط شناسهٔ «توکنی» (با پیشوند t-) کار می‌کند. اگر جابه‌جا بفرستی، خطای billing_type_mismatch می‌گیری.
شناسه مدلنامسازندهنوع
در حال بارگذاری فهرست مدل‌ها…
Chat Completions
POST در حال بارگذاری…
پارامترها
پارامترنوعتوضیح
model*stringشناسه‌ی مدل از /v1/models
messages*arrayآرایه‌ی پیام‌ها با فیلدهای role و content
streambooleanپاسخ به‌صورت streaming — پیش‌فرض: false
temperaturefloatمیزان خلاقیت، بین ۰ تا ۲ — پیش‌فرض: ۱
max_tokensintegerحداکثر توکن خروجی. اگر بیشتر از سقف سرور (حدود ۸۰۰۰) بفرستی، بی‌صدا به همان سقف محدود می‌شود.
top_pfloatnucleus sampling — پیش‌فرض: ۱
همهٔ پارامترها پشتیبانی می‌شوند (passthrough کامل)
جدول بالا فقط رایج‌ترین‌هاست. این سرویس هر پارامتری را که بفرستی دست‌نخورده به مدل می‌رساند — مثل stop، top_k، presence_penalty، frequency_penalty، seed، response_format (خروجی JSON)، tools و tool_choice. نوع پکیج (ریکوستی یا توکنی) هیچ فرقی در پارامترهای مجاز ندارد؛ فقط نحوهٔ شمارش سهمیه فرق می‌کند. فهرست کامل و رسمی پارامترها: دو تنها استثنا: model باید شناسهٔ همین سرویس باشد و max_tokens تا سقف سرور (حدود ۸۰۰۰) محدود می‌شود.
حالت استدلال (Extended Thinking)
روی مدل‌های Claude (چه ریکوستی چه توکنی)، در فرمت Anthropic با پارامتر thinking فعال می‌شود:
json
پاسخ شامل یک بلاک thinking (زنجیرهٔ استدلال مدل) و سپس بلاک text است. توکن‌های بخش thinking هم در مصرف پلن توکنی حساب می‌شوند.
Streaming

با فرستادن "stream": true پاسخ به‌صورت Server-Sent Events (SSE) دریافت می‌شود — توکن به توکن، بدون نیاز به صبر برای کل پاسخ.

فرمت Anthropic (Claude)

علاوه بر فرمت OpenAI، این سرویس از فرمت رسمی Anthropic Messages API هم پشتیبانی می‌کند. یعنی ابزارهایی که با Claude کار می‌کنند — مثل Claude Code، کتابخانه‌ی رسمی anthropic و هر کلاینت سازگار با Messages API — مستقیم و بدون تبدیل به این سرویس وصل می‌شوند.

Endpoint
POST در حال بارگذاری…
احراز هویت

کلید خود را در هدر x-api-key بفرستید (هدر استاندارد Anthropic). فرمت Authorization: Bearer هم به‌عنوان جایگزین پشتیبانی می‌شود.

مدل‌های پشتیبانی‌شده

در این endpoint فقط مدل‌های خانواده‌ی Claude قابل استفاده‌اند (claude-* و t-claude-*). برای سایر مدل‌ها از /v1/chat/completions استفاده کنید.

نمونه cURL (غیر استریم)
نمونه با کتابخانه‌ی رسمی anthropic (Python)
تنظیم Claude Code
مهم: Claude Code به‌صورت پیش‌فرض نام مدل‌های اصلی Anthropic را می‌فرستد که روی این سرویس وجود ندارند. حتماً باید مدل‌ها را با ANTHROPIC_MODEL و ANTHROPIC_SMALL_FAST_MODEL روی شناسه‌های این سرویس تنظیم کنی، وگرنه خطای «مدل پیدا نشد» می‌گیری. با کلید توکنی از شناسه‌های t-دار استفاده کن — مثلاً ANTHROPIC_MODEL=t-claude-opus-5 و ANTHROPIC_SMALL_FAST_MODEL=t-claude-sonnet-5 (توجه: مدل توکنیِ معادلِ claude-sonnet-flash نداریم، پس برای اسلات سریعِ کلید توکنی از t-claude-sonnet-5 استفاده کن).
bash

یا در فایل ~/.claude/settings.json:

json

ANTHROPIC_MODEL مدل اصلی و ANTHROPIC_SMALL_FAST_MODEL مدل سبک برای کارهای پس‌زمینه است. می‌توانی به‌جای claude-opus-5 هر مدل دیگری از لیست مدل‌ها بگذاری (با کلید توکنی: t-claude-opus-5 و t-claude-sonnet-5).

قابلیت‌های پشتیبانی‌شده
قابلیتوضعیت
پاسخ متنی (chat)پشتیبانی می‌شود
Streaming (SSE)پشتیبانی می‌شود
Tool Use / Function Callingپشتیبانی می‌شود
Extended Thinkingپشتیبانی می‌شود
ورودی تصویر (Vision)passthrough
System prompt (فیلد system)پشتیبانی می‌شود
نکات مهم
  • پارامتر max_tokens در فرمت Anthropic اجباری است.
  • خطاها در فرمت استاندارد Anthropic برمی‌گردند ({"type":"error","error":{...}}) و کتابخانه‌ی رسمی آن‌ها را به exception تبدیل می‌کند.
  • شمارش quota دقیقاً مثل فرمت OpenAI است: هر درخواست موفق ۱ ریکوست (در پلن‌های ریکوستی) یا تعداد توکن واقعی (در پلن‌های توکنی).
  • در پلن‌های توکنی، تعداد توکن از فیلدهای input_tokens و output_tokens پاسخ کسر می‌شود.
  • کلید API شما بین هر دو فرمت مشترک است؛ نیازی به کلید جداگانه نیست.
نمونه‌های کامل

چند نمونه‌ی آماده‌ی دیگر برای شروع سریع در محیط‌های مختلف.

LangChain (Python)
python
fetch مستقیم (JS)
javascript
LiteLLM (Python)
python
Hermes Agent

Hermes Agent از پروایدرهای سازگار با OpenAI پشتیبانی می‌کند. دو روش برای اضافه کردن Sinox وجود دارد.

روش ۱ — از طریق config.yaml
فایل ~/.hermes/config.yaml

این تنظیمات را اضافه یا جایگزین کنید:

yaml
روش ۲ — دستور hermes config
bash
نکته مهم
بعد از تغییر config، اگر Hermes در حال اجراست باید ری‌استارت شود تا تنظیمات اعمال شوند.
تنظیم subagent جداگانه
bash
OpenRouter

در OpenRouter می‌توانید این API را به‌عنوان یک پروایدر سفارشی تعریف کنید.

در تنظیمات OpenRouter

به openrouter.ai/settings/integrations بروید و یک Custom Provider اضافه کنید:

فیلدمقدار
Base URLدر حال بارگذاری…
API KeyYOUR_KEY
FormatOpenAI
استفاده در کد با OpenRouter SDK
SillyTavern

SillyTavern از OpenAI-compatible API پشتیبانی کاملی دارد.

مراحل اتصال
  1. در SillyTavern بروید به API Connections
  2. نوع API را روی Chat Completion بگذارید
  3. سورس را روی OpenAI بگذارید
  4. در فیلد Custom Endpoint (Base URL) آدرس زیر را وارد کنید:
  1. در فیلد API Key کلید خودتان را وارد کنید
  2. روی Connect کلیک کنید — مدل‌ها به‌صورت خودکار لود می‌شوند
تنظیم مدل
بعد از اتصال، در منوی Model یکی از مدل‌های لیست‌شده را انتخاب کنید.
NextChat (ChatGPT-Next-Web)

NextChat از custom endpoint پشتیبانی می‌کند.

تنظیمات در رابط کاربری
  1. وارد NextChat شوید و روی آیکون تنظیمات کلیک کنید
  2. در بخش OpenAI API Key کلید API خودتان را وارد کنید
  3. در فیلد API Host / Custom Endpoint آدرس زیر را وارد کنید:
توجه
در NextChat فقط Base URL بدون /v1 وارد کنید — برنامه خودش /v1 را اضافه می‌کند.
LangChain / LlamaIndex
کدهای خطا
کدمعناراه‌حل
200درخواست موفقکاری لازم نیست.
400پارامتر نامعتبر یا ناقص (model/messages جا افتاده، یا پرامپت خیلی بلند)بدنهٔ درخواست را با نمونه‌های همین صفحه تطبیق دهید.
401API key اشتباه یا منقضیکلید را از داشبورد بررسی کنید؛ پیشوند Bearer جا نیفتاده باشد.
402سهمیهٔ پکیج تمام/منقضی، یا ناسازگاری نوع کلید با مدل (billing_type_mismatch)پکیج را تمدید کنید؛ و کلید ریکوستی را با مدل ریکوستی و کلید توکنی را با مدل t-دار به‌کار ببرید.
403دسترسی ممنوعبا پشتیبانی تماس بگیرید.
404مدل پیدا نشد (model_not_found)شناسهٔ مدل را از لیست مدل‌ها بردارید؛ با کلید توکنی پیشوند t- را فراموش نکنید.
429عبور از محدودیت نرخ درخواستتعداد درخواست در دقیقه را کم کنید و با عقب‌نشینی نمایی دوباره تلاش کنید.
503مدل موقتاً در دسترس نیست (همهٔ مسیرها ناموفق) — در فرمت Anthropic کد 529چند ثانیه صبر کنید و دوباره امتحان کنید.
محدودیت نرخ
هر کلید API به‌طور پیش‌فرض تا حدود ۶۰ درخواست در دقیقه و هر آدرس IP تا حدود ۱۲۰ درخواست در دقیقه می‌تواند بزند؛ عبور از این حد پاسخ 429 می‌دهد (این‌ها فقط محافظ burst‌اند، ربطی به سهمیهٔ پکیج ندارند). دقت کن ۴۲۹ با 402 فرق دارد: ۴۲۹ یعنی «خیلی سریع زدی، کمی آهسته‌تر»، ولی ۴۰۲ یعنی «سهمیهٔ پکیجت تمام شده، تمدید کن».
سوالات متداول
با OpenAI SDK سازگار است؟

بله — فقط base_url را عوض کنید. هیچ تغییر دیگری لازم نیست.

Function Calling پشتیبانی می‌شود؟

بله، در صورتی که مدل انتخابی از آن پشتیبانی کند.

Vision (تصویر) چطور؟

مدل‌های vision از آرایه‌ی content با image_url پشتیبانی می‌کنند — دقیقاً مثل OpenAI.

API key را کجا نگه دارم؟