Language

مرجع API

apikey.sh با پروتکل OpenAI کار می‌کند. هر SDK، فریم‌ورک یا ابزاری که با OpenAI کار می‌کند، با تغییر base_url اینجا هم کار می‌کند.

شروع سریع

در داشبورد یک کلید بسازید، آن را در یک متغیر محیطی بگذارید و سپس base URL را تنظیم کنید:
from openai import OpenAI

client = OpenAI(
    api_key="sk-ak-...",                  # your key from apikey.sh
    base_url="https://apikey.sh/v1",      # change only this line
)

resp = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)

Base URL

همان کلید API روی همهٔ دامنه‌های زیر کار می‌کند — هرکدام را که خواستید انتخاب کنید.
https://apikey.sh/v1فعال
https://api.onie.net/v1فعال
Anthropic SDK از base URL بدون /v1 استفاده می‌کند (برای مثال https://apikey.sh).

احراز هویت

کلید را در هدر بفرستید:
Authorization: Bearer sk-ak-...

# or, with the Anthropic SDK:
x-api-key: sk-ak-...
کلید فقط یک‌بار هنگام ساخت نمایش داده می‌شود. اگر آن را گم کردید، کلید جدید بسازید و قبلی را باطل کنید — ابطال بلافاصله اعمال می‌شود.

Endpoints

POST/v1/chat/completionsتولید completion (پشتیبانی از SSE streaming و tool calling)
POST/v1/embeddingsساخت embedding برای RAG و جست‌وجوی معنایی
POST/v1/images/generationsتولید تصویر (مدل‌های gpt-image-*)
GET/v1/modelsفهرست مدل‌های در دسترس کلید فعلی

Streaming

برای دریافت زندهٔ توکن‌ها روی SSE، مقدار stream: true را اضافه کنید:
stream = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "Write a short poem"}],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")

Prompt caching

روی مدل‌های پشتیبانی‌شده (خانوادهٔ GPT-5.x) پیشوند تکراری prompt به‌صورت خودکار کش می‌شود و با نرخ کش محاسبه می‌گردد — حدود 90% ارزان‌تر از توکن تازه. لازم نیست چیزی در کد تغییر دهید؛ تعداد توکن‌های کش‌شده را در بخش «مصرف» داشبورد می‌بینید.پاسخ‌ها شامل usage.prompt_tokens_details.cached_tokens هستند تا خودتان بتوانید مطابقت دهید.

محدودیت هر کلید

هر کلید می‌تواند سقف هزینه و فهرست مدل‌های مجاز خودش را داشته باشد. این روشِ امنِ اشتراک کلید بین پروژه‌ها یا هم‌تیمی‌هاست، بدون آنکه کسی بودجه را خالی کند. تنظیم در داشبورد ← کلیدهای API.

کدهای خطا

401کلید نامعتبر، کلید باطل‌شده یا حساب مسدود
402اعتبار تمام شده — در داشبورد شارژ کنید
403این مدل در فهرست مجاز کلید نیست
429از rate limit کلید عبور کردید
5xxخطای ارائه‌دهندهٔ upstream — چند ثانیه بعد دوباره تلاش کنید

مدل‌های در دسترس

37 مدل فعال است. فهرست ماشین‌خوان در GET /v1/models یا /api/models (JSON، بدون نیاز به احراز هویت).