شروع سریع

در سه قدم اولین درخواستتان را بفرستید: یک توکن بسازید، آدرس پایه را تنظیم کنید، درخواست بزنید. اگر با کلاینت‌های OpenAI کار کرده‌اید، چیزی برای یادگیری ندارید.

curl https://api.heroai.ir/v1/chat/completions \
  -H "Authorization: Bearer hero_sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet",
    "messages": [{"role": "user", "content": "سلام!"}]
  }'
from openai import OpenAI

client = OpenAI(base_url="https://api.heroai.ir/v1", api_key="hero_sk_...")

res = client.chat.completions.create(
    model="claude-sonnet",
    messages=[{"role": "user", "content": "سلام!"}]
)
print(res.choices[0].message.content)
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.heroai.ir/v1",
  apiKey: process.env.HERO_API_KEY
});

const res = await client.chat.completions.create({
  model: "claude-sonnet",
  messages: [{ role: "user", content: "سلام!" }]
});

احراز هویت

هر درخواست باید هدر Authorization با توکن شما داشته باشد. توکن‌ها از بخش «توکن‌های API» در پنل ساخته می‌شوند و بعد از ساخت فقط یک بار کامل نمایش داده می‌شوند.

Authorization: Bearer hero_sk_9f2c...a41d

آدرس پایه

https://api.heroai.ir/v1

تکمیل چت

POST /v1/chat/completions — پارامترهای اصلی:

پارامترنوعتوضیح
modelstringشناسه مدل، مثلاً claude-sonnet
messagesarrayتاریخچه گفتگو با نقش‌های user/assistant/system
streambooleanدریافت پاسخ به‌صورت جریانی
max_tokensintegerسقف طول پاسخ
temperaturenumberمیزان خلاقیت خروجی بین ۰ تا ۲

تولید تصویر

POST /v1/images/generations
{
  "model": "flux",
  "prompt": "a persian garden at sunset",
  "size": "1024x1024",
  "n": 2
}

گفتار و صوت

تبدیل گفتار به متن با POST /v1/audio/transcriptions و تبدیل متن به گفتار با POST /v1/audio/speech انجام می‌شود.

گزارش مصرف

هر پاسخ یک فیلد usage دارد که تعداد توکن کسرشده از کیف پول را برمی‌گرداند:

{
  "usage": { "prompt_tokens": 34, "completion_tokens": 128, "wallet_tokens": 162 }
}

کدهای خطا

کدمعنیچه کاری کنید
401توکن نامعتبر یا غیرفعالتوکن را از پنل بررسی یا بازسازی کنید
402اعتبار کیف پول کافی نیستکیف پول را شارژ کنید
404شناسه مدل پیدا نشدنام مدل را با فهرست مدل‌ها تطبیق دهید
429عبور از سقف نرخ درخواستبا تأخیر تصاعدی دوباره تلاش کنید
503مدل موقتاً در دسترس نیستوضعیت مدل را در صفحه وضعیت سرویس ببینید

محدودیت نرخ

پیش‌فرض هر توکن ۶۰ درخواست در دقیقه است. سقف باقی‌مانده در هدر پاسخ برمی‌گردد:

X-RateLimit-Remaining: 47
X-RateLimit-Reset: 34