احراز هویت
کلید با پیشوند lnx_live_ یا lnx_dev_ را در هدر Authorization: Bearer ارسال کنید. کلید فقط یک بار نمایش داده میشود و تنها هش SHA-256 آن ذخیره میشود. هر کلید به یک پروژه و یک منبع مصرف وابسته است.
مدیریت کلیدهای APIpacing_limits
فقط از شمارنده ماهانه، ۵ ساعته و هفتگی طرح خریداریشده PLUS، PRO یا MAX کسر میکند. طرح آزمایشی دعوت به این منبع دسترسی نمیدهد. هدیه یا کیف پول جایگزین نمیشود.
token_pool
فقط از مخزن هدیه دعوت فعال LaunchTrialGrant کسر میکند، حتی پس از خرید طرح. هدیه ناموجود، منقضی، لغوشده یا تمامشده پاسخ 429 میدهد. از طرح یا کیف پول استفاده نمیشود.
تکمیل چت
POST /api/v1/chat/completionsاز مدل lunax-chat و messages با نقش system، user یا assistant و محتوای متنی استفاده کنید. max_tokens بین ۱ تا ۸۱۹۲ (پیشفرض ۱۰۲۴)، temperature بین ۰ تا ۲ و stream (پیشفرض false) اختیاری هستند. این نام مستعار به مدل فعال تنظیمشده توسط اپراتور وصل میشود؛ شناسه دلخواه مدل پذیرفته نمیشود. حالت جریان، رویدادهای SSE با قالب chat.completion.chunk و پایان [DONE] میدهد. برای دریافت مصرف، stream_options.include_usage را true کنید.
curl https://lunax.ir/api/v1/chat/completions \
-H "Authorization: Bearer $LUNAX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"lunax-chat","messages":[{"role":"user","content":"Hello"}],"max_tokens":1024,"stream":false}'مدیریت کلید در مرورگر
این مسیرها به نشست فعال داشبورد و محافظت CSRF برای تغییرات نیاز دارند؛ کلید Bearer مدل زبانی کافی نیست. درخواست POST شامل name، projectId، billingScope، environment (live/dev) و expiresInDays (۱ تا ۳۶۵) است. فقط مالک یا عضو پروژه میتواند کلید بسازد. انقضای پیشفرض ۹۰ روز و سقف هر حساب ۲۰ کلید فعال است. DELETE کلید را لغو میکند.
- GET /api/user/api-keys
- POST /api/user/api-keys
- DELETE /api/user/api-keys/{keyId}
خطاها و محدودیت سهمیه
401: کلید نامعتبر، منقضی یا لغوشده یا حساب غیرفعال. 403: کلید بدون مجوز مصرف مدل زبانی. 404: دسترسی پروژه حذف شده. 400: قالب نامعتبر یا متن بیش از ظرفیت مدل. 413: درخواست بیش از ۶۴ کیلوبایت. 429: سهمیه انتخابی در دسترس نیست، همراه Retry-After. خطای سرویس مدل یا تنظیمات با 502/503 پاسخ داده میشود. کلید توسعه نیز توکن واقعی را با همان سیاست مصرف میکند.
پیش از اجرا، سقف محافظهکارانه بایتهای UTF-8 متن بهعلاوه max_tokens رزرو میشود. سپس مصرف واقعی ورودی و خروجی ثبت و بخش استفادهنشده آزاد میشود. اگر کل رزرو جا نشود پاسخ 429 میگیرید؛ max_tokens یا حجم متن را کم کنید. اگر درخواست بدون جریان پیش از مشخص شدن مصرف شکست بخورد، رزرو برای بررسی اپراتور باقی میماند. در جریان قطعشده، تسویه با مصرف اندازهگیریشده و در نبود آن با تخمین محدود انجام میشود؛ شکست تسویه میتواند رزرو را باقی بگذارد.