پرش به محتوا

API هوش مصنوعی بدون فیلترشکن

سرور، هاست یا برنامهٔ شما در ایران فقط به gisoo.pro وصل می‌شود و گیسو درخواست را به سرویس‌دهندهٔ مدل می‌رساند: نشانی درست، آزمایش اتصال از سرور و رفع قطعی.

بازبینی: ۱۵ مهر ۱۴۰۵ ۹ دقیقه مطالعه

API هوش مصنوعی گیسو برای سرورها، هاست‌ها و برنامه‌هایی ساخته شده که در ایران اجرا می‌شوند. برنامهٔ شما فقط به یک نشانی وصل می‌شود، https://ir.gisoo.pro/api/v1، و گیسو درخواست را به سرویس‌دهندهٔ مدل (شرکتی که مدل روی سرورش اجرا می‌شود، مثل OpenAI، Google یا OpenRouter) می‌رساند و پاسخ را برمی‌گرداند. پس روی سرور شما فیلترشکن، پراکسی یا تونل لازم نیست و برای پرداخت هم کارت ارزی نمی‌خواهید.

این صفحه می‌گوید این اتصال چطور کار می‌کند، کدام نشانی را بگذارید، اتصال را از سرور خودتان چطور بیازمایید و اگر وصل نشد، مشکل کجاست.

چرا از ایران کار می‌کند

  1. برنامهٔ شما درخواست را به ir.gisoo.pro می‌فرستد

    با همان قالب API شرکت OpenAI (یا Anthropic، برای Claude Code). کلید شما همراه درخواست است.

  2. گیسو کلید، اعتبار و محدودیت‌ها را بررسی می‌کند

    اگر چیزی کم باشد، همین‌جا با یک خطای روشن برمی‌گردد و هزینه‌ای کم نمی‌شود.

  3. گیسو درخواست را به سرویس‌دهندهٔ مدل می‌رساند

    اتصال به OpenAI، Google، OpenRouter و DeepSeek از سرورهای گیسو انجام می‌شود، نه از سرور شما.

  4. پاسخ به برنامهٔ شما برمی‌گردد

    عادی یا جریانی (stream)، با همان قالبی که SDK شما انتظار دارد. هزینهٔ واقعی از اعتبار دلاری حسابتان کم می‌شود.

در بررسی خودمان در مهر ۱۴۰۵، نشانی گیسو از دیتاسنترهایی در تهران، اصفهان، شیراز و قم پاسخ درست داد. شبکه‌ها اما دست ما نیستند و ممکن است روزی یک مسیر تغییر کند؛ برای همین در ادامه آمده است که اتصال را چطور خودتان بیازمایید و اگر قطع شد، چه اطلاعاتی برای ما بفرستید.

نشانی درست برای سرور داخل ایران

Base URLhttps://ir.gisoo.pro/api/v1
API Keyکلیدی که با sk-gisoo-v1- شروع می‌شود، در هدر Authorization: Bearer
Anthropic Base URLhttps://ir.gisoo.pro/api (فقط برای Claude Code و SDK شرکت Anthropic، بدون /v1)
  • اگر کلیدتان را از نِت اَرز گرفته‌اید، همان کلید و همان اعتبار روی ir.gisoo.pro کار می‌کند؛ حساب در هر دو یکی است.
  • برای سرورهای دیتاسنترهای ایرانی و کاربران داخل ایران، نشانی ویژهٔ ایران https://ir.gisoo.pro/api/v1 را پیشنهاد می‌کنیم. نشانی اصلی گیسو gisoo.pro می‌ماند؛ کلید، اعتبار، مدل‌ها و مسیرها در هر دو یکسان‌اند.
  • IP را جایی ثبت نکنید و در کد ننویسید؛ همیشه با نام دامنه وصل شوید تا اگر نشانی سرور عوض شد، برنامه‌تان از کار نیفتد.

آزمایش اتصال از سرور شما

این سه دستور را روی همان سروری اجرا کنید که برنامه رویش است، نه روی کامپیوتر خودتان. دو دستور اول کلید نمی‌خواهند و هزینه‌ای ندارند:

Shell آزمایش اتصال
# 1) Is the address reachable from this server? No key, no cost.
curl -sS -o /dev/null -w "HTTP %{http_code} in %{time_total}s\n" https://ir.gisoo.pro/api/v1/models

# 2) Does a bigger request (about 5 KB) get through? Expect HTTP 401: no key was sent,
#    so nothing is charged, but the whole body reached Gisoo.
printf '{"model":"connectivity-test","messages":[{"role":"user","content":"%s"}]}' "$(head -c 5000 /dev/zero | tr '\0' 'a')" \
  | curl -sS -o /dev/null -w "HTTP %{http_code}\n" -X POST https://ir.gisoo.pro/api/v1/chat/completions \
      -H "Content-Type: application/json" --data-binary @-

# 3) Is your key right, and how much credit is left?
curl -sS https://ir.gisoo.pro/api/v1/me -H "Authorization: Bearer $GISOO_API_KEY"
  • دستور اول باید HTTP 200 بدهد. یعنی سرور شما ir.gisoo.pro را پیدا می‌کند و به آن می‌رسد.
  • دستور دوم باید HTTP 401 بدهد. ۴۰۱ این‌جا خبر خوب است: درخواست پنج‌کیلوبایتی کامل به گیسو رسید و چون کلیدی همراهش نبود، رد شد.
  • دستور سوم موجودی و محدودیت‌های کلیدتان را برمی‌گرداند. اگر این هم درست بود، هر SDK و ابزاری روی این سرور کار می‌کند.

روی هاست اشتراکی بدون SSH

در هاست‌های سی‌پنل و دایرک‌ادمین که ترمینال ندارند، این فایل را در پوشهٔ سایت بگذارید، یک بار در مرورگر باز کنید و بعد پاکش کنید. کلید لازم ندارد:

PHP gisoo-check.php
<?php
// gisoo-check.php — upload, open once in the browser, then delete it.
$ch = curl_init('https://ir.gisoo.pro/api/v1/me');
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30]);
$body = curl_exec($ch);

if (curl_errno($ch)) {
    echo 'cURL error ' . curl_errno($ch) . ': ' . curl_error($ch);   // the table below says what it means
} else {
    echo 'HTTP ' . curl_getinfo($ch, CURLINFO_HTTP_CODE);             // 401 = reached Gisoo (no key was sent)
}

اگر HTTP 401 دیدید، هاست شما به گیسو می‌رسد و افزونهٔ وردپرس یا هر کد PHP دیگری روی آن کار می‌کند.

اگر وصل نشد

کد خطای curl (یا cURL در PHP) می‌گوید اتصال در کدام قدم قطع شده است. هر درخواستی که به سرور گیسو برسد، یک پاسخ HTTP می‌گیرد، حتی وقتی رد شود؛ پس خطایی که هیچ پاسخی همراهش نیست، یعنی درخواست در مسیر شبکه یا روی خود سرور شما مانده است.

کد curlیعنی چهچه کنید
6نام gisoo.pro پیدا نشد (DNS).DNS سرور را بررسی کنید؛ یک DNS دیگر را در تنظیم سرور امتحان کنید.
7اتصال به سرور برقرار نشد.دیوار آتش (فایروال) سرور یا هاست، اتصال خروجی به پورت ۴۴۳ را باز کند.
28زمان انتظار تمام شد و هیچ بسته‌ای برنگشت.مسیر سرور شما به بیرون مشکل دارد؛ از هاست یا دیتاسنتر بپرسید. اگر فقط درخواست‌های بزرگ این خطا را می‌دهند، دستور دوم بالا را بفرستید.
35اتصال وسط دست‌دهی امن (TLS) قطع شد.معمولاً فیلتر یا دیوار آتش میان راه است. خروجی curl -sv را برای هاست و برای ما بفرستید.
52اتصال امن برقرار شد ولی هیچ پاسخی نیامد.اگر روی سرور ابزار تونل یا پراکسی نصب است، خاموشش کنید و دوباره بیازمایید؛ اگر نه، از دیتاسنتر بپرسید.
60گواهی امنیتی سایت تأیید نشد.بستهٔ گواهی‌های سیستم (ca-certificates) را به‌روز کنید؛ روی سرورهای قدیمی رایج است. بررسی گواهی را خاموش نکنید.

اگر باز وصل نشد، در تیکت این‌ها را بفرستید: خروجی کامل curl -sv https://ir.gisoo.pro/api/v1/models -o /dev/null، نام هاست یا دیتاسنتر و این‌که درخواست کوچک جواب می‌گیرد یا نه. کلید را در تیکت ننویسید.

تنظیم‌های پیشنهادی برای سرور ایران

  • زمان انتظار کلاینت: گیسو برای پاسخ سرویس‌دهنده تا حدود ۹۰ ثانیه صبر می‌کند. زمان انتظار برنامهٔ خودتان را بیشتر از آن بگذارید (مثلاً ۱۲۰ ثانیه) تا درخواست را زودتر از گیسو رها نکند.
  • پاسخ جریانی: برای متن‌های بلند stream: true بفرستید تا خروجی همان لحظه که ساخته می‌شود برسد. اگر پشت nginx خودتان پراکسی می‌کنید، بافر را برای همان مسیر خاموش کنید (proxy_buffering off).
  • تلاش دوباره: فقط برای ۴۲۹، خطاهای ۵xx و قطع اتصال، با فاصلهٔ رو به افزایش. خطای ۴xx دیگر با تکرار درست نمی‌شود.
  • کلید: در متغیر محیطی یا فایل تنظیم بیرون از پوشهٔ عمومی سایت. برای هر سرور یک کلید با سقف هزینه بسازید و اگر IP سرور ثابت است، آن را در فهرست IP مجاز همان کلید بگذارید.
Python زمان انتظار و تلاش دوباره
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://ir.gisoo.pro/api/v1",
    api_key=os.environ["GISOO_API_KEY"],
    timeout=120,      # longer than Gisoo's own wait for the model provider
    max_retries=3,    # 429, 5xx and dropped connections only
)

چه چیزهایی از همین نشانی کار می‌کند

همهٔ بخش‌های وب‌سرویس از همین نشانی می‌آیند: گفت‌وگو با مدل‌های GPT، Claude، Gemini، DeepSeek و بقیه، امبدینگ، ساخت تصویر، گفتار و متن، ویدیو، موسیقی، Messages API برای Claude Code و سرور MCP. برای هر ابزار رایج هم راهنمای اتصال جدا داریم.

گیسو فقط منبع مدل را عوض می‌کند

نصب خود ابزارها (بسته‌های npm و pip، تصویرهای Docker، افزونه‌های VS Code) از منبع همان ابزار انجام می‌شود، نه از گیسو. ابزاری مثل Cursor هم درخواست‌ها را از سرورهای خودش می‌فرستد؛ پس خود برنامه باید به سرورهای سازنده‌اش برسد. گیسو جای «مدل» را در این ابزارها می‌گیرد، نه بقیهٔ کارشان را.

پرسش‌های پرتکرار

برای استفاده از API گیسو فیلترشکن لازم است؟

نه. برنامه یا سرور شما فقط به gisoo.pro وصل می‌شود و اتصال به سرویس‌دهندهٔ مدل از سمت گیسو انجام می‌شود. روی سرور شما پراکسی یا تونل لازم نیست.

روی هاست اشتراکی ایرانی هم کار می‌کند؟

بله، اگر هاست اجازهٔ درخواست بیرونی با cURL را بدهد؛ بیشتر هاست‌ها می‌دهند. با فایل gisoo-check.php در یک دقیقه مطمئن شوید.

تضمین می‌کنید همیشه و از هر شبکه‌ای وصل شود؟

نه. مسیرهای شبکه دست ما نیست و قول همیشگی نمی‌دهیم. کاری که می‌کنیم: نشانی را از شبکه‌های داخل ایران بررسی می‌کنیم، خطاها را روشن برمی‌گردانیم تا بدانید مشکل کجاست، و اگر مسیری قطع شد، از راه تیکت پیگیری‌اش می‌کنیم.

برای شارژ کارت ارزی لازم است؟

نه. حساب را در درگاه بانکی نِت اَرز با کارت بانکی شارژ می‌کنید؛ شارژ از ۵۰٬۰۰۰ سکه شروع می‌شود و اعتبار به دلار در حسابتان می‌نشیند. تا ۲ دلار مصرف، احراز هویت هم لازم نیست.

متن درخواست‌ها در گیسو ذخیره می‌شود؟

نه. گیسو فقط فراداده ثبت می‌کند: مدل، تعداد توکن، هزینه، زمان پاسخ و IP. متن پرامپت و پاسخ به سرویس‌دهندهٔ مدل می‌رسد و از آنجا سیاست نگهداری همان شرکت حاکم است.

با این کلید Claude و Gemini را هم صدا می‌زنم؟

بله. همهٔ مدل‌های متنی از همان نشانی و همان قالب OpenAI صدا زده می‌شوند و فقط شناسهٔ مدل عوض می‌شود؛ فهرست کامل در صفحهٔ مدل‌ها است.

قدم بعدی

پاسخ پرسشتان را پیدا نکردید؟

شناسهٔ درخواست (هدر X-Request-Id) را با پرسشتان در تیکت بفرستید تا دقیق بررسی کنیم.

تیکت پشتیبانی