API هوش مصنوعی راهی است که برنامهنویسها با چند خط کد، مدلهایی مثل GPT-5.5، Claude Opus 5.5 یا Grok 4.7 را داخل سایت، اپلیکیشن یا ربات خودشان به کار بگیرند. مشکل همیشگی توسعهدهندههای ایرانی این بوده که OpenAI API در ایران و API کلاد با کارت ارزی و آیپی ایران کار نمیکنند. در این راهنما میبینید API هوشی چطور این مشکل را حل میکند: یک API یکپارچهی سازگار با OpenAI برای همهی مدلها، بهعلاوهی APIهای بومی هر سرویس که با SDK رسمی و فقط با عوضکردن آدرس کار میکنند؛ با کیف پول تومانی و نمونهکد پایتون، جاوااسکریپت، curl و PHP.
API هوش مصنوعی چیست و چه کاربردی دارد؟
API هوش مصنوعی یک نقطهی اتصال اینترنتی است که شما متن (یا تصویر و صدا) را برایش میفرستید و پاسخ مدل را بهصورت JSON میگیرید. هزینه هم بر اساس مقدار مصرف، معمولاً تعداد توکن، حساب میشود.
تفاوتش با نسخهی چت این است که خودتان کنترل کامل دارید: پیام سیستمی، دما، طول پاسخ، فراخوانی ابزار (Function Calling) و ترکیب با پایگاه دادهی خودتان. چند کاربرد رایج:
چتبات پشتیبانی که به سؤالات مشتریها از روی مستندات شما جواب میدهد.
تولید و خلاصهسازی محتوا مثل توضیح محصول، خلاصهی گزارش و ترجمه.
طبقهبندی و استخراج داده از فرمها، نظرات و ایمیلها.
دستیار برنامهنویسی و عاملهای خودکار که چند مرحله کار را انجام میدهند.
صدا و تصویر: تبدیل متن به گفتار، تبدیل گفتار به متن و ساخت تصویر.
با API هوش مصنوعی، مدلهای زبانی بزرگ را مستقیم در کد خودتان به کار میگیرید.
دو سبک API هوشی: یکپارچه و بومی
هوشی دو راه برای اتصال دارد: API یکپارچه که با یک فرمت (فرمت OpenAI) به همهی مدلها وصل میشود، و API بومی که دقیقاً همان API اصلی هر سرویس را بازتاب میدهد. هر دو با یک کلید (که با hk- شروع میشود) و یک کیف پول کار میکنند.
یک دروازه، یک کلید و یک کیف پول؛ دسترسی به مدلهای چند سازنده.
آدرسهای API بومی: OpenAI روی https://api.hooshi.ai/openai/v1، Anthropic روی https://api.hooshi.ai/anthropic، Gemini روی https://api.hooshi.ai/gemini و ElevenLabs روی https://api.hooshi.ai/elevenlabs. سرویسهای دیگر مثل xAI، DeepSeek، Mistral و Qwen هم الگوی مشابه دارند؛ فهرست کامل در مستندات API آمده است. فهرست مدلها هم از GET https://api.hooshi.ai/v1/models بدون کلید قابل دریافت است.
شروع سریع با API یکپارچه (سازگار با OpenAI)
اگر قبلاً با SDK رسمی OpenAI کار کردهاید، فقط base_url و کلید را عوض کنید و نام مدل را به شکل provider/model بنویسید. همین کد با عوضکردن یک رشته، از GPT به Claude یا Grok میرود.
ثبتنام و ساخت کلید. در صفحهی توسعهدهندگان وارد شوید و یک کلید API بسازید. کلید را فقط یکبار نشان میدهیم؛ آن را امن نگه دارید.
شارژ کیف پول API. کیف پول API از اشتراک پنل چت جداست و با درگاه بانکی ایرانی به تومان شارژ میشود.
نصب SDK.pip install openai یا npm install openai.
اولین درخواست. یکی از نمونهکدهای زیر را اجرا کنید.
پایتون
from openai import OpenAI
client = OpenAI(
base_url="https://api.hooshi.ai/v1",
api_key="hk-...", # کلید API هوشی
)
resp = client.chat.completions.create(
model="anthropic/claude-opus-5-5", # یا openai/gpt-5.5 یا xai/grok-4.7
messages=[
{"role": "system", "content": "You are a helpful assistant. Answer in Persian."},
{"role": "user", "content": "سه ایده برای نام یک کافهی کتاب پیشنهاد بده."},
],
)
print(resp.choices[0].message.content)
print(resp.usage) # توکنهای ورودی و خروجی
جاوااسکریپت (Node.js)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.hooshi.ai/v1",
apiKey: process.env.HOOSHI_API_KEY, // hk-...
});
const resp = await client.chat.completions.create({
model: "openai/gpt-5.5",
messages: [{ role: "user", content: "یک تابع جاوااسکریپت برای اعتبارسنجی کد ملی بنویس." }],
});
console.log(resp.choices[0].message.content);
curl
curl https://api.hooshi.ai/v1/chat/completions \
-H "Authorization: Bearer $HOOSHI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "xai/grok-4.7",
"messages": [{"role": "user", "content": "سلام! خودت را در یک جمله معرفی کن."}]
}'
API بومی: SDK رسمی Anthropic، OpenAI، Gemini و ElevenLabs
اگر کدتان با SDK رسمی API کلاد یا Gemini نوشته شده، لازم نیست چیزی را بازنویسی کنید. API بومی هوشی مسیرها، پارامترها، پاسخها و استریم هر سرویس را یکبهیک بازتاب میدهد؛ فقط آدرس پایه و کلید عوض میشود.
OpenAI بومی (پایتون) — جایگزین مستقیم API چت جی پی تی
from openai import OpenAI
# همان SDK رسمی OpenAI، فقط آدرس و کلید عوض شده
client = OpenAI(base_url="https://api.hooshi.ai/openai/v1", api_key="hk-...")
resp = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "Explain recursion in Persian."}],
)
print(resp.choices[0].message.content)
Gemini (پایتون، SDK google-genai)
from google import genai
client = genai.Client(
api_key="hk-...",
http_options={"base_url": "https://api.hooshi.ai/gemini"},
)
r = client.models.generate_content(model="gemini-3.8-flash", contents="شعر کوتاهی دربارهی پاییز بگو.")
print(r.text)
Anthropic (جاوااسکریپت)
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://api.hooshi.ai/anthropic",
apiKey: process.env.HOOSHI_API_KEY,
});
const msg = await client.messages.create({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "یک ایمیل رسمی برای پیگیری سفارش بنویس." }],
});
console.log(msg.content[0].text);
هدر کلید: هوشی کلید hk- را در هر هدری که SDK اصلی میفرستد میپذیرد: Authorization: Bearer، x-api-key (Anthropic)، x-goog-api-key (Gemini) یا xi-api-key (ElevenLabs).
استریم پاسخ (Streaming)
استریم یعنی پاسخ مدل کلمهبهکلمه برسد، نه یکجا بعد از چند ثانیه. برای چتباتها تجربهی کاربر را بسیار بهتر میکند. در API یکپارچه کافی است stream=True بگذارید؛ پاسخ با فرمت استاندارد Server-Sent Events میآید.
stream = client.chat.completions.create(
model="openai/gpt-5.5",
messages=[{"role": "user", "content": "یک داستان کوتاه بنویس."}],
stream=True,
stream_options={"include_usage": True}, # مصرف توکن در آخرین تکه
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
const stream = await client.chat.completions.create({
model: "anthropic/claude-sonnet-5-5",
messages: [{ role: "user", content: "مراحل راهاندازی یک فروشگاه اینترنتی را بگو." }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
با stream_options.include_usage مصرف توکن در آخرین تکهی استریم هم برمیگردد تا هزینهی هر درخواست را ثبت کنید. در API بومی، استریم دقیقاً مثل سرویس اصلی کار میکند (مثلاً رویدادهای message_delta در Anthropic).
قیمتگذاری: کیف پول تومانی و محاسبهی توکنی
در API هوشی هزینه بر اساس توکن مصرفی واقعی هر درخواست از کیف پول API کم میشود؛ اشتراک ماهانه یا حداقل مصرف ندارد. هر توکن تقریباً معادل سهچهارم یک کلمهی انگلیسی است و متن فارسی معمولاً توکن بیشتری مصرف میکند.
قیمت پایهی سازندهها بهازای هر یک میلیون توکن (دلار، مهر ۱۴۰۵) — قیمت تومانی را در /models ببینید
مدل
شناسه در API یکپارچه
ورودی
خروجی
ورودی کششده
GPT-6 Astra
openai/gpt-6-astra
۱۰
۵۰
۱
GPT-5.5
openai/gpt-5.5
۵
۳۰
۰٫۵
GPT-6 Luna
openai/gpt-6-luna
۰٫۱
۰٫۵
۰٫۰۱
Claude Opus 5.5
anthropic/claude-opus-5-5
۴
۲۰
۰٫۲
Claude Sonnet 5.5
anthropic/claude-sonnet-5-5
۲
۱۰
۰٫۱
Claude Haiku 5.5
anthropic/claude-haiku-5-5
۰٫۱
۰٫۵
۰٫۰۱
Gemini 3.8 Flash
gemini/gemini-3.8-flash
۰٫۷۵
۳٫۷۵
۰٫۰۷۵
Grok 4.7
xai/grok-4.7
۲
۶
۰٫۵
DeepSeek Flash
deepseek/deepseek-flash
۰٫۳
۱٫۲
۰٫۰۰۶
توجه: اعداد جدول قیمت فهرست رسمی سازندهها به دلار و فقط برای مقایسهی نسبی مدلهاست. قیمت تومانی که از کیف پول شما کم میشود را در صفحهی مدلها ببینید. برخی مدلها برای پرامپتهای خیلی بلند نرخ بالاتری دارند.
مقایسهی هزینهی خروجی چند مدل محبوب (دلار بهازای یک میلیون توکن خروجی، نسبت به GPT-6 Astra):
GPT-6 Astra۵۰
GPT-5.5۳۰
Claude Opus 5.5۲۰
Claude Sonnet 5.5۱۰
Grok 4.7۶
Gemini 3.8 Flash۳٫۷۵
DeepSeek Flash۱٫۲
Claude Haiku 5.5۰٫۵
موجودی کیف پول و گزارش مصرف را هم از خود API میگیرید:
مثال محاسبه: یک درخواست با ۲٬۰۰۰ توکن ورودی و ۵۰۰ توکن خروجی روی Claude Sonnet 5.5 حدود ۰٫۰۰۴ + ۰٫۰۰۵ = ۰٫۰۰۹ دلار هزینه دارد؛ یعنی هزار درخواست مشابه حدود ۹ دلار. همین کار روی Claude Haiku 5.5 حدود بیست برابر ارزانتر است.
یک پروژهی واقعی: چتبات پشتیبانی فروشگاه
برای اینکه همهی اینها کنار هم معنا پیدا کند، فرض کنید میخواهید برای یک فروشگاه اینترنتی چتباتی بسازید که به سؤالات مشتری دربارهی ارسال، مرجوعی و موجودی جواب دهد. معماری ساده و ارزان آن اینطور است:
آمادهسازی دانش. متن قوانین ارسال، مرجوعی و سؤالات متداول را به تکههای کوتاه تقسیم کنید و با /v1/embeddings (مثلاً openai/text-embedding-3-small) بردار هر تکه را بسازید و در پایگاه داده ذخیره کنید.
بازیابی. وقتی سؤال مشتری رسید، بردار سؤال را بسازید و چند تکهی مرتبط را پیدا کنید (روش RAG).
پاسخ. تکههای پیدا شده را همراه یک پیام سیستمی ثابت به یک مدل ارزان و سریع مثل anthropic/claude-haiku-5-5 بدهید و بخواهید فقط از روی همان متن، کوتاه و مؤدبانه جواب دهد.
ارجاع به انسان. اگر مدل مطمئن نبود یا مشتری عصبانی بود، گفتوگو را به اپراتور واقعی بسپارید.
ارتقای هوشمند. فقط برای سؤالهای پیچیده (مثلاً مقایسهی فنی چند محصول) درخواست را به مدلی قویتر مثل anthropic/claude-sonnet-5-5 یا openai/gpt-5.5 بفرستید. در API یکپارچه این یعنی فقط عوضکردن یک رشته.
چون پیام سیستمی و قوانین ثابتاند، از کش پرامپت هم سود میبرید. در عمل بیشتر هزینهی چنین چتباتی صرف توکنهای ورودی میشود، نه خروجی؛ پس کوتاه نگهداشتن تکههای بازیابیشده مستقیم روی صورتحساب اثر دارد. همین الگو را میتوانید برای ربات تلگرام، دستیار داخلی شرکت یا جستوجوی هوشمند مستندات هم به کار ببرید. اگر به صدا هم نیاز دارید، پاسخ متنی را با /v1/audio/speech یا API بومی ElevenLabs به گفتار تبدیل کنید؛ جزئیات در راهنمای تبدیل متن به صدا آمده است.
بهترین روشها: تکرار درخواست، کنترل هزینه و کش
سه چیز یک یکپارچهسازی حرفهای را از یک نمونهی آزمایشی جدا میکند: مدیریت خطا، کنترل هزینه و امنیت کلید.
مدیریت خطا و تکرار هوشمند
خطاهای 429 (محدودیت نرخ) و 5xx (مشکل موقت سرویسدهنده) را با تأخیر تصاعدی (Exponential Backoff) و کمی تصادفیسازی دوباره امتحان کنید؛ خطاهای 4xx دیگر مثل کلید نامعتبر یا مدل اشتباه را تکرار نکنید. SDKهای رسمی خودشان چند بار تلاش مجدد دارند (max_retries).
import time, random
from openai import OpenAI, RateLimitError, APIStatusError
client = OpenAI(base_url="https://api.hooshi.ai/v1", api_key="hk-...", max_retries=0, timeout=60)
def ask(messages, model="openai/gpt-6-luna", tries=5):
for i in range(tries):
try:
return client.chat.completions.create(model=model, messages=messages, max_tokens=800)
except RateLimitError:
pass
except APIStatusError as e:
if e.status_code < 500:
raise # خطای درخواست؛ تکرار فایده ندارد
time.sleep(min(30, 2 ** i) + random.random()) # Exponential backoff + jitter
raise RuntimeError("سرویس فعلاً در دسترس نیست")
کنترل هزینه
مدل مناسب هر کار: برای طبقهبندی و خلاصهی ساده از Haiku 5.5، GPT-6 Luna یا DeepSeek Flash استفاده کنید و مدلهای گران را برای استدلال پیچیده نگه دارید.
سقف خروجی: همیشه max_tokens بگذارید.
کوتاهکردن تاریخچه: در چتباتها همهی پیامهای قبلی را نفرستید؛ خلاصه کنید.
سقف هزینه برای هر کلید: برای هر کلید API سقف هزینهی ماهانه بگذارید تا یک باگ یا حلقهی بیپایان، کل کیف پول را خالی نکند.
پایش مصرف: فیلد usage هر پاسخ را ذخیره کنید و برای کاربران خودتان سقف بگذارید.
کش (Prompt Caching)
بیشتر سازندهها برای بخش تکراری ابتدای پرامپت (مثل پیام سیستمی طولانی یا مستندات) قیمت «ورودی کششده» دارند که طبق جدول بالا تا حدود یکدهم قیمت عادی است. برای استفاده از آن، بخش ثابت پرامپت را همیشه اول و دقیقاً یکسان بفرستید و بخش متغیر را آخر بگذارید. در OpenAI کش خودکار است و در Anthropic با cache_control در API بومی فعال میشود. پاسخهای کاملاً تکراری (مثل سؤالات متداول) را هم در سمت خودتان، مثلاً در Redis، کش کنید.
خطاهای رایج و راهحل آنها
پاسخهای خطای API یکپارچه همان ساختار استاندارد OpenAI را دارند (error.message، error.type و error.code)، پس کتابخانههای موجود بدون تغییر آنها را میفهمند. رایجترین خطاها:
کدهای خطای پرتکرار در API هوش مصنوعی و کاری که باید کرد
کد
معنی
راهحل
401
کلید ارسال نشده یا نامعتبر است
بررسی کنید کلید با hk- شروع شود و در هدر درست قرار گرفته باشد
402
موجودی کیف پول API کافی نیست (insufficient_quota) یا سقف هزینهی ماهانهی کلید پر شده (spend_limit_reached)
کیف پول را شارژ کنید یا سقف کلید را بالا ببرید؛ با /v1/balance هشدار خودکار بسازید
404
مدل یا مسیر پیدا نشد
شناسهی مدل را از /v1/models بردارید؛ در API یکپارچه پیشوند سازنده را فراموش نکنید
429
محدودیت نرخ درخواست
تکرار با تأخیر تصاعدی، کاهش همزمانی یا صفبندی درخواستها
5xx
مشکل موقت سرویسدهندهی بالادستی
چند بار تکرار کنید؛ در صورت تداوم، موقتاً به مدل جایگزین بروید
یک ترفند سادهی پایداری این است که برای هر کار یک «مدل پشتیبان» تعریف کنید. مثلاً اگر anthropic/claude-sonnet-5-5 چند بار پشت سر هم خطای ۵۰۰ داد، درخواست را با همان پیامها به openai/gpt-5.5 بفرستید. چون در API یکپارچه فرمت درخواست و پاسخ برای همه یکی است، این کار فقط یک خط کد است و کاربر شما متوجه قطعی نمیشود.
فراتر از چت: embedding، تصویر و صدا
API یکپارچه فقط برای چت نیست. با /v1/embeddings برای جستوجوی معنایی و RAG بردار متن میسازید، با /v1/images/generations از مدلهایی مثل GPT Image 2 یا FLUX تصویر میگیرید، با /v1/audio/speech متن را به گفتار تبدیل میکنید و با /v1/audio/transcriptions فایل صوتی را به متن برمیگردانید. همه با همان کلید و همان کیف پول. گزارش مصرف تفکیکی هم از /v1/usage در دسترس است تا بدانید هر سرویس یا هر مشتری شما چقدر هزینه ساخته است. برای ساخت تصویر و نوشتن پرامپت تصویری خوب، راهنمای ساخت عکس با هوش مصنوعی را ببینید.
امنیت کلید
هشدار: کلید hk- را هرگز در کد سمت مرورگر یا اپلیکیشن موبایل قرار ندهید و در گیتهاب منتشر نکنید. درخواستها را از سرور خودتان بفرستید، کلید را در متغیر محیطی نگه دارید و برای هر پروژه کلید جدا بسازید تا در صورت نشت، فقط همان را باطل کنید.
چرا API هوشی برای توسعهدهندههای ایرانی؟
بهطور خلاصه: یک حساب، یک کلید و یک کیف پول تومانی برای دسترسی به مدلهای OpenAI، Anthropic، Google، xAI، DeepSeek، ElevenLabs و سازندههای دیگر؛ بدون کارت ارزی و بدون نیاز به سرور خارج.
مزایا
پرداخت ریالی با درگاههای بانکی ایران
سازگار با SDKهای رسمی؛ مهاجرت با تغییر دو خط
مقایسه و جابهجایی مدلها با یک رشته
مستندات فارسی و پشتیبانی فارسی
نکتهها
فقط endpointهای قابلمحاسبه در API بومی باز هستند
قیمت تومانی با نرخ ارز بهروز میشود
برای حجم سازمانی، محدودیت نرخ را از قبل هماهنگ کنید
کلید API خودتان را بسازید. کیف پول را با هر مبلغی شارژ کنید و اولین درخواست را در کمتر از پنج دقیقه بفرستید.
دسترسی مستقیم به OpenAI API از ایران به دلیل تحریم و نیاز به کارت ارزی عملاً ممکن نیست. با API هوشی میتوانید همان SDK رسمی OpenAI را با آدرس https://api.hooshi.ai/openai/v1 یا API یکپارچهی https://api.hooshi.ai/v1 و کلید hk- استفاده کنید و هزینه را از کیف پول تومانی بپردازید.
فرق API یکپارچه و API بومی هوشی چیست؟
+
API یکپارچه با فرمت OpenAI کار میکند و با عوضکردن نام مدل (مثل anthropic/claude-opus-5-5) بین همهی سازندهها جابهجا میشود؛ برای مقایسه و مسیریابی مدلها عالی است. API بومی دقیقاً API اصلی هر سرویس را بازتاب میدهد تا با SDK رسمی Anthropic، Gemini یا ElevenLabs و قابلیتهای اختصاصی آنها کار کنید.
هزینهی API هوش مصنوعی چطور محاسبه میشود؟
+
مدلهای زبانی بر اساس تعداد توکن ورودی و خروجی هر درخواست قیمتگذاری میشوند؛ مدلهای تصویری و صوتی بر اساس تصویر، کاراکتر یا دقیقه. در هوشی هزینهی واقعی هر درخواست از کیف پول API تومانی کم میشود و فیلد usage در پاسخ مصرف را نشان میدهد. قیمت تومانی هر مدل در صفحهی مدلها آمده است.
آیا کیف پول API با اشتراک پنل چت یکی است؟
+
خیر. اشتراک ماهانهی هوشی برای استفاده در پنل چت، استودیوی تصویر و صدا است و API کیف پول جداگانهای دارد که به تومان شارژ میشود. این جداسازی باعث میشود هزینهی برنامهها و سرویسهایتان شفاف و قابل کنترل باشد و مصرف API روی سهمیهی چت شما اثر نگذارد.
آیا API هوشی از استریم پشتیبانی میکند؟
+
بله. در API یکپارچه با stream=True پاسخ بهصورت Server-Sent Events و تکهتکه میرسد و با stream_options.include_usage مصرف توکن هم در آخرین تکه برمیگردد. در API بومی، استریم دقیقاً مثل سرویس اصلی کار میکند؛ مثلاً رویدادهای استریم Anthropic یا Gemini بدون تغییر به کد شما میرسند.
کدام مدل برای شروع با API مناسبتر است؟
+
برای بیشتر کارهای عمومی Claude Sonnet 5.5 یا GPT-5.5 تعادل خوبی بین کیفیت و هزینه دارند. برای کارهای ساده و پرحجم مثل طبقهبندی، Claude Haiku 5.5، GPT-6 Luna یا DeepSeek Flash بسیار ارزانترند. برای سختترین استدلالها و کدنویسی پیچیده، Claude Opus 5.5 یا GPT-6 Astra را امتحان کنید.
کلید API هوشی را کجا و چطور نگه دارم؟
+
کلیدهای هوشی با hk- شروع میشوند و فقط یکبار هنگام ساخت نمایش داده میشوند. آنها را در متغیر محیطی یا سرویس مدیریت اسرار روی سرور نگه دارید، هرگز در کد سمت مرورگر یا اپ موبایل قرار ندهید و برای هر پروژه کلید جدا بسازید تا در صورت نشت، فقط همان کلید را باطل کنید.