شروع در ۶۰ ثانیه
Sinox یک API سازگار با OpenAI و Anthropic است. هر کدی که با آنها کار میکند، با Sinox هم کار میکند — فقط آدرس سرور و کلید را عوض کنید. سه قدم:
- کلید بگیرید: داشبورد ← کلیدهای API ← «کلید جدید».
- آدرس سرور را بگذارید:
https://sinoxapi.com/v1(دقت کنید: با/v1). - یک مدل انتخاب کنید از داشبورد ← مدلها و اولین درخواست را بزنید:
Base URL — آدرس سرور
این تنها جایی است که بیشترین اشتباه رخ میدهد، پس دقیق بخوانید. آدرس بسته به کتابخانهای که استفاده میکنید فرق دارد:
https://sinoxapi.com/v1/v1 در انتها. کتابخانه خودش /chat/completions را اضافه میکند.https://sinoxapi.com/v1. این کتابخانه خودش /v1/messages را اضافه میکند.base_url="https://sinoxapi.com"در OpenAI SDK → خطای 404base_url="https://sinoxapi.com/v1"درستANTHROPIC_BASE_URL=https://sinoxapi.com/v1در Claude Code → مسیر /v1/v1/messages میشودANTHROPIC_BASE_URL=https://sinoxapi.comدرستاگر مطمئن نیستید، مسیر کامل را تست کنید — این دو آدرسِ نهاییاند که سرور میشنود:
کلید API
کلید را از داشبورد ← کلیدهای API بسازید. موقع ساخت، نوع کلید را انتخاب میکنید (ریکوستی یا توکنی — همان نوعِ پکیجی که خریدهاید). کلید فقط یکبار نمایش داده میشود؛ همان لحظه کپی کنید.
کلید در هدر میرود — کتابخانهها خودشان این را میگذارند:
SINOX_API_KEY.شناسهی مدلها
هر مدل دو شناسه دارد و باید با نوع کلیدتان یکی باشد:
claude-sonnet-5بدون پیشوند — هر درخواست = ۱ واحدt-claude-sonnet-5با پیشوند t- — بر اساس توکنجابهجا بفرستید، خطای billing_type_mismatch (402) میگیرید. سادهترین راه: داشبورد ← مدلها، نوع پلن را انتخاب و شناسه را کپی کنید. یا از API:
فهرست فعلی مدلهای فعال (زنده):
| شناسه مدل | نام |
|---|---|
| در حال بارگذاری فهرست مدلها… | |
فرمت OpenAI — Chat Completions
دقیقاً همان فرمت OpenAI. پارامترهایی که واقعاً لازم دارید:
| پارامتر | نوع | توضیح |
|---|---|---|
model الزامی | string | شناسهی مدل، همنوع با کلید (بالا) |
messages الزامی | array | آرایهی {role, content}؛ نقشها: system، user، assistant، tool |
stream | boolean | پاسخ تکهتکه (SSE) — Streaming |
max_tokens | integer | سقف خروجی. بیشتر از ۱۶٬۰۰۰ بفرستید، بیصدا به ۱۶٬۰۰۰ محدود میشود (برای حسابهای سازمانی سقف اختصاصی قابل تنظیم است). |
temperature | float | ۰ تا ۲ — پیشفرض ۱ |
tools / tool_choice | array | Function calling طبق استاندارد OpenAI — پشتیبانی میشود |
response_format | object | مثلاً {"type":"json_object"} — به مدل پاس داده میشود |
سایر پارامترهای استاندارد OpenAI (top_p، stop، presence_penalty…) عیناً به مدل پاس داده میشوند.
شکل پاسخ
Streaming — پاسخ تکهتکه
stream: true بگذارید؛ پاسخ بهصورت SSE (data: …) میآید و با data: [DONE] تمام میشود. کتابخانهها خودشان پارس میکنند:
• آخرین چانک،
usage را هم دارد.• برای درخواستهای خیلی بزرگ، اولین بایت ممکن است تا ~۲ دقیقه طول بکشد (زمان آمادهسازی کانتکست) — تایماوت کلاینت را کم نگذارید.
فرمت Anthropic (Claude)
برای ابزارهایی که «Anthropic‑native» هستند (Claude Code، Anthropic SDK). فقط مدلهای claude-* از این مسیر قابل استفادهاند. یادآوری: اینجا Base URL بدون /v1 است.
Streaming، system، tools، tool_result و بلاکهای thinking همگی پشتیبانی میشوند — دقیقاً مثل Anthropic.
Claude Code
سه متغیر محیطی کافی است. چون Claude Code در هر مرحله کانتکست بزرگی میفرستد، پکیج ریکوستی بهصرفهتر است (هر درخواست یک واحد، فارغ از طول). اگر کلیدتان توکنی است، شناسهی مدل را با پیشوند t- بگذارید.
https://sinoxapi.comYOUR_API_KEYclaude-sonnet-5/v1 است.claude logout بزنید یا ANTHROPIC_API_KEY قدیمی را پاک کنید.settings.json مقدار "autoCompactWindow": 400000 بگذارید (یا متغیر CLAUDE_CODE_AUTO_COMPACT_WINDOW=400000) تا کامپکت قبل از سقف انجام شود. اگر جلسهای همین حالا به سقف خورده، /compact هم جواب نمیدهد (کل تاریخچه را میفرستد): با /export گفتگو را ذخیره و با /clear جلسهی تازه شروع کنید و از مدل بخواهید بخش آخر فایل را بخواند.Cursor
Free plans can only use Auto میگیرید، از سمت Sinox نیست؛ یا Cursor Pro بگیرید یا از Cline / Roo Code / Continue (داخل خودِ Cursor یا VS Code، رایگان و با همهی مدلها) یا Claude Code استفاده کنید.Settings ← Models ← بخش OpenAI API Key:
YOUR_API_KEYhttps://sinoxapi.com/v1claude-sonnet-5Cline / Continue / Roo Code
در همهی این افزونهها یک Provider از نوع OpenAI Compatible بسازید:
OpenAI Compatiblehttps://sinoxapi.com/v1YOUR_API_KEYclaude-sonnet-5OpenAI SDK (Python / JS)
همان کدِ بخش شروع. فقط دو خط فرق دارد: base_url و api_key. برای متغیر محیطی:
مدل تصمیمگیری Jev — /v1/decisions
Jev مدل چت نیست. یک «وضعیت» (state) میگیرد و به چند سؤالِ تایپشده با احتمال جواب میدهد: noul (بله/خیر با احتمال ۰ تا ۱)، choice (انتخاب از چند گزینه با احتمال هر گزینه) و score (یک سطح از یک مقیاس مرتب). مناسب مسیریابی تیکت، دستهبندی، فیلتر و گیتهای تصمیم داخل نرمافزار؛ پاسخ در کسری از ثانیه میآید و JSON آماده است، بدون پرامپتنویسی و پارس کردن.
شناسهی مدل: jev-1.13 برای کلید ریکوستی (هر فراخوانی یک ریکوست) و t-jev-1.13 برای کلید توکنی (فقط نصفِ توکنهای ورودی از سهمیه کم میشود؛ خروجی رایگان است). چند سؤال در یک درخواست، همزمان روی همان state جواب داده میشود. حداکثر کانتکست ۳۲ هزار توکن.
نمونهی پاسخ:
state میتواند رشته، آبجکت یا آرایه باشد (مثلاً کل رکورد سفارش). criteria در choice آبجکتِ گزینه→توضیح، در score آرایهی سطحها از کم به زیاد (۲ تا ۱۰ سطح)، و در noul اختیاری است ({"true": "…", "false": "…"}). این مدل روی /v1/chat/completions کار نمیکند و خطای راهنما میدهد.
LangChain / LlamaIndex / LiteLLM
SillyTavern / NextChat / Open WebUI
Chat Completion → Custom (OpenAI-compatible)https://sinoxapi.com/v1YOUR_API_KEYclaude-sonnet-5https://sinoxapi.comYOUR_API_KEYclaude-sonnet-5,claude-opus-5/v1 را اضافه میکند — اینجا بدون /v1.https://sinoxapi.com/v1YOUR_API_KEYHermes Agent
provider: custom (گزینهی «Custom endpoint» در hermes model) را انتخاب کنید؛ گزینهی «OpenAI» به مسیر /v1/responses میرود و ۴۰۴ میگیرد. بعد از تغییر تنظیمات، Hermes را ریاستارت کنید.OpenCode
OpenCode ایجنت کدنویسی متنباز است و چهار شکل دارد: ترمینال، برنامهٔ دسکتاپ (ویندوز، مک، لینوکس)، افزونهٔ VS Code / Cursor / Windsurf و رابط وب محلی (opencode web)؛ همه از یک فایل تنظیمات میخوانند. دو نسل زندهاند: نسخهٔ ۲ (بستهٔ @opencode/cli) و نسخهٔ ۱ (بستهٔ opencode-ai) که نام کلیدهای فایلشان فرق دارد؛ با opencode --version نسخه را ببینید. راهنمای قدمبهقدم هر چهار شکل برای هر سیستمعامل در پنل، بخش «اتصال به برنامهها» است. چون در هر مرحله کل گفتگو را دوباره میفرستد، پکیج ریکوستی بهصرفهتر است (هر درخواست یک واحد، فارغ از طول). با کلید توکنی، شناسهها را با پیشوند t- بنویسید.
@opencode/ai/providers/openai-compatible@ai-sdk/openai-compatiblehttps://sinoxapi.com/v1YOUR_API_KEYsinox/claude-sonnet-5.5~/.config/opencode/opencode.json (ویندوز: C:\Users\USERNAME\.config\opencode\opencode.json) — یا opencode.json داخل پوشهی پروژه. هر مدلی که میخواهید در /models ببینید باید داخل بخش models نوشته شود.apiKey را بردارید، کنار name بنویسید "env": ["SINOX_API_KEY"] و متغیر محیطی SINOX_API_KEY را با کلید تنظیم کنید. نسخهٔ ۱: داخل OpenCode دستور /connect → گزینهی Other → شناسهی Provider را sinox بگذارید → کلید را Paste کنید و فایل را بدون خط apiKey بسازید. در حالت Anthropic هم baseURL همان /v1 است (برخلاف Claude Code). بعد از هر تغییر در فایل، OpenCode (ترمینال یا برنامهٔ دسکتاپ) را ببندید و دوباره باز کنید.models ننوشتهاید، یا JSON ایراد نگارشی دارد (کامای جاافتاده). با opencode models در ترمینال باید خطهایی مثل sinox/claude-sonnet-5.5 چاپ شود. خطای 404 → baseURL بدون /v1 یا شناسهی مدل غلط؛ billing_type_mismatch → کلید توکنی با شناسهی بدون t- (یا برعکس).افزونهی وردپرس Sinox AI
افزونهی Sinox AI تولید مقاله، متای سئو (Rank Math / Yoast) و alt تصاویر را مستقیم داخل وردپرس انجام میدهد. نسخهی اول در حال آمادهسازی است؛ این بخش با انتشار افزونه کامل میشود.
هاست شما به Sinox وصل نمیشود؟ اگر «بررسی اتصال» افزونه خطای cURL 7/28 یا DNS داد، هاست دسترسی خروجی HTTPS به sinoxapi.com را بسته است. اول آدرس داخلی https://sinox.babaii.ir را در تنظیمات افزونه امتحان کنید؛ اگر باز هم نشد، این متن را برای پشتیبانی هاست بفرستید: «لطفاً دسترسی خروجی HTTPS (پورت 443) از سایت من به دامنههای sinoxapi.com و sinox.babaii.ir را باز کنید.»
برای توسعهدهندگان — همان جریان اتصال را هر افزونه یا اپ دیگری هم میتواند استفاده کند:
تغییرات افزونهی وردپرس
فهرست کامل تغییرات هر نسخه در فایل readme.txt داخل افزونه و در تب «پیشرفته» → «درباره» خود افزونه نمایش داده میشود. آخرین نسخه: ۱.۳.۱ — embeddings با هر دو نوع کلید (یکدهم قیمت)، ایدهها و پیشنهاد عنوان، تخمین هزینه و بازبینی سرفصلها قبل از نوشتن، بازبینی هوشمند محتوا، ویراستاری فارسی، پروفایل برند و قالبهای پرامپت، دسترسی نقشها و سقف روزانه، اعلان و گزارش ماهانه، تنظیمات تببندیشده، بهروزرسانی خودکار از sinoxapi.com. دانلود: sinox-ai-1.3.0.zip · صفحهی معرفی: /wordpress
نحوهی شمارش مصرف
توکن ورودی = کلِ چیزی که در هر درخواست میفرستید: پیامها، system، تعریف ابزارها و نتیجهی ابزارها (tool_result). ابزارهای agentic (مثل Claude Code) در هر مرحله کلِ گفتگو را دوباره میفرستند؛ به همین دلیل مصرفشان زیاد است — این رفتار خودِ ابزار است، نه Sinox.
توکن خروجی = متنی که مدل تولید کرده (شامل بلاکهای thinking و tool_use). اگر وسط streaming قطع کنید، فقط همان مقدارِ دریافتشده حساب میشود.
شمارش سمت Sinox و مستقل از سرور بالادستی انجام میشود؛ مقدار دقیق هر درخواست را در داشبورد ← لاگ مصرف میبینید. مقدار usage در پاسخ، برای اطلاع شماست.
•
max_tokens را متناسب با نیاز بگذارید.• برای کارهای ساده مدل ارزانتر انتخاب کنید (Flash / Mini).
سقفها و محدودیتها
| مورد | مقدار |
|---|---|
حداکثر max_tokens | ۱۶٬۰۰۰ (مقدار بیشتر بیصدا محدود میشود؛ حسابهای سازمانی میتوانند سقف اختصاصی داشته باشند) |
| حداکثر اندازهی ورودی | حدود ۴۰۰٬۰۰۰ کاراکتر متن — بیشتر از آن خطای 400 |
| تایماوت اولین بایت | ۲۰ ثانیه برای درخواستهای عادی تا ۱۵۰ ثانیه برای ورودیهای خیلی بزرگ؛ پس از آن بهطور خودکار مسیر جایگزین امتحان میشود |
| تایماوت کل | ۱۸۰ ثانیه سکوت در streaming / ۱۲۰ ثانیه بدون stream |
| تعداد کلید فعال هر حساب | ۲۰ |
| سقف اختیاری هر کلید | قابل تنظیم موقع ساخت کلید (رکوست یا توکن)؛ با رسیدن به سقف، خطای 402 با کد key_limit_reached |
کدهای خطا و راهحل
خطاها به فرمت استاندارد برمیگردند ({"error":{"message","type","code"}} برای OpenAI و {"type":"error","error":{…}} برای Anthropic). پیامها فارسی و راهنما هستند.
| کد | یعنی | چه کنم؟ |
|---|---|---|
| 401 | کلید نامعتبر یا حذفشده | کلید را از داشبورد چک کنید؛ پیشوند Bearer جا نیفتاده باشد؛ کلید با فاصله/خط جدید کپی نشده باشد. |
| 402 | سهمیه تمام/منقضی، یا نوع کلید با مدل نمیخواند (billing_type_mismatch)، یا سقفِ کلید پر شده (key_limit_reached) | پکیج را تمدید کنید؛ شناسهی همنوع با کلید بفرستید (t- برای توکنی)؛ سقف کلید را از داشبورد ریست/ویرایش کنید. |
| 400 | پارامتر نامعتبر یا ورودی خیلی بزرگ | model، messages و (در فرمت Anthropic) max_tokens را چک کنید؛ متن را کوتاه کنید. |
| 404 | مدل وجود ندارد، یا مسیر اشتباه است | شناسه را از داشبورد ← مدلها کپی کنید. اگر کلِ درخواست 404 است، تقریباً همیشه Base URL بدون /v1 است. |
| 429 | درخواستهای همزمان زیاد | کمی صبر کنید و با backoff نمایی دوباره بفرستید. |
| 503 / 504 / 529 | همهی مسیرهای مدل موقتاً در دسترس نیستند | چند ثانیه بعد دوباره تلاش کنید یا مدل مشابه دیگری بفرستید. برای این خطاها چیزی از سهمیه کم نمیشود. وضعیت زنده: /health |
سوالات متداول
کد قبلیام با OpenAI کار میکرد؛ چی را عوض کنم؟
base_url را https://sinoxapi.com/v1 بگذارید و api_key را کلید Sinox. اسم مدل را هم از داشبورد بردارید.ریکوستی بخرم یا توکنی؟
چرا 404 میگیرم؟
/v1 است (در ابزارهای OpenAI‑سازگار). ۱۰٪ بقیه: شناسهی مدل غلط.چرا billing_type_mismatch؟
t-…؛ کلید ریکوستی ← بدون پیشوند.میتوانم چند کلید داشته باشم؟
آیا Function calling / JSON mode / Vision پشتیبانی میشود؟
tools، response_format، تصویر در content).