مستندات API

مستندات API پی جینگو

یک کلید، همه مدل ها. API پی جینگو با [OI] سازگار است؛ فقط base_url را عوض کنید و با کیف پول تومانی پرداخت کنید.

Base URLhttps://payjingo.com/api/v1
ساخت کلید APIopenapi.json

شروع سریع

کلید را از داشبورد بگیرید، یکی از نمونه ها را اجرا کنید.

python
from openai import [OI]

client = [OI](
    base_url="https://payjingo.com/api/v1",
    api_key="sk-payjingo-...",
)

resp = client.chat.completions.create(
    model="",
    messages=[{"role": "user", "content": "سلام! خودت را معرفی کن."}],
)
print(resp.choices[0].message.content)
print(resp.usage)  # توکن های مصرفی

احراز هویت

کلید را در هدر Authorization بفرستید؛ هرگز آن را در کد سمت کلاینت قرار ندهید.

  • هدر Authorization: Bearer sk-payjingo-....
  • کلید فقط یک بار هنگام ساخت نمایش داده می شود؛ آن را در متغیر محیطی نگه دارید.
  • هر کلید می تواند بودجه ماهانه، تاریخ انقضا، سقف RPM/TPM و لیست مدل های مجاز داشته باشد.
  • هزینه از کیف پول حساب شما کسر می شود؛ پیش از هر درخواست موجودی رزرو و بعد از پاسخ بر اساس usage واقعی تسویه می شود.

Endpointها

همه مسیرها زیر base_url قرار می گیرند.

  • POST/chat/completionsچت سازگار با [OI]؛ streaming، tools، json_mode، reasoning_effort
  • GET/modelsفهرست مدل های در دسترس این کلید
  • POST/embeddingsبرداری کردن متن (embedding)
  • POST/images/generationsتولید تصویر
  • POST/messagesپاسخ متنی ([OI] Messages API)
  • POST/responsesپاسخ متنی ([OI] Responses API)
  • POST/audio/speechتبدیل متن به گفتار (TTS)
  • POST/audio/transcriptionsتبدیل گفتار به متن (STT)
  • POST/audio/voice-changerتغییر صدا
  • GET/openapi.jsonمشخصات OpenAPI 3.1

Streaming و usage

با stream: true پاسخ به صورت SSE می آید و در chunk آخر usage گزارش می شود.

json
data: {"id":"chatcmpl-...","choices":[{"delta":{"content":"سلام"}}]}
data: {"id":"chatcmpl-...","choices":[],"usage":{"prompt_tokens":21,"completion_tokens":48,"total_tokens":69,
  "prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":0}}}
data: [DONE]

توکن های reasoning مدل های استدلالی به عنوان خروجی محاسبه می شوند. توکن های cached با تعرفه کش (معمولاً ارزان تر) حساب می شوند.

قیمت گذاری

قیمت هر مدل به تومان و به ازای یک میلیون توکن است و در صفحه قیمت ها قابل مشاهده است.

json
{
  "id": "",
  "vendor": "anthropic",
  "context_window": 200000,
  "max_output_tokens": 64000,
  "capabilities": ["streaming","tools","vision","cache","json_mode","reasoning"],
  "pricing": { "unit": "per_million_tokens", "currency": "IRT",
               "input": 17201, "output": 68804, "cache_read": 17201 }
}

هزینه هر درخواست = (ورودی × نرخ ورودی + خروجی × نرخ خروجی + کش × نرخ کش) ÷ ۱٬۰۰۰٬۰۰۰
جدول کامل در صفحه قیمت ها.

محدودیت ها

سقف ها در سطح کلید تعریف می شوند و از داشبورد قابل تغییرند.

  • محدودیت پیش فرض هر کلید بر اساس RPM و TPM است؛ عبور از آن 429 PJ_RATE_LIMITED برمی گرداند.
  • حداکثر زمان انتظار برای پاسخ مدل ۱۲۰ ثانیه است؛ برای خروجی های طولانی از stream استفاده کنید.
  • خطاهای موقت بالادست (503) به طور خودکار تا ۲ بار با backoff تلاش مجدد می شوند.
  • هر مدل روی هر ارائه دهنده یک circuit breaker دارد: اگر در ۶۰ ثانیه ۵ خطای 5xx رخ دهد، مسیر ۳۰ ثانیه بسته می شود و درخواست ها به ارائه دهنده جایگزین همان مدل (failover) هدایت می شوند. قیمت همان قیمت مدل درخواستی است. اگر هیچ مسیری در دسترس نباشد 503 PJ_MODEL_UNAVAILABLE با هدر Retry-After برمی گردد.

Idempotency-Key

برای درخواست های non-stream، تکرار ایمن بدون شارژ مجدد.

  • هدر Idempotency-Key (۱ تا ۲۵۵ کاراکتر، مثلاً UUID) را به /chat/completions بفرستید.
  • اگر پاسخ 2xx قبلاً برای همین کلید ذخیره شده باشد، تا ۲۴ ساعت همان پاسخ بدون تماس با مدل و بدون کسر هزینه برمی گردد؛ هدرهای Idempotent-Replayed: true و X-Original-Request-ID اضافه می شوند.
  • درخواست هم زمان با همان کلید → 409 idempotency_in_progress؛ همان کلید با بدنه متفاوت → 422 idempotency_key_reused؛ کلید خالی یا بلندتر از ۲۵۵ کاراکتر → 400 invalid_idempotency_key.
  • پاسخ های خطا ذخیره نمی شوند؛ پس تلاش مجدد با همان کلید بعد از خطا مجاز است. در حالت stream: true این هدر نادیده گرفته می شود.
bash
curl https://payjingo.com/api/v1/chat/completions \
  -H "Authorization: Bearer $PAYJINGO_API_KEY" \
  -H "Idempotency-Key: 5f1c2e9a-7b3d-4c1e-9a2f-0d8e6b4a1c33" \
  -H "Content-Type: application/json" \
  -d '{"model":"","messages":[{"role":"user","content":"سلام"}]}'

کدهای خطا

همه خطاها با ساختار { error: { message, type, code, param, request_id } } برمی گردند.

کدHTTPمعنیراه حل
PJ_INVALID_API_KEY401کلید نامعتبر یا غیرفعالهدر Authorization را بررسی کنید
PJ_MODEL_NOT_ALLOWED403کلید به این مدل دسترسی نداردمدل های مجاز کلید را ویرایش کنید
PJ_INSUFFICIENT_BALANCE429موجودی کیف پول کافی نیستکیف پول را شارژ کنید
PJ_MONTHLY_BUDGET_EXCEEDED429سقف مصرف ماهانه کلید تمام شدهسقف کلید را در داشبورد افزایش دهید
PJ_RATE_LIMITED429محدودیت RPM/TPMبا backoff تلاش کنید؛ هدر Retry-After را رعایت کنید
PJ_UPSTREAM_RATE_LIMITED429محدودیت موقت سرویس دهنده بالادستکمی صبر کنید و دوباره تلاش کنید
PJ_INVALID_REQUEST400بدنه یا درخواست نامعتبرساختار messages/پارامترها را بررسی کنید
PJ_CONTEXT_TOO_LARGE400ورودی بزرگ تر از پنجره مدلمتن را کوتاه کنید یا مدل با context بزرگ تر انتخاب کنید
PJ_MODEL_UNAVAILABLE503همه مسیرهای این مدل موقتاً بسته اند (circuit breaker)بعد از Retry-After تلاش کنید یا مدل دیگری انتخاب کنید
PJ_UPSTREAM_TIMEOUT504مدل پاسخ نداد (timeout)قابل تلاش مجدد
PJ_INTERNAL_ERROR500خطای داخلی سرویسبعداً دوباره تلاش کنید
idempotency_in_progress409درخواستی با همین Idempotency-Key در حال پردازش استکمی صبر کنید و همان درخواست را تکرار کنید
idempotency_key_reused422Idempotency-Key با بدنه متفاوت استفاده شدهبرای هر درخواست جدید کلید یکتا بسازید
invalid_idempotency_key400Idempotency-Key باید ۱ تا ۲۵۵ کاراکتر باشدطول کلید را اصلاح کنید

ابزارها و IDEها

در هر ابزار سازگار با [OI] فقط base URL و کلید را جایگزین کنید.

Cursor

Settings → Models → [OI] API Key → Override base URL

https://payjingo.com/api/v1

Cline / Roo Code

API Provider: [OI] Compatible → Base URL

https://payjingo.com/api/v1

Continue.dev

config.json → provider: "openai", apiBase

https://payjingo.com/api/v1

Open WebUI

Admin → Connections → [OI] API → URL

https://payjingo.com/api/v1

LangChain / LlamaIndex

Chat[OI](base_url=..., api_key=...)

https://payjingo.com/api/v1

آمادهٔ اولین درخواست هستید؟

کیف پول را شارژ کنید، یک کلید بسازید و همان نمونهٔ بالا را اجرا کنید.

مستندات API هوش مصنوعی پی جینگو | سازگار با OpenAI و Anthropic | پی جینگو