داشبورد توسعه‌دهنده
پرسش از هوش مصنوعی
پرسش از هوش مصنوعی

مدل‌های گوگل

AvalAI دسترسی یکپارچه به مدل‌های Gemini گوگل را از طریق API یکپارچه ما فراهم می‌کند. این صفحه جزئیات مدل‌های موجود گوگل، قابلیت‌های آن‌ها و موارد استفاده بهینه را با تمرکز بر آخرین نسل‌ها شرح می‌دهد.

دو روش برای استفاده از مدل‌های Gemini: می‌توانید به مدل‌های Gemini از طریق API سازگار با OpenAI (با استفاده از کتابخانه‌های کلاینت OpenAI) یا SDK بومی GenAI گوگل دسترسی پیدا کنید. برای نمونه‌های SDK بومی و ویژگی‌های پیشرفته، پشتیبانی از SDK بومی Google GenAI را ببینید.

مدل‌های Gemini موجود

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

Gemini 3.7 Flash

Gemini 3.7 Flash (gemini-3.7-flash) مدل پرچم‌دار و همه‌کاره Flash گوگل برای کدنویسی، عامل‌ها، توسعه وب، درک اسناد پیچیده و خودکارسازی گردش‌کارهای تجاری است. این مدل که در اوت ۲۰۲۶ منتشر شده، مهندسی نرم‌افزار، کیفیت کد در اولین تلاش، پیروی از دستورالعمل، برنامه‌ریزی چندمرحله‌ای و استفاده از ابزار را نسبت به Gemini 3.6 Flash بهبود می‌دهد.

ویژگیجزئیات
پنجره زمینه۱٬۰۴۸٬۵۷۶ توکن ورودی، ۶۵٬۵۳۶ توکن خروجی
ورودی‌هامتن، تصویر، ویدیو، صدا، PDF
خروجیمتن
ورودی تشویقی$0.75 / ۱ میلیون توکن تا ۳۱ دسامبر ۲۰۲۶
ورودی کش‌شده تشویقی$0.075 / ۱ میلیون توکن تا ۳۱ دسامبر ۲۰۲۶
خروجی تشویقی$3.75 / ۱ میلیون توکن تا ۳۱ دسامبر ۲۰۲۶
قیمت استانداردورودی $1.50، ورودی کش‌شده $0.15 و خروجی $7.50 / ۱ میلیون توکن پس از ۳۱ دسامبر ۲۰۲۶
نقاط پایانی پشتیبانی‌شدهv1beta/، v1/chat/completions، v1/messages و پشتیبانی جزئی v1/responses
نقاط قوتکدنویسی، اجرای عاملی، توسعه وب، هوشمندی اسناد و خودکارسازی گردش‌کار

قابلیت‌های کلیدی:

  • کدنویسی و عامل‌ها: بهبود اشکال‌زدایی، رفع مسئله، مهندسی بلندمدت، برنامه‌ریزی و فراخوانی ابزار
  • توسعه وب: پایبندی بهتر به طراحی و تولید برنامه‌های کامل‌تر با پرامپت‌های کمتر
  • کار دانشی: استدلال قوی‌تر روی اسناد پیچیده در مالی، حقوق، علوم زیستی و سایر حوزه‌های متراکم
  • چندوجهی بومی: پذیرش ورودی متن، تصویر، ویدیو، صدا و PDF
  • قابلیت‌های توسعه‌دهنده: تفکر، فراخوانی تابع، خروجی ساختاریافته، اجرای کد، کش پرامپت، جستجوی فایل، پایه‌گذاری با Google Search و زمینه URL
python
response = client.chat.completions.create(
    model="gemini-3.7-flash",
    messages=[
        {
            "role": "user",
            "content": "این معماری را بررسی کن و یک برنامه پیاده‌سازی مرحله‌ای همراه با ریسک‌ها و معیارهای rollback بنویس.",
        }
    ],
)

print(response.choices[0].message.content)

برای نمونه نقاط پایانی، نتایج بنچمارک گزارش‌شده و راهنمای مهاجرت، خبر Gemini 3.7 Flash را ببینید.

Gemini 3.5 Flash

Gemini 3.5 Flash (gemini-3.5-flash) مدل پرچم‌دار جدید Flash گوگل است که بر پایه زیرساخت استدلالی Gemini 3 Flash ساخته شده و با سطوح تفکر قابل تنظیم، تعادل کیفیت، هزینه و تأخیر را کنترل می‌کند. این مدل که در مه ۲۰۲۶ منتشر شده، در کدنویسی، استفاده عامل‌محور از ابزارها، وظایف تخصصی، درک چندوجهی و عملکرد زمینه طولانی بهبود دارد و همچنان پروفایل سریع Flash را حفظ می‌کند.

ویژگیجزئیات
پنجره زمینه۱,۰۴۸,۵۷۶ توکن ورودی، ۶۵,۵۳۶ توکن خروجی
ورودی‌هامتن، تصویر، ویدیو، صدا، PDF
خروجیمتن
قیمت‌گذاری ورودی$1.50 / ۱ میلیون توکن
قیمت‌گذاری ورودی کش شده$0.25 / ۱ میلیون توکن
قیمت‌گذاری خروجی$9.00 / ۱ میلیون توکن
قیمت‌گذاری ورودی صوتی$1.00 / ۱ میلیون توکن
قیمت ورودی صوتی کش شده$0.50 / ۱ میلیون توکن
قیمت‌گذاری خروجی صوتی$1.00 / ۱ میلیون توکن
تاریخ قطع دانشژانویه ۲۰۲۵
نقاط قوتاستدلال پرچم‌دار Flash، کدنویسی، استفاده عامل‌محور از ابزار، ورودی چندوجهی، زمینه طولانی
بهترین برایگردش‌کارهای عاملی، کدنویسی پیشرفته، استدلال چندوجهی، تحلیل زمینه طولانی

قابلیت‌های کلیدی:

  • تفکر قابل تنظیم: پشتیبانی از مقادیر thinkingLevel (low، medium، high) از طریق generationConfig مربوط به Gemini
  • چندوجهی بومی: پذیرش ورودی متن، تصویر، ویدیو، صدا و PDF در یک درخواست
  • زمینه طولانی: پنجره ورودی ۱M توکن برای اسناد بزرگ، مخازن کد و تحلیل چندمنبعی
  • فراخوانی تابع: پشتیبانی کامل از فراخوانی تابع، فراخوانی تابع موازی و خروجی‌های ساختاریافته
  • پایه‌گذاری جستجو و زمینه URL: امکان استفاده از Google Search grounding و URL Context برای پاسخ‌های آگاه از وب
  • کش پرامپت: پشتیبانی از ورودی‌های کش‌شده برای زمینه‌های طولانی تکراری

نکات برجسته بنچمارک:

  • Terminal-bench 2.1: 76.2% برای کدنویسی عاملی در ترمینال
  • SWE-Bench Pro: 55.1% در وظایف متنوع کدنویسی عاملی
  • MCP Atlas: 83.6% در گردش‌کارهای چندمرحله‌ای MCP
  • Toolathlon: 56.5% در استفاده واقعی از ابزارها
  • CharXiv Reasoning: 84.2% برای استدلال روی نمودارهای پیچیده
  • Humanity's Last Exam: 40.2% در استدلال دانشگاهی
python
response = client.chat.completions.create(
    model="gemini-3.5-flash",
    messages=[
        {
            "role": "user",
            "content": "برای یک پلتفرم پرداخت جهانی، یک معماری event-driven مقاوم طراحی کن.",
        }
    ],
    extra_body={"generationConfig": {"thinkingConfig": {"thinkingLevel": "high"}}},
)

print(response.choices[0].message.content)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-3.5-flash` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="برای یک پلتفرم پرداخت جهانی، یک معماری event-driven مقاوم طراحی کن.",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

Gemini 3.1 Pro Preview

Gemini 3.1 Pro Preview (gemini-3.1-pro-preview) نسل بعدی سری Gemini 3 و پیشرفته‌ترین مدل گوگل از فوریه ۲۰۲۶ است. این مدل استدلال بومی چندوجهی به طور قابل توجهی در معیارهای کلیدی از Gemini 3 Pro پیشی می‌گیرد و در عین حال معماری و قیمت‌گذاری یکسانی دارد. این مدل در عملکرد عاملی، کدنویسی پیشرفته، درک زمینه طولانی و توسعه الگوریتم برتری دارد.

ویژگیجزئیات
پنجره زمینهتا ۱ میلیون توکن (حداکثر ورودی)
حداکثر توکن خروجی۶۴ هزار توکن
ورودی‌هاصدا، تصاویر، ویدیوها، متن و مخازن کد
خروجیمتن
قیمت‌گذاری ورودی (<۲۰۰ هزار)۲.۰۰ دلار / ۱ میلیون توکن (متن)
قیمت‌گذاری خروجی (<۲۰۰ هزار)۱۲.۰۰ دلار / ۱ میلیون توکن (متن)
قیمت‌گذاری ورودی (>۲۰۰ هزار)۴.۰۰ دلار / ۱ میلیون توکن (متن)
قیمت‌گذاری خروجی (>۲۰۰ هزار)۱۸.۰۰ دلار / ۱ میلیون توکن (متن)
قیمت‌گذاری ورودی صوتی۷.۰۰ دلار / ۱ میلیون توکن
ورودی صوتی کش‌شده۱.۵۰ دلار / ۱ میلیون توکن
قیمت‌گذاری خروجی صوتی۷.۰۰ دلار / ۱ میلیون توکن
قیمت ذخیره‌سازی زمینه۰.۸۲۵ دلار / ۱ میلیون توکن (≤۲۰۰ هزار)، ۱.۰۰ دلار / ۱ میلیون توکن (>۲۰۰ هزار)
تاریخ قطع دانشژانویه ۲۰۲۵
نقاط قوتاستدلال پیشرفته، درک چندوجهی، حل مسائل پیچیده، عملکرد عاملی
بهترین برایاستدلال پیچیده، برنامه‌ریزی استراتژیک، کدنویسی پیشرفته، توسعه الگوریتم، تحقیق

بهبودهای کلیدی معیارها نسبت به Gemini 3 Pro:

  • آزمون آخر بشریت: 44.4% (در مقابل 37.5%) - بهترین در کلاس بدون ابزار
  • ARC-AGI-2: 77.1% (در مقابل 31.1%) - بهبود قابل توجه در استدلال انتزاعی
  • GPQA Diamond: 94.3% (در مقابل 91.9%) - دانش علمی برتر
  • Terminal-Bench 2.0: 68.5% (در مقابل 56.9%) - بهترین کدنویسی عاملی ترمینال
  • LiveCodeBench Pro: 2887 Elo (در مقابل 2439) - بهترین کدنویسی رقابتی
  • BrowseComp: 85.9% (در مقابل 59.2%) - جستجوی عاملی برتر
python
response = client.chat.completions.create(
    model="gemini-3.1-pro-preview",
    messages=[
        {"role": "system", "content": "شما یک متخصص در حل مسائل پیچیده هستید."},
        {
            "role": "user",
            "content": "یک راه‌حل جامع برای بهینه‌سازی یک سیستم توزیع‌شده در مقیاس بزرگ طراحی کنید.",
        },
    ],
    max_tokens=4096,
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-3.1-pro-preview` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="یک راه‌حل جامع برای بهینه‌سازی یک سیستم توزیع‌شده در مقیاس بزرگ طراحی کنید.",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

Gemini 3 Pro Image (Nano Banana Pro)

Gemini 3 Pro Image (gemini-3-pro-image)، همچنین با نام "Nano Banana Pro" شناخته می‌شود، پیشرفته‌ترین مدل تولید و ویرایش تصویر گوگل است که برای تولید دارایی‌های حرفه‌ای و دستورالعمل‌های بصری پیچیده طراحی شده است.

نسخه پایدار در دسترس: نام مستعار پایدار gemini-3-pro-image اکنون با قابلیت‌ها و قیمت‌گذاری یکسان در دسترس است. توصیه می‌کنیم برای محیط‌های تولید از gemini-3-pro-image استفاده کنید. برای جزئیات به به‌روزرسانی ۵ ژوئن ۲۰۲۶ مراجعه کنید.

ویژگیجزئیات
پنجره زمینهپشتیبانی از ورودی متن و تصویر
حداکثر خروجیتصاویر تا وضوح 4K (4096x4096px)، به علاوه پاسخ‌های متنی
ورودی‌هاپرامپت‌های متنی، تصاویر مرجع
خروجی‌هاتصاویر (وضوح 1K-4K) و متن
قیمت‌گذاری ورودی2.00 دلار / 1 میلیون توکن (متن)، 2.00 دلار / 1 میلیون توکن (ورودی تصویر، ~0.067 دلار به ازای هر تصویر)
قیمت‌گذاری خروجی12.00 دلار / 1 میلیون توکن (متن)، 0.134 دلار به ازای تصویر 1K-2K، 0.24 دلار به ازای تصویر 4K
قیمت ذخیره‌سازی زمینه0.50 دلار / 1 میلیون توکن
نقاط قوترندر متن پیشرفته (از جمله فارسی)، کنترل کیفیت استودیویی، دانش واقعی
بهترین برایگرافیک حرفه‌ای، مواد بازاریابی بومی‌سازی شده، تولید متن در تصویر، ویرایش تصویر
وضعیتپیش‌نمایش

ویژگی‌های کلیدی:

  • رندر متن پیشرفته: اولین مدل تولید تصویر که حروف فارسی را با دقت تقریبا کامل رندر می‌کند
  • کنترل کیفیت استودیویی: کنترل دقیق بر ترکیب‌بندی، نورپردازی، درجه‌بندی رنگ و نسبت ابعاد
  • دانش واقعی: استفاده از Google Search برای تولید تصویر دقیق و مبتنی بر واقعیت
  • پشتیبانی از وضوح: تولید تصاویر تا وضوح 4K (4096x4096px)
  • ویرایش تصویر: قابلیت‌های ویرایش جامع شامل تنظیم نسبت ابعاد، تغییر نورپردازی و ثبات سوژه
  • فرآیند "تفکر" پیش‌فرض: بهینه‌سازی ترکیب‌بندی قبل از تولید برای نتایج بهینه
  • پشتیبانی چند زبانه: قابلیت استثنایی برای بومی‌سازی طراحی‌ها در زبان‌های مختلف

قیمت‌گذاری خروجی تصویر: تصاویر از 1024x1024px (1K) تا 2048x2048px (2K) معادل 1120 توکن هستند (0.134 دلار به ازای هر تصویر). تصاویر تا 4096x4096px (4K) معادل 2000 توکن هستند (0.24 دلار به ازای هر تصویر).

استفاده از تنظیمات اختصاصی Gemini از طریق Endpoint سازگار با OpenAI: هنگام استفاده از gemini-3-pro-image از طریق endpoint سازگار با OpenAI (v1/chat/completions) و نیاز به استفاده از تنظیمات اختصاصی Gemini (پارامترهای غیر OpenAI)، باید دیکشنری generationConfig را از طریق extra_body ارسال کنید تا AvalAI بتواند آن را به ارائه‌دهنده نگاشت کند. این مدل از هر دو aspectRatio و imageSize در imageConfig پشتیبانی می‌کند. کاربران همچنین می‌توانند از API بومی Gemini (v1beta) برای دسترسی به Gemini از طریق schema API بومی و SDK رسمی گوگل استفاده کنند.

python
from openai import OpenAI

client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")

# تولید تصویر با متن
response = client.chat.completions.create(
    model="gemini-3-pro-image",
    messages=[
        {
            "role": "user",
            "content": "یک پوستر مینیمالیست با متن فارسی 'هوش مصنوعی' در یک سبک مدرن و الهام‌گرفته از فناوری با رنگ‌های آبی و سفید ایجاد کن",
        }
    ],
    modalities=["image", "text"],
)

# دسترسی به تصویر تولید شده
if hasattr(response.choices[0].message, "images"):
    images = getattr(response.choices[0].message, "images")
    for img in images:
        print(f"Image URL: {img.image_url.url[:100]}...")

print(response.choices[0].message.content)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-3-pro-image` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    input=[
        {
            "role": "user",
            "content": [
                {"type": "input_text", "text": "یک پوستر مینیمالیست با متن فارسی"},
                {"type": "input_image", "image_url": "https://example.com/image.png"},
            ],
        }
    ],
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

با generationConfig اختصاصی Gemini (aspectRatio و imageSize):

python
# تولید تصویر با نسبت ابعاد و اندازه سفارشی با استفاده از extra_body
response = client.chat.completions.create(
    model="gemini-3-pro-image",
    messages=[
        {
            "role": "user",
            "content": "تصویری از یک غذای موز نانو در یک رستوران مجلل با تم Gemini بساز",
        }
    ],
    modalities=["image", "text"],
    extra_body={
        "generationConfig": {"imageConfig": {"aspectRatio": "16:9", "imageSize": "2K"}}
    },
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-3-pro-image` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    input="تصویری از یک غذای موز نانو در یک رستوران مجلل با تم Gemini بساز",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

نمونه ویرایش تصویر:

python
# ویرایش تصویر موجود
response = client.chat.completions.create(
    model="gemini-3-pro-image",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "نسبت ابعاد را به 16:9 تغییر بده در حالی که سوژه در مرکز باقی بماند",
                },
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/original-image.jpg"},
                },
            ],
        }
    ],
    modalities=["image", "text"],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-3-pro-image` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    input=[
        {
            "role": "user",
            "content": [
                {"type": "input_text", "text": "Describe this image."},
                {"type": "input_image", "image_url": "https://example.com/image.png"},
            ],
        }
    ],
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

Gemini 3.1 Flash Image (Nano Banana 2)

Gemini 3.1 Flash Image (gemini-3.1-flash-image)، همچنین با نام "Nano Banana 2" شناخته می‌شود، مدل پربازده تولید و ویرایش تصویر گوگل است که برای سرعت و موارد استفاده توسعه‌دهندگان با حجم بالا بهینه‌سازی شده است. این مدل به عنوان همتای پربازده Gemini 3 Pro Image با نسبت قیمت به عملکرد استثنایی عمل می‌کند.

نسخه پایدار در دسترس: نام مستعار پایدار gemini-3.1-flash-image اکنون با قابلیت‌ها و قیمت‌گذاری یکسان در دسترس است. توصیه می‌کنیم برای محیط‌های تولید از gemini-3.1-flash-image استفاده کنید. برای جزئیات به به‌روزرسانی ۵ ژوئن ۲۰۲۶ مراجعه کنید.

ویژگیجزئیات
پنجره زمینهپشتیبانی از ورودی متن و تصویر
حداکثر خروجیتصاویر تا وضوح 4K (4096x4096px)، به علاوه پاسخ‌های متنی
ورودی‌هاپرامپت‌های متنی، تصاویر مرجع
خروجی‌هاتصاویر (وضوح 512px-4K) و متن
قیمت‌گذاری ورودی$0.50 / 1 میلیون توکن (متن)، $0.50 / 1 میلیون توکن (ورودی تصویر)
قیمت‌گذاری ورودی کش شده$0.25 / 1 میلیون توکن
قیمت‌گذاری خروجی$3.00 / 1 میلیون توکن (متن)، $60.00 / 1 میلیون توکن (خروجی تصویر)
قیمت‌گذاری به ازای هر تصویر$0.0672 برای تصویر 1K-2K، $0.101 برای تصویر 2K-4K، $0.151 برای تصویر 4K
نقاط قوتپربازده، تولید سریع، دانش جهانی با جستجوی وب، رندر متن پیشرفته
بهترین برایبرنامه‌های با حجم بالا، تکرارهای سریع، تولید تصویر مقرون به صرفه، گردش‌های کاری تولید
وضعیتپیش‌نمایش

ویژگی‌های کلیدی:

  • دانش جهانی بهبود یافته: استفاده از دانش گسترده Gemini با پایه‌گذاری جستجوی وب برای ایجاد تصاویر بهبود یافته
  • رندر متن پیشرفته: رندر متن قابل اعتماد و واضح با بومی‌سازی درون تصویر با پشتیبانی از چندین زبان
  • کنترل خلاقانه بیشتر: نورپردازی پرجنب و جوش، بافت‌های غنی‌تر، جزئیات تیزتر با سطوح تفکر قابل تنظیم
  • نسبت ابعاد بومی: پشتیبانی از تمام نسبت‌های موجود به علاوه نسبت‌های جدید 4:1، 1:4، 8:1 و 1:8
  • وضوح جدید 512px: بهینه‌سازی برای کارایی با حداقل تاخیر برای تکرارهای سریع
  • پیروی بهبود یافته از دستورالعمل: پایبندی دقیق‌تر به دستورات پیچیده و چندلایه
  • پایه‌گذاری جستجوی تصویر گوگل: تولید تصاویر بر اساس مراجع تصویر دنیای واقعی (انحصاری برای 3.1 Flash)

قیمت‌گذاری خروجی تصویر: تصاویر از 1024x1024px (1K) تا 2048x2048px (2K) به قیمت $0.0672 به ازای هر تصویر. تصاویر از 2K تا 4K به قیمت $0.101 به ازای هر تصویر. تصاویر با وضوح 4K به قیمت $0.151 به ازای هر تصویر.

استفاده از تنظیمات اختصاصی Gemini از طریق Endpoint سازگار با OpenAI: هنگام استفاده از gemini-3.1-flash-image از طریق endpoint سازگار با OpenAI (v1/chat/completions) و نیاز به استفاده از تنظیمات اختصاصی Gemini (پارامترهای غیر OpenAI)، باید دیکشنری generationConfig را از طریق extra_body ارسال کنید تا AvalAI بتواند آن را به ارائه‌دهنده نگاشت کند. این مدل از هر دو aspectRatio و imageSize در imageConfig پشتیبانی می‌کند. کاربران همچنین می‌توانند از API بومی Gemini (v1beta) برای دسترسی به Gemini از طریق schema API بومی و SDK رسمی گوگل استفاده کنند.

python
from openai import OpenAI

client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")

# تولید تصویر با متن
response = client.chat.completions.create(
    model="gemini-3.1-flash-image",
    messages=[
        {
            "role": "user",
            "content": "یک تصویر فتورئالیستیک از غذای موز نانو در یک رستوران مجلل با تم Gemini بساز",
        }
    ],
    modalities=["image", "text"],
)

# دسترسی به تصویر تولید شده
if hasattr(response.choices[0].message, "images"):
    images = getattr(response.choices[0].message, "images")
    for img in images:
        print(f"Image URL: {img.image_url.url[:100]}...")

print(response.choices[0].message.content)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-3.1-flash-image` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    input=[
        {
            "role": "user",
            "content": [
                {
                    "type": "input_text",
                    "text": "یک تصویر فتورئالیستیک از غذای موز نانو در یک رستوران مجلل با تم Gemini بساز",
                },
                {"type": "input_image", "image_url": "https://example.com/image.png"},
            ],
        }
    ],
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

با generationConfig اختصاصی Gemini (aspectRatio و imageSize):

python
# تولید تصویر با نسبت ابعاد و اندازه سفارشی با استفاده از extra_body
response = client.chat.completions.create(
    model="gemini-3.1-flash-image",
    messages=[
        {
            "role": "user",
            "content": "تصویری از یک غذای موز نانو در یک رستوران مجلل با تم Gemini بساز",
        }
    ],
    modalities=["image", "text"],
    extra_body={
        "generationConfig": {"imageConfig": {"aspectRatio": "16:9", "imageSize": "2K"}}
    },
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-3.1-flash-image` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    input="تصویری از یک غذای موز نانو در یک رستوران مجلل با تم Gemini بساز",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

نمونه ویرایش تصویر:

python
# ویرایش تصویر موجود
response = client.chat.completions.create(
    model="gemini-3.1-flash-image",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "این تصویر را به سبک سایبرپانک با رنگ‌های نئون تبدیل کن",
                },
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/original-image.jpg"},
                },
            ],
        }
    ],
    modalities=["image", "text"],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-3.1-flash-image` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    input=[
        {
            "role": "user",
            "content": [
                {"type": "input_text", "text": "Describe this image."},
                {"type": "input_image", "image_url": "https://example.com/image.png"},
            ],
        }
    ],
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

Gemini 3.1 Flash Lite Image (Nano Banana 2 Lite)

مدل Gemini 3.1 Flash Lite Image (gemini-3.1-flash-lite-image)، همچنین با نام "Nano Banana 2 Lite" شناخته می‌شود، متخصص کارایی در خانواده تولید تصویر Gemini است. این مدل تاخیر زیر ۲ ثانیه و هزینه‌های محاسباتی به طور قابل توجهی کاهش‌یافته را هدف قرار می‌دهد و موارد استفاده تعاملی توسعه‌دهندگان با حجم بالا و برنامه‌های مصرف‌کننده بلادرنگ را ممکن می‌سازد، در حالی که کیفیت Nano Banana را در وضوح 1K حفظ می‌کند.

ویژگیجزئیات
پنجره زمینه65,536 توکن ورودی، 4,096 توکن خروجی
حداکثر خروجیتصاویر در وضوح 1K (1024x1024px)، به علاوه پاسخ‌های متنی
ورودی‌هاپرامپت‌های متنی، تصاویر مرجع
خروجی‌هاتصاویر (وضوح 1K) و متن
قیمت‌گذاری ورودی$0.25 / 1M توکن (متن)، $0.25 / 1M توکن (ورودی تصویر)
قیمت‌گذاری ورودی کش شده$0.05 / 1M توکن
قیمت‌گذاری خروجی$1.50 / 1M توکن (متن)، $30.00 / 1M توکن (خروجی تصویر)
قیمت‌گذاری هر تصویر$0.0336 به ازای هر تصویر 1K
تاریخ قطع دانشژانویه ۲۰۲۵
نقاط قوتتاخیر بسیار کم، مقرون‌به‌صرفه در مقیاس، تولید و ویرایش درهم‌تنیده
بهترین برایبرنامه‌های تعاملی با حجم بالا، تولید بلادرنگ، تکرار سریع، ویرایش‌های محلی چندنوبتی
وضعیتپایدار

ویژگی‌های کلیدی:

  • تاخیر زیر ۲ ثانیه: بهینه‌سازی شده برای تاخیر بسیار کم و سرتاسری برای تکرار سریع و تعاملی
  • مقرون‌به‌صرفه در مقیاس: تولید هزاران تصویر با کسری از هزینه مدل‌های سنگین‌تر تولید
  • تولید و ویرایش درهم‌تنیده: پشتیبانی بومی از Text → Text + Image(s) و Image + Text → Text + Image(s)
  • ویرایش‌های محلی سریع چندنوبتی: تعویض رنگ‌ها، ساخت استیکر و تنظیم پس‌زمینه در نوبت‌های مکالمه‌ای سریع
  • سازگاری شخصیت: حفظ همترازی بالای شخصیت مطابق با استانداردهای اصلی Nano Banana
  • ۱۴ نسبت ابعاد: پشتیبانی از 1:1، 3:2، 2:3، 3:4، 4:3، 4:5، 5:4، 9:16، 16:9، 21:9 و فرمت‌های استاندارد دیگر
  • فراخوانی تابع و تفکر: فراخوانی تابع و تفکر (حداقلی و بالا) پشتیبانی می‌شود
  • واترمارک SynthID + C2PA: واترمارک همیشه‌فعال برای تصاویر تولیدشده توسط هوش مصنوعی

قیمت‌گذاری خروجی تصویر: خروجی تصویر به قیمت $30 به ازای هر 1M توکن است. تصاویر خروجی در وضوح 1K (1024x1024px) تقریبا 1,120 توکن مصرف می‌کنند که معادل $0.0336 به ازای هر تصویر است. توجه: تنها وضوح 1K (1024px) پشتیبانی می‌شود؛ 2K و 4K برای این مدل در دسترس نیستند.

استفاده از تنظیمات اختصاصی Gemini از طریق Endpoint سازگار با OpenAI: هنگام استفاده از gemini-3.1-flash-lite-image از طریق endpoint سازگار با OpenAI (v1/chat/completions) و نیاز به استفاده از تنظیمات اختصاصی Gemini (پارامترهای غیر OpenAI)، باید دیکشنری generationConfig را از طریق extra_body ارسال کنید تا AvalAI بتواند آن را به ارائه‌دهنده نگاشت کند. این مدل از aspectRatioimageSize ثابت روی 1K) در imageConfig پشتیبانی می‌کند. کاربران همچنین می‌توانند از API بومی Gemini (v1beta) برای دسترسی به Gemini از طریق طرحواره API بومی و SDK رسمی گوگل استفاده کنند.

python
from openai import OpenAI

client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")

# تولید تصویر با متن
response = client.chat.completions.create(
    model="gemini-3.1-flash-lite-image",
    messages=[
        {
            "role": "user",
            "content": "Create a photorealistic macro photograph of a colorful spider covered in water droplets on its web",
        }
    ],
    modalities=["image", "text"],
)

# دسترسی به تصویر تولیدشده
if hasattr(response.choices[0].message, "images"):
    images = getattr(response.choices[0].message, "images")
    for img in images:
        print(f"Image URL: {img.image_url.url[:100]}...")

print(response.choices[0].message.content)

با generationConfig اختصاصی Gemini (aspectRatio):

python
# تولید تصویر با نسبت ابعاد سفارشی در وضوح 1K با استفاده از extra_body
response = client.chat.completions.create(
    model="gemini-3.1-flash-lite-image",
    messages=[
        {
            "role": "user",
            "content": "A dynamic action shot of a swimmer performing the butterfly stroke",
        }
    ],
    modalities=["image", "text"],
    extra_body={
        "generationConfig": {"imageConfig": {"aspectRatio": "16:9", "imageSize": "1K"}}
    },
)

نمونه ویرایش محلی سریع:

python
# انجام یک ویرایش محلی سریع چندنوبتی
response = client.chat.completions.create(
    model="gemini-3.1-flash-lite-image",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Change the background of this product photo to a soft studio gradient",
                },
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/original-image.jpg"},
                },
            ],
        }
    ],
    modalities=["image", "text"],
)

Gemini 3.1 Flash-Lite (پایدار) و Preview

Gemini 3.1 Flash-Lite (gemini-3.1-flash-lite) نسخه پایدار مقرون‌به‌صرفه‌ترین مدل چندوجهی Gemini 3 گوگل است. alias قبلی gemini-3.1-flash-lite-preview همچنان با همان قیمت‌گذاری و قابلیت‌ها در دسترس است، اما برای یکپارچه‌سازی‌های production استفاده از alias پایدار توصیه می‌شود. این مدل برای وظایف عاملی با حجم بالا، استخراج داده ساده و برنامه‌های با تاخیر بسیار کم که بودجه و سرعت محدودیت‌های اصلی هستند، بهترین گزینه است.

ویژگیجزئیات
پنجره زمینه۱,۰۴۸,۵۷۶ توکن ورودی، ۶۵,۵۳۶ توکن خروجی
ورودی‌هامتن، تصویر، ویدیو، صدا، PDF
خروجیمتن
قیمت‌گذاری ورودی$0.25 / ۱ میلیون توکن
قیمت‌گذاری ورودی کش شده$0.025 / ۱ میلیون توکن
قیمت‌گذاری خروجی$1.50 / ۱ میلیون توکن
قیمت‌گذاری ورودی صوتی$0.50 / ۱ میلیون توکن
قیمت ورودی صوتی کش شده$0.05 / ۱ میلیون توکن
قیمت‌گذاری خروجی صوتی$1.50 / ۱ میلیون توکن
تاریخ قطع دانشژانویه ۲۰۲۵
نقاط قوتمقرون‌به‌صرفه، سریع‌ترین عملکرد، ورودی چندوجهی، پشتیبانی از تفکر
بهترین برایوظایف عاملی حجم بالا، ترجمه، رونویسی، استخراج داده، مسیریابی مدل

قابلیت‌های کلیدی:

  • Batch API: پشتیبانی از پردازش حجم بالا
  • ذخیره‌سازی زمینه: پشتیبانی برای زمینه‌های تکراری کارآمد
  • اجرای کد: اجرای مستقیم کد در مدل
  • جستجوی فایل: جستجو در فایل‌های آپلود شده
  • فراخوانی تابع: پشتیبانی کامل از استفاده از ابزار و گردش‌های کاری عاملی
  • پایه‌گذاری جستجو: یکپارچه‌سازی Google Search برای پاسخ‌های دقیق
  • خروجی‌های ساختاریافته: تولید پاسخ‌های JSON ساختاریافته با اعتبارسنجی schema
  • تفکر/استدلال: سطوح تفکر قابل تنظیم (کم، متوسط، زیاد) برای استدلال گام‌به‌گام
  • زمینه URL: دریافت و پردازش مستقیم محتوای وب

بهترین موارد استفاده:

  • ترجمه: ترجمه سریع، ارزان و حجم بالا برای پیام‌های چت، نظرات، تیکت‌های پشتیبانی
  • رونویسی: رونویسی صوتی و ویدیویی بدون راه‌اندازی خطوط لوله تبدیل گفتار به متن جداگانه
  • استخراج داده: استخراج موجودیت، طبقه‌بندی و پردازش داده سبک با خروجی JSON
  • خلاصه‌سازی اسناد: تجزیه PDF و بازگرداندن خلاصه‌های مختصر برای خطوط لوله پردازش اسناد
  • مسیریابی مدل: استفاده به عنوان طبقه‌بندی‌کننده کم‌هزینه برای هدایت کوئری‌ها به مدل‌های مناسب بر اساس پیچیدگی وظیفه
python
response = client.chat.completions.create(
    model="gemini-3.1-flash-lite",
    messages=[
        {
            "role": "user",
            "content": "متن زیر را به آلمانی ترجمه کنید: سلام، دوست داری بعدا پیتزا بخوریم؟ من خیلی گرسنه‌ام!",
        },
    ],
)

print(response.choices[0].message.content)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-3.1-flash-lite` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="متن زیر را به آلمانی ترجمه کنید: سلام، دوست داری بعدا پیتزا بخوریم؟ من خیلی گرسنه‌ام!",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

با فعال‌سازی تفکر:

python
response = client.chat.completions.create(
    model="gemini-3.1-flash-lite",
    messages=[{"role": "user", "content": "هوش مصنوعی چگونه کار می‌کند؟"}],
    extra_body={"generationConfig": {"thinkingConfig": {"thinkingLevel": "high"}}},
)

print(response.choices[0].message.content)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-3.1-flash-lite` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="هوش مصنوعی چگونه کار می‌کند؟",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

Gemini 3 Flash Preview

Gemini 3 Flash Preview (gemini-3-flash-preview) یک پیش‌نمایش قدیمی‌تر Flash است که برای سرعت، پایه‌گذاری جستجو و کار چندوجهی بهینه شده است. این مدل برای سازگاری همچنان در دسترس است، اما برای یکپارچه‌سازی‌های production جدید معمولا بهتر است از gemini-3.5-flash یا، در صورت اولویت هزینه، alias پایدار gemini-3.1-flash-lite شروع کنید.

ویژگیجزئیات
پنجره زمینهتا ۱,۰۴۸,۵۷۶ توکن (۱M)
حداکثر توکن خروجی۶۵,۵۳۶ توکن
ورودی‌هامتن، تصویر، ویدیو، صدا، PDF
خروجیمتن
قیمت‌گذاری ورودی$0.50 / 1M توکن
قیمت‌گذاری ورودی کش شده$0.25 / 1M توکن
قیمت‌گذاری خروجی$3.00 / 1M توکن
قیمت‌گذاری ورودی صوتی$1.50 / 1M توکن
قیمت‌گذاری ورودی صوتی کش شده$0.50 / 1M توکن
قیمت‌گذاری خروجی صوتی$1.50 / 1M توکن
تاریخ قطع دانشژانویه ۲۰۲۵
نقاط قوتسرعت، کارایی، استدلال سطح حرفه‌ای، پایه‌گذاری جستجو، قابلیت‌های تفکر
بهترین برایوظایف روزمره، تحلیل ویدیو، استخراج داده، پرسش و پاسخ بصری، گردش‌های کاری سریع

قابلیت‌های کلیدی:

  • Batch API: پشتیبانی می‌شود
  • کش کردن زمینه: پشتیبانی برای زمینه‌های تکراری کارآمد
  • اجرای کد: اجرای مستقیم کد در مدل
  • جستجوی فایل: جستجو در فایل‌های آپلود شده
  • فراخوانی تابع: پشتیبانی کامل از استفاده از ابزار و گردش‌های کاری عاملی
  • پایه‌گذاری جستجو: جستجو و پایه‌گذاری برتر با دانش دنیای واقعی
  • خروجی‌های ساختاریافته: تولید پاسخ‌های JSON ساختاریافته
  • تفکر/استدلال: استدلال داخلی برای حل مسائل پیچیده
  • متن URL: پردازش و درک محتوای صفحات وب

عملکرد در معیارها:

  • آزمون آخر بشریت: ۳۳.۷٪ (بدون استفاده از ابزار) - هم‌سطح با GPT-5.2 (۳۴.۵٪)
  • MMMU-Pro: ۸۱.۲٪ - از همه رقبا از جمله GPT-5.2 (۷۹.۵٪) پیشی گرفته
  • ۳ برابر سریع‌تر از Gemini 2.5 Pro با عملکرد هم‌سطح
  • به طور متوسط ۳۰٪ کمتر توکن برای وظایف تفکر نسبت به 2.5 Pro استفاده می‌کند
python
response = client.chat.completions.create(
    model="gemini-3-flash-preview",
    messages=[
        {"role": "system", "content": "شما یک دستیار مفید هستید."},
        {
            "role": "user",
            "content": "مفهوم درهم‌تنیدگی کوانتومی را به زبان ساده توضیح بده.",
        },
    ],
    max_tokens=2048,
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-3-flash-preview` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="مفهوم درهم‌تنیدگی کوانتومی را به زبان ساده توضیح بده.",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

نمونه چندوجهی:

python
response = client.chat.completions.create(
    model="gemini-3-flash-preview",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "در این تصویر چیست؟"},
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/image.jpg"},
                },
            ],
        }
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-3-flash-preview` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    input=[
        {
            "role": "user",
            "content": [
                {"type": "input_text", "text": "Describe this image."},
                {"type": "input_image", "image_url": "https://example.com/image.png"},
            ],
        }
    ],
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

Gemini 2.5 Pro

Gemini 2.5 Pro (gemini-2.5-pro) مدل چندمنظوره پیشرفته گوگل است که در کدنویسی و وظایف استدلالی پیچیده برتری دارد.

ویژگیجزئیات
پنجره زمینهتا ۱ میلیون توکن (حداکثر ورودی)
حداکثر توکن خروجی۶۵٬۵۳۶ توکن
ورودی‌هاصدا، تصاویر، ویدیوها و متن
خروجیمتن
قیمت‌گذاری ورودی (<۲۰۰ هزار)۱.۲۵ دلار / ۱ میلیون توکن (متن)
قیمت‌گذاری خروجی (<۲۰۰ هزار)۱۰.۰۰ دلار / ۱ میلیون توکن (متن، شامل توکن‌های تفکر)
قیمت‌گذاری ورودی (>۲۰۰ هزار)۲.۵۰ دلار / ۱ میلیون توکن (متن)
قیمت‌گذاری خروجی (>۲۰۰ هزار)۱۵.۰۰ دلار / ۱ میلیون توکن (متن، شامل توکن‌های تفکر)
قیمت ذخیره‌سازی زمینه۰.۳۱ دلار / ۱ میلیون توکن (≤۲۰۰ هزار)، ۰.۶۲۵ دلار / ۱ میلیون توکن (>۲۰۰ هزار)، ۴.۵۰ دلار / ۱ میلیون توکن در ساعت (ذخیره‌سازی)
نقاط قوتتفکر و استدلال پیشرفته، درک چندوجهی، کدنویسی پیشرفته
بهترین برایوظایف استدلالی پیچیده، تحقیق، تولید کد، تحلیل چندوجهی
استدلالپشتیبانی از تفکر قابل تنظیم از طریق پارامتر thinking

توجه: قیمت‌گذاری برای ورودی‌های بیش از ۲۰۰ هزار توکن افزایش می‌یابد. قیمت‌گذاری صدا/ویدیو/تصویر به طور جداگانه اعمال می‌شود.

python
response = client.chat.completions.create(
    model="gemini-2.5-pro",
    messages=[
        {"role": "system", "content": "شما یک تحلیلگر چندوجهی خبره هستید."},
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "این کد را تحلیل کنید و بهبودهایی پیشنهاد دهید:",
                },
                {
                    "type": "text",
                    "text": "def factorial(n):\n if n == 0:\n return 1\n else:\n return n * factorial(n-1)",
                },
            ],
        },
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-pro` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="Write a one-sentence summary of AvalAI.",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

Gemini 2.5 Flash

Gemini 2.5 Flash (gemini-2.5-flash-preview-05-20) اولین مدل استدلال ترکیبی گوگل است که از پنجره زمینه ۱ میلیون توکنی پشتیبانی می‌کند و دارای بودجه‌های تفکر است.

ویژگیجزئیات
پنجره زمینهتا ۱ میلیون توکن (حداکثر ورودی)
حداکثر توکن خروجی۸٬۱۹۲ توکن
ورودی‌هاصدا، تصاویر، ویدیوها و متن
خروجیمتن
قیمت‌گذاری ورودی۰.۱۵ دلار / ۱ میلیون توکن (متن/تصویر/ویدیو)، ۱.۰۰ دلار / ۱ میلیون توکن (صدا)
قیمت‌گذاری خروجیبدون تفکر: ۰.۶۰ دلار / ۱ میلیون توکن، با تفکر: ۳.۵۰ دلار / ۱ میلیون توکن
قیمت ذخیره‌سازی زمینه۰.۰۳۷۵ دلار / ۱ میلیون توکن (متن/تصویر/ویدیو)، ۰.۲۵ دلار / ۱ میلیون توکن (صدا)، ۱.۰۰ دلار / ۱ میلیون توکن در ساعت (ذخیره‌سازی)
نقاط قوتتفکر انطباقی، کارایی هزینه، پنجره زمینه ۱ میلیون توکنی
بهترین برایوظایف پیچیده که نیاز به استدلال کارآمد با کنترل هزینه دارند
استدلالپشتیبانی از بودجه‌های تفکر قابل تنظیم از طریق پارامتر thinking
python
response = client.chat.completions.create(
    model="gemini-2.5-flash",
    messages=[
        {
            "role": "user",
            "content": "اصول کلیدی یادگیری ماشین را به صورت مختصر خلاصه کنید.",
        },
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-flash` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="اصول کلیدی یادگیری ماشین را به صورت مختصر خلاصه کنید.",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

برای کنترل قابلیت‌های تفکر/استدلال مدل، می‌توانید از پارامتر thinking استفاده کنید:

نکته

thinking_budget تنها در Gemini 2.5 Flash پشتیبانی می‌شود. این اطلاعات در زمان نگارش این مطلب صحیح است و ممکن است در طول زمان تغییر کند. برای آخرین اطلاعات، به مستندات رسمی Google AI مراجعه کنید.

python
# استفاده از کتابخانه‌های کلاینت OpenAI با AvalAI
response = client.chat.completions.create(
    model="gemini-2.5-flash",
    messages=[{"role": "user", "content": "این مسئله پیچیده را گام به گام حل کن..."}],
    extra_body={
        "thinking": {"type": "enabled", "budget_tokens": 2000}
    },  # اجازه استفاده تا 2000 توکن برای استدلال
)

# استفاده از فراخوانی‌های مستقیم API
# پارامتر thinking مستقیما در بدنه درخواست قرار می‌گیرد
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-flash` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="این مسئله پیچیده را گام به گام حل کن...",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

تنظیم budget_tokens به 0 تفکر را غیرفعال می‌کند، در حالی که یک مقدار مثبت مانند 2000 به مدل اجازه می‌دهد تا حداکثر آن تعداد توکن را برای استدلال استفاده کند. این هم بر قیمت‌گذاری و هم بر عمق تحلیلی که مدل می‌تواند انجام دهد تاثیر می‌گذارد.

مدل‌های تولید ویدیوی Veo 3.1

سری Veo 3.1 گوگل قابلیت‌های پیشرفته تولید ویدیوی هوش مصنوعی را ارائه می‌دهد و به توسعه‌دهندگان امکان می‌دهد ویدیوهای با کیفیت بالا را از پرامپت‌های متنی یا تصاویر مرجع ایجاد کنند. این مدل‌ها دارای تولید صدای بومی، کیفیت بصری بهبود یافته و رعایت بهتر پرامپت هستند.

Veo 3.1 Generate

Veo 3.1 Generate (veo-3.1-generate-001) کیفیت خروجی برتر با صدای بومی غنی، مکالمات طبیعی و جلوه‌های صوتی همگام‌سازی شده ارائه می‌دهد.

ویژگیجزئیات
حداکثر مدت زمان8 ثانیه (همچنین از 4، 6 ثانیه پشتیبانی می‌کند)
ورودی‌هاپرامپت‌های متنی، تصاویر مرجع
خروجیویدیو با صدا (MP4)
رزولوشن‌ها720p، 1080p (فقط 16:9)
نسبت‌های تصویر16:9 (افقی)، 9:16 (عمودی)
صداصدای بومی با جلوه‌های صوتی و صدای محیطی
قیمت‌گذاری خروجی0.40 دلار / ثانیه ویدیو
نقاط قوتبالاترین کیفیت، صدای غنی، ثبات کاراکتر
بهترین برایمحتوای آماده تولید، ویدیوهای حرفه‌ای، کیفیت سینمایی
وضعیتپایدار

ویژگی‌های کلیدی:

  • تولید صدای بومی: ویدیوها شامل صدای همگام‌سازی شده با جلوه‌های صوتی طبیعی هستند
  • تصویر-به-ویدیو: تولید ویدیو از تصاویر مرجع با رعایت بهتر پرامپت
  • تصاویر مرجع: استفاده از تا 3 تصویر مرجع برای ثبات کاراکتر/سبک
  • گسترش ویدیو: گسترش ویدیوهای موجود برای ایجاد توالی‌های طولانی‌تر
  • رزولوشن بالا: پشتیبانی از خروجی 1080p در نسبت تصویر 16:9
python
from openai import OpenAI
import time

client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")

# تولید ویدیو از متن
video = client.videos.create(
    model="veo-3.1-generate-001",
    prompt="دریاچه‌ای آرام در غروب خورشید با کوه‌ها در پس‌زمینه، موج‌های ملایم روی سطح آب",
    seconds="8",
)

print(f"تولید ویدیو شروع شد: {video.id}")

# دریافت وضعیت برای تکمیل
while True:
    video_status = client.videos.retrieve(video.id)

    if video_status.status == "completed":
        print(f"ویدیو آماده است! ID: {video.id}")

        # دانلود ویدیو
        content = client.videos.download_content(video.id)
        with open("output.mp4", "wb") as f:
            f.write(content.read())
        print("ویدیو با موفقیت دانلود شد!")
        break
    elif video_status.status == "failed":
        print(f"تولید ناموفق بود: {video_status.error}")
        break

    time.sleep(10)

Veo 3.1 Fast Generate

Veo 3.1 Fast Generate (veo-3.1-fast-generate-001) برای سرعت بهینه شده است در حالی که کیفیت بالا را حفظ می‌کند، ایده‌آل برای تکرار سریع و پروژه‌های با حجم بالا.

ویژگیجزئیات
حداکثر مدت زمان8 ثانیه (همچنین از 4، 6 ثانیه پشتیبانی می‌کند)
ورودی‌هاپرامپت‌های متنی، تصاویر مرجع
خروجیویدیو با صدا (MP4)
رزولوشن‌ها720p، 1080p (فقط 16:9)
نسبت‌های تصویر16:9 (افقی)، 9:16 (عمودی)
صداصدای بومی با کیفیت بالا
قیمت‌گذاری خروجی0.15 دلار / ثانیه ویدیو
نقاط قوتتولید سریع، مقرون‌به‌صرفه، کیفیت بالا
بهترین برایتکرار سریع، برنامه‌های با حجم بالا، پروژه‌های حساس به هزینه
وضعیتپایدار
python
# تولید سریع ویدیو برای تکرارهای سریع
video = client.videos.create(
    model="veo-3.1-fast-generate-001",
    prompt="گربه‌ای که در یک باغ آفتابی با توپ نخ بازی می‌کند",
    seconds="4",
)

print(f"تولید سریع ویدیو شروع شد: {video.id}")

تولید تصویر-به-ویدیو

از تصاویر مرجع برای هدایت تولید ویدیو استفاده کنید:

python
# تولید ویدیو از تصویر مرجع
video = client.videos.create(
    model="veo-3.1-generate-001",
    prompt="منظره زنده می‌شود با آب جاری و ابرهای متحرک، پرندگان در بالای سر پرواز می‌کنند",
    input_reference=open("reference_image.jpg", "rb"),
    seconds="8",
)

کنترل نسبت تصویر و رزولوشن

python
# افقی 1080p
video_landscape = client.videos.create(
    model="veo-3.1-generate-001",
    prompt="تصویر هوایی پهپاد از شهر ساحلی در غروب خورشید",
    size="1920x1080",  # نگاشت به نسبت تصویر 16:9 در 1080p
    seconds="8",
)

# ویدیوی عمودی برای رسانه‌های اجتماعی
video_portrait = client.videos.create(
    model="veo-3.1-fast-generate-001",
    prompt="مدل فشن که در خیابان شهر راه می‌رود",
    size="1080x1920",  # نگاشت به نسبت تصویر 9:16
    seconds="6",
)

برای راهنمای جامع استفاده از مدل‌های Veo برای تولید ویدیو، راهنمای تولید ویدیو با استفاده از Veo و اطلاعیه Veo 3.1 را ببینید.

Gemini Flash Latest

Gemini Flash Latest (gemini-flash-latest) نام مستعاری است که به جدیدترین مدل پیش‌نمایش Gemini 2.5 Flash (gemini-2.5-flash-preview-09-2025) اشاره می‌کند و قابلیت‌های استدلال ترکیبی با پنجره زمینه ۱ میلیون توکنی ارائه می‌دهد.

ویژگیجزئیات
پنجره زمینهتا ۱ میلیون توکن (حداکثر ورودی)
حداکثر توکن خروجی۸٬۱۹۲ توکن
ورودی‌هاصدا، تصاویر، ویدیوها و متن
خروجیمتن
قیمت‌گذاری ورودی۰.۳۰ دلار / ۱ میلیون توکن (متن/تصویر/ویدیو)، ۱.۰۰ دلار / ۱ میلیون توکن (صدا)
قیمت‌گذاری ورودی کش شده۰.۱۵ دلار / ۱ میلیون توکن (متن/تصویر/ویدیو)، ۰.۲۵ دلار / ۱ میلیون توکن (صدا)
قیمت‌گذاری خروجی۲.۵۰ دلار / ۱ میلیون توکن
نقاط قوتآخرین ویژگی‌های پیش‌نمایش، استدلال ترکیبی، پنجره زمینه ۱ میلیون توکنی
بهترین برایوظایف استدلالی پیچیده، پردازش اسناد گسترده، تحلیل چندوجهی
تاریخ قطع دانشژانویه ۲۰۲۵
python
response = client.chat.completions.create(
    model="gemini-flash-latest",
    messages=[
        {
            "role": "user",
            "content": "این سناریو پیچیده را تحلیل کنید و استدلال دقیق ارائه دهید.",
        },
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-flash-latest` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="این سناریو پیچیده را تحلیل کنید و استدلال دقیق ارائه دهید.",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

Gemini 2.5 Flash Preview 09-2025

Gemini 2.5 Flash Preview 09-2025 (gemini-2.5-flash-preview-09-2025) جدیدترین نسخه پیش‌نمایش Gemini 2.5 Flash با قابلیت‌های استدلال بهبود یافته و عملکرد پیشرفته است.

ویژگیجزئیات
پنجره زمینهتا ۱ میلیون توکن (حداکثر ورودی)
حداکثر توکن خروجی۸٬۱۹۲ توکن
ورودی‌هاصدا، تصاویر، ویدیوها و متن
خروجیمتن
قیمت‌گذاری ورودی۰.۳۰ دلار / ۱ میلیون توکن (متن/تصویر/ویدیو)، ۱.۰۰ دلار / ۱ میلیون توکن (صدا)
قیمت‌گذاری ورودی کش شده۰.۱۵ دلار / ۱ میلیون توکن (متن/تصویر/ویدیو)، ۰.۲۵ دلار / ۱ میلیون توکن (صدا)
قیمت‌گذاری خروجی۲.۵۰ دلار / ۱ میلیون توکن
نقاط قوتاستدلال بهبود یافته، عملکرد پیشرفته، قابلیت‌های چندوجهی
بهترین برایوظایف استدلالی پیشرفته، حل مسائل پیچیده، تحلیل چندوجهی
تاریخ قطع دانشژانویه ۲۰۲۵
python
response = client.chat.completions.create(
    model="gemini-2.5-flash-preview-09-2025",
    messages=[
        {
            "role": "user",
            "content": "این مسئله چندمرحله‌ای را با استدلال دقیق حل کنید.",
        },
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-flash-preview-09-2025` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="این مسئله چندمرحله‌ای را با استدلال دقیق حل کنید.",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

Gemini Flash Lite Latest

Gemini Flash Lite Latest (gemini-flash-lite-latest) نام مستعاری است که به مقرون‌به‌صرفه‌ترین مدل Gemini (gemini-2.5-flash-lite-preview-09-2025) اشاره می‌کند که برای استفاده در مقیاس بالا بهینه شده است.

ویژگیجزئیات
پنجره زمینهتا ۱ میلیون توکن (حداکثر ورودی)
حداکثر توکن خروجی۸٬۱۹۲ توکن
ورودی‌هاصدا، تصاویر، ویدیوها و متن
خروجیمتن
قیمت‌گذاری ورودی۰.۱۰ دلار / ۱ میلیون توکن (متن/تصویر/ویدیو)، ۰.۱۰ دلار / ۱ میلیون توکن (صدا)
قیمت‌گذاری ورودی کش شده۰.۰۵ دلار / ۱ میلیون توکن (متن/تصویر/ویدیو)، ۰.۰۵ دلار / ۱ میلیون توکن (صدا)
قیمت‌گذاری خروجی۰.۴۰ دلار / ۱ میلیون توکن
نقاط قوتمقرون‌به‌صرفه‌ترین، بهینه برای مقیاس، عملکرد مناسب
بهترین برایبرنامه‌های پرحجم، پروژه‌های حساس به هزینه، پردازش دسته‌ای
تاریخ قطع دانشژانویه ۲۰۲۵
python
response = client.chat.completions.create(
    model="gemini-flash-lite-latest",
    messages=[
        {
            "role": "user",
            "content": "این متن را به صورت کارآمد با بهینه‌سازی هزینه پردازش کنید.",
        },
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-flash-lite-latest` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="این متن را به صورت کارآمد با بهینه‌سازی هزینه پردازش کنید.",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

Gemini 2.5 Flash Lite Preview 09-2025

Gemini 2.5 Flash Lite Preview 09-2025 (gemini-2.5-flash-lite-preview-09-2025) کوچک‌ترین و مقرون‌به‌صرفه‌ترین مدل در سری Gemini 2.5 است که برای استفاده در مقیاس طراحی شده است.

ویژگیجزئیات
پنجره زمینهتا ۱ میلیون توکن (حداکثر ورودی)
حداکثر توکن خروجی۸٬۱۹۲ توکن
ورودی‌هاصدا، تصاویر، ویدیوها و متن
خروجیمتن
قیمت‌گذاری ورودی۰.۱۰ دلار / ۱ میلیون توکن (متن/تصویر/ویدیو)، ۰.۱۰ دلار / ۱ میلیون توکن (صدا)
قیمت‌گذاری ورودی کش شده۰.۰۵ دلار / ۱ میلیون توکن (متن/تصویر/ویدیو)، ۰.۰۵ دلار / ۱ میلیون توکن (صدا)
قیمت‌گذاری خروجی۰.۴۰ دلار / ۱ میلیون توکن
نقاط قوتفوق‌العاده مقرون‌به‌صرفه، عملکرد مناسب برای وظایف ساده، مقیاس‌پذیر
بهترین برایاستقرارهای بزرگ‌مقیاس، برنامه‌های حساس به هزینه، وظایف با پیچیدگی ساده تا متوسط
تاریخ قطع دانشژانویه ۲۰۲۵
python
response = client.chat.completions.create(
    model="gemini-2.5-flash-lite-preview-09-2025",
    messages=[
        {
            "role": "user",
            "content": "این سند را به طور کارآمد خلاصه کنید.",
        },
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-flash-lite-preview-09-2025` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="این سند را به طور کارآمد خلاصه کنید.",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

Gemini 2.5 Flash Image یا Nano Banana

Gemini 2.5 Flash Image (gemini-2.5-flash-image) مدل پایدار و پیشرفته تولید تصویر گوگل از خانواده Gemini 2.5 است که دارای قابلیت‌های برتر تولید و ویرایش تصویر می‌باشد.

توجه

نسخه پیش‌نمایش (gemini-2.5-flash-image-preview) اکنون منسوخ شده و به نفع نسخه پایدار جایگزین شده است. لطفا برای استفاده در محیط تولید به gemini-2.5-flash-image مهاجرت کنید.

برای راهنمای جامع در مورد استفاده از Gemini 2.5 Flash Image، ساخت تصویر با مدل‌های سری Nano Banana را ببینید. برای جزئیات در مورد استفاده از پارامترهای اختصاصی ارائه‌دهنده، به راهنمای پارامترهای اختصاصی ارائه‌دهنده مراجعه کنید.

ویژگیجزئیات
پنجره زمینه۳۲٬۷۶۸ توکن (حداکثر ورودی)
حداکثر توکن خروجی۳۲٬۷۶۸ توکن
ورودی‌هاتصاویر و متن
خروجی‌هاتصاویر و متن
قیمت‌گذاری ورودی۰.۳۰ دلار / ۱ میلیون توکن (متن)، ۰.۳۰ دلار / ۱ میلیون توکن (تولید تصویر)
قیمت‌گذاری خروجی۲.۵۰ دلار / ۱ میلیون توکن (متن)، ۳۰.۰۰ دلار / ۱ میلیون توکن (تولید تصویر)
نقاط قوتتولید تصویر پیشرفته، تبدیل متن به تصویر، تبدیل تصویر به تصویر
بهترین برایتولید تصویر حرفه‌ای، کاربردهای خلاقانه، وظایف ویرایش تصویر
برش دانشژوئن ۲۰۲۵

استفاده از تنظیمات اختصاصی Gemini از طریق Endpoint سازگار با OpenAI: هنگام استفاده از gemini-2.5-flash-image از طریق endpoint سازگار با OpenAI (v1/chat/completions) و نیاز به استفاده از تنظیمات اختصاصی Gemini (پارامترهای غیر OpenAI)، باید دیکشنری generationConfig را از طریق extra_body ارسال کنید تا AvalAI بتواند آن را به ارائه‌دهنده نگاشت کند. این مدل فقط از aspectRatio در imageConfig پشتیبانی می‌کند. کاربران همچنین می‌توانند از API بومی Gemini (v1beta) برای دسترسی به Gemini از طریق schema API بومی و SDK رسمی گوگل استفاده کنند.

تولید تصویر از متن

python
# تولید تصویر از متن
response = client.chat.completions.create(
    model="gemini-2.5-flash-image",
    messages=[
        {
            "role": "user",
            "content": "تصویری فتورئالیستی از منظره کوهستانی با دریاچه‌ای که غروب خورشید را منعکس می‌کند، به سبک نقاشی منظره رمانتیک",
        }
    ],
    modalities=["image", "text"],
)

# Image is now available in the response
image_url = response.choices[0].message.images[0]["image_url"]["url"]
content = (
    response.choices[0].message.content.strip()
    if response.choices[0].message.content
    else None
)

# پردازش داده تصویر برگشت داده شده
header, base64_data = image_url.split(",", 1)
ext = header.split(";")[0].split("/")[1]

import base64

image_bytes = base64.b64decode(base64_data)
with open(f"generated_image.{ext}", "wb") as f:
    f.write(image_bytes)
print(f"✅ تصویر با نام generated_image.{ext} ذخیره شد")

# Print any text response that came with the image
if content:
    print(f"پاسخ مدل: {content}")
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-flash-image` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    input=[
        {
            "role": "user",
            "content": [
                {
                    "type": "input_text",
                    "text": "تصویری فتورئالیستی از منظره کوهستانی با دریاچه‌ای که غروب خورشید را منعکس می‌کند، به سبک نقاشی منظره رمانتیک",
                },
                {"type": "input_image", "image_url": "https://example.com/image.png"},
            ],
        }
    ],
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

با generationConfig اختصاصی Gemini (aspectRatio)

python
# تولید تصویر با نسبت ابعاد سفارشی با استفاده از extra_body
response = client.chat.completions.create(
    model="gemini-2.5-flash-image",
    messages=[
        {
            "role": "user",
            "content": "تصویری از یک غذای موز نانو در یک رستوران مجلل با تم Gemini بساز",
        }
    ],
    modalities=["image", "text"],
    extra_body={"generationConfig": {"imageConfig": {"aspectRatio": "16:9"}}},
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-flash-image` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    input="تصویری از یک غذای موز نانو در یک رستوران مجلل با تم Gemini بساز",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

تبدیل تصویر به تصویر

python
# تبدیل تصویر به تصویر
prompt = "این تصویر را به سبک Ghibli بازسازی کن"
image_url = "https://storage.googleapis.com/github-repo/img/gemini/intro/landmark3.jpg"

messages = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": prompt},
            {"type": "image_url", "image_url": {"url": image_url}},
        ],
    }
]

response = client.chat.completions.create(
    model="gemini-2.5-flash-image",
    messages=messages,
    modalities=["image", "text"],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-flash-image` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    input=[
        {
            "role": "user",
            "content": [
                {"type": "input_text", "text": "Describe this image."},
                {"type": "input_image", "image_url": "https://example.com/image.png"},
            ],
        }
    ],
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

برای راهنمای جامع در مورد استفاده از Gemini 2.5 Flash Image، ساخت تصویر با مدل‌های سری Nano Banana را ببینید. برای جزئیات در مورد استفاده از پارامترهای اختصاصی ارائه‌دهنده، به راهنمای پارامترهای اختصاصی ارائه‌دهنده مراجعه کنید.

Gemini Robotics-ER 1.5 Preview

Gemini Robotics-ER 1.5 Preview (gemini-robotics-er-1.5-preview) اولین مدل زبان-بینایی گوگل است که به‌طور خاص برای کاربردهای رباتیک طراحی شده و استدلال فضایی پیشرفته و قابلیت‌های عامل‌محور را به سیستم‌های رباتیک فیزیکی می‌آورد.

ویژگیجزئیات
پنجره زمینهمشابه Gemini 2.5 Flash
حداکثر توکن خروجی۸٬۱۹۲ توکن
ورودی‌هاتصاویر، ویدیوها، صدا و متن
خروجیمتن با مختصات ساختاریافته (نقاط ۲D، جعبه‌های محدودکننده، مسیرها)
قیمت‌گذاری ورودی۰.۳۰ دلار / ۱ میلیون توکن (متن/تصویر/ویدیو)، ۱.۰۰ دلار / ۱ میلیون توکن (صدا)
قیمت‌گذاری ورودی کش شده۰.۱۵ دلار / ۱ میلیون توکن (متن/تصویر/ویدیو)، ۰.۲۵ دلار / ۱ میلیون توکن (صدا)
قیمت‌گذاری خروجی۲.۵۰ دلار / ۱ میلیون توکن
نقاط قوتاستدلال فضایی، تشخیص اشیاء، برنامه‌ریزی مسیر، هماهنگی وظایف
بهترین برایکاربردهای رباتیک، سیستم‌های هوش مصنوعی فیزیکی، برنامه‌ریزی دستکاری اشیاء
وضعیتپیش‌نمایش

ویژگی‌های کلیدی:

  • خودمختاری پیشرفته: ربات‌ها را قادر می‌سازد تا استدلال کنند، سازگار شوند و به تغییرات در محیط‌های باز پاسخ دهند
  • تعامل زبان طبیعی: تخصیص وظایف پیچیده با استفاده از زبان گفتگویی
  • هماهنگی وظایف: دستورات زبان طبیعی را به زیروظایف برای وظایف طولانی‌مدت تجزیه می‌کند
  • قابلیت‌های همه‌کاره: تشخیص اشیاء، استدلال فضایی، برنامه‌ریزی مسیر، تفسیر صحنه‌های پویا
  • بودجه تفکر: بودجه استدلال قابل تنظیم برای متعادل‌سازی تاخیر در برابر دقت
  • پشتیبانی دوگانه SDK: در دسترس از طریق API بومی Gemini v1beta و نقاط پایانی سازگار با OpenAI

پشتیبانی API:

  • پشتیبانی کامل: v1beta/ (نقطه پایانی بومی Gemini) - دسترسی کامل به تمام ویژگی‌های رباتیک
  • پشتیبانی جزئی: v1/chat/completions (سازگار با OpenAI) - ورودی تصویر از طریق آرایه محتوا (مشابه سایر مدل‌های بینایی Gemini)

استفاده از API بومی Gemini (توصیه‌شده)

python
from google import genai
from google.genai import types

# مقداردهی اولیه کلاینت GenAI
client = genai.Client(
    api_key="your-avalai-api-key",
    http_options={"api_version": "v1beta", "url": "https://api.avalai.ir"},
)

MODEL_ID = "gemini-robotics-er-1.5-preview"

# بارگذاری تصویر شما
with open("robot-scene.jpg", "rb") as f:
    image_bytes = f.read()

# یافتن اشیاء در صحنه
prompt = """
Point to no more than 10 items in the image. The label returned
should be an identifying name for the object detected.
The answer should follow the json format: [{"point": [y, x], "label": <label>}, ...].
The points are in [y, x] format normalized to 0-1000.
"""

response = client.models.generate_content(
    model=MODEL_ID,
    contents=[
        types.Part.from_bytes(
            data=image_bytes,
            mime_type="image/jpeg",
        ),
        prompt,
    ],
    config=types.GenerateContentConfig(
        temperature=0.5, thinking_config=types.ThinkingConfig(thinking_budget=0)
    ),
)

print(response.text)

استفاده سازگار با OpenAI

python
from openai import OpenAI

client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")

# استفاده از SDK OpenAI با ورودی تصویر
response = client.chat.completions.create(
    model="gemini-robotics-er-1.5-preview",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "اشیاء را شناسایی کنید و مختصات 2D آن‌ها را به فرمت JSON برگردانید",
                },
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/robot-scene.jpg"},
                },
            ],
        }
    ],
)

print(response.choices[0].message.content)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-robotics-er-1.5-preview` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    input=[
        {
            "role": "user",
            "content": [
                {"type": "input_text", "text": "Describe this image."},
                {"type": "input_image", "image_url": "https://example.com/image.png"},
            ],
        }
    ],
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

برای راهنمای جامع استفاده از Gemini Robotics-ER برای هوش مصنوعی در کاربردهای رباتیک، هوش مصنوعی در رباتیک با Gemini Robotics-ER و اعلامیه را ببینید.

Gemini 2.5 Flash TTS

Gemini 2.5 Flash TTS (gemini-2.5-flash-tts) مدل سریع و مقرون‌به‌صرفه تبدیل متن به گفتار گوگل است که برای برنامه‌های با حجم بالا که نیاز به تولید گفتار طبیعی دارند بهینه شده است.

ویژگیجزئیات
پنجره زمینه۹۰۰ بایت برای هر فیلد متن، ۱۸۰۰ بایت ترکیبی (متن + پرامپت)
خروجی صوتی۳۲ توکن در هر ثانیه صدای تولید شده
ورودی‌هامتن، پرامپت‌های استایل
خروجیصدا (MP3، LINEAR16، OGG_OPUS، MULAW، ALAW)
زبان‌ها100+ زبان از جمله انگلیسی، اسپانیایی، فرانسوی، عربی، فارسی و غیره
صداها30+ صدای طبیعی
قیمت‌گذاری ورودی۰.۵۰ دلار / ۱ میلیون توکن (کاراکتر)
قیمت‌گذاری ورودی کش شده۰.۲۵ دلار / ۱ میلیون توکن
قیمت‌گذاری خروجی صوتی۱۰.۰۰ دلار / ۱ میلیون توکن (۳۲ توکن به ازای هر ثانیه)
قیمت‌گذاری خروجی متنی۱۰.۰۰ دلار / ۱ میلیون توکن
نقاط قوتتولید سریع، مقرون‌به‌صرفه، پشتیبانی چند زبانه، صداهای طبیعی
بهترین برایTTS با حجم بالا، هوش مصنوعی مکالمه‌ای، سرویس‌های دسترسی‌پذیری، روایت محتوا

Endpointهای در دسترس

  • v1/chat/completions - برای TTS در زمینه‌های مکالمه‌ای (سازگار با OpenAI)
  • v1/audio/speech - برای تولید مستقیم TTS (سازگار با OpenAI)
  • v1/text:synthesize - فرمت بومی Vertex AI با ویژگی‌های کامل

توجه

gemini-2.5-flash-tts یک مدل انحصاری Vertex AI است و از طریق endpoint Gemini API v1beta در دسترس نیست، اما از طریق چندین endpoint سازگار با OpenAI برای یکپارچه‌سازی آسان قابل دسترسی است.

استفاده سازگار با OpenAI

python
# استفاده از فرمت SDK OpenAI - Audio Speech endpoint
from openai import OpenAI

client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")

response = client.audio.speech.create(
    model="gemini-2.5-flash-tts",
    voice="alloy",  # به صدای Gemini "Kore" نگاشت می‌شود
    input="سلام! به پلتفرم ما خوش آمدید.",
)

response.stream_to_file("speech.mp3")

دسترسی بومی Vertex AI

python
# استفاده از فرمت بومی Vertex AI با Google Cloud SDK
from google.cloud import texttospeech
import os

client = texttospeech.TextToSpeechClient(
    transport="rest",
    client_options={
        "api_endpoint": "https://api.avalai.ir",
        "api_key": os.getenv("AVALAI_API_KEY"),
    },
)

synthesis_input = texttospeech.SynthesisInput(text="سلام! به پلتفرم ما خوش آمدید.")

voice = texttospeech.VoiceSelectionParams(
    language_code="fa-IR", name="Kore", model_name="gemini-2.5-flash-tts"
)

audio_config = texttospeech.AudioConfig(audio_encoding=texttospeech.AudioEncoding.MP3)

response = client.synthesize_speech(
    input=synthesis_input, voice=voice, audio_config=audio_config
)

with open("output.mp3", "wb") as out:
    out.write(response.audio_content)

Gemini 2.5 Pro TTS

Gemini 2.5 Pro TTS (gemini-2.5-pro-tts) مدل تبدیل متن به گفتار با کیفیت برتر گوگل با قابلیت کنترل پیشرفته برای نیازهای استایل پیچیده و سناریوهای چند گوینده است.

ویژگیجزئیات
پنجره زمینه۹۰۰ بایت برای هر فیلد متن، ۱۸۰۰ بایت ترکیبی (متن + پرامپت)
خروجی صوتی۳۲ توکن در هر ثانیه صدای تولید شده
ورودی‌هامتن، پرامپت‌های استایل، پیکربندی‌های چند گوینده
خروجیصدا (MP3، LINEAR16، OGG_OPUS، MULAW، ALAW)
زبان‌ها100+ زبان از جمله انگلیسی، اسپانیایی، فرانسوی، عربی، فارسی و غیره
صداها30+ صدای طبیعی با کنترل پیشرفته آهنگ
قیمت‌گذاری ورودی۱.۰۰ دلار / ۱ میلیون توکن (کاراکتر)
قیمت‌گذاری ورودی کش شده۰.۵۰ دلار / ۱ میلیون توکن
قیمت‌گذاری خروجی۲۰.۰۰ دلار / ۱ میلیون توکن (۳۲ توکن به ازای هر ثانیه)
نقاط قوتکیفیت برتر، قابلیت کنترل پیشرفته، پشتیبانی چند گوینده، پرامپت‌های پیچیده
بهترین برایکتاب‌های صوتی، محتوای پریمیوم، مکالمات چند گوینده، نیازهای استایل پیچیده

Endpointهای در دسترس

  • v1/chat/completions - برای TTS در زمینه‌های مکالمه‌ای (سازگار با OpenAI)
  • v1/audio/speech - برای تولید مستقیم TTS (سازگار با OpenAI)
  • v1/text:synthesize - فرمت بومی Vertex AI با ویژگی‌های کامل

توجه

gemini-2.5-pro-tts یک مدل انحصاری Vertex AI است و از طریق endpoint Gemini API v1beta در دسترس نیست، اما از طریق چندین endpoint سازگار با OpenAI برای یکپارچه‌سازی آسان قابل دسترسی است.

استایل‌دهی پیشرفته با پرامپت‌ها

python
# استفاده از فرمت بومی با پرامپت‌های استایل
from google.cloud import texttospeech
import os

client = texttospeech.TextToSpeechClient(
    transport="rest",
    client_options={
        "api_endpoint": "https://api.avalai.ir",
        "api_key": os.getenv("AVALAI_API_KEY"),
    },
)

synthesis_input = texttospeech.SynthesisInput(
    text="به آینده هوش مصنوعی خوش آمدید!",
    prompt="متن زیر را با لحنی هیجان‌زده و پرانرژی بگویید",
)

voice = texttospeech.VoiceSelectionParams(
    language_code="fa-IR",
    name="Puck",  # صدای روشن و پرانرژی
    model_name="gemini-2.5-pro-tts",
)

audio_config = texttospeech.AudioConfig(audio_encoding=texttospeech.AudioEncoding.MP3)

response = client.synthesize_speech(
    input=synthesis_input, voice=voice, audio_config=audio_config
)

with open("output.mp3", "wb") as out:
    out.write(response.audio_content)

مکالمات چند گوینده

python
# تولید مکالمات چند گوینده
synthesis_input = texttospeech.SynthesisInput(
    text="Sam: سلام! Bob: سلام، حال شما چطور است؟ Sam: عالی هستم، ممنون!"
)

voice = texttospeech.VoiceSelectionParams(
    language_code="fa-IR",
    model_name="gemini-2.5-pro-tts",
    multi_speaker_voice_config=texttospeech.MultiSpeakerVoiceConfig(
        speaker_voice_configs=[
            texttospeech.MultispeakerPrebuiltVoice(
                speaker_alias="Sam", speaker_id="Kore"  # must be English
            ),
            texttospeech.MultispeakerPrebuiltVoice(
                speaker_alias="Bob", speaker_id="Charon"  # must be English
            ),
        ]
    ),
)

audio_config = texttospeech.AudioConfig(
    audio_encoding=texttospeech.AudioEncoding.LINEAR16, sample_rate_hertz=24000
)

response = client.synthesize_speech(
    input=synthesis_input, voice=voice, audio_config=audio_config
)

with open("conversation.wav", "wb") as out:
    out.write(response.audio_content)

برای نمونه‌های جامع و الگوهای استفاده پیشرفته، اخبار: افزودن مدل‌های پیشرفته TTS و رونویسی و مرجع API Vertex AI Text:Synthesize را ببینید.

برای راهنمای جامع استفاده از Gemini 2.5 Flash Image راهنمای تولید و ویرایش تصاویر با Gemini 2.5 Flash Image ما را ببینید.

مدل‌های Google Imagen 4.0

آخرین مدل‌های Imagen 4.0 گوگل تولید تصویر پیشرفته با کیفیت، سرعت و واقع‌گرایی بهبود یافته ارائه می‌دهند.

imagen-4.0-ultra-generate-001

تولید تصویر با کیفیت فوق‌العاده بالا با جزئیات و واقع‌گرایی استثنایی.

ویژگیجزئیات
کیفیتکیفیت فوق‌العاده بالا با جزئیات استثنایی
قیمت‌گذاری$0.06 در هر تصویر
نقاط قوتجزئیات استثنایی، خروجی فتوریالیستیک، درک پیشرفته پرامپت
بهترین برایبرنامه‌های حرفه‌ای که نیاز به بالاترین کیفیت تصویر دارند
وضوح‌های پشتیبانی شدهتا 2816x1536، نسبت‌های ابعاد متعدد
python
response = client.images.generate(
    model="imagen-4.0-ultra-generate-001",
    prompt="پرتره فتوریالیستیک از یک شخص در نور طبیعی با جزئیات استثنایی تولید کن",
    size="1024x1024",
    n=1,
    response_format="url",
)

imagen-4.0-generate-001

تولید تصویر با کیفیت بالا برای کاربردهای حرفه‌ای.

ویژگیجزئیات
کیفیتتولید تصویر حرفه‌ای با کیفیت بالا
قیمت‌گذاری$0.04 در هر تصویر
نقاط قوتکیفیت حرفه‌ای، خروجی قابل اعتماد، پیروی قوی از پرامپت
بهترین برایتولید محتوای حرفه‌ای، مواد بازاریابی، پروژه‌های هنری
وضوح‌های پشتیبانی شدهتا 2048x2048، نسبت‌های ابعاد متعدد
python
response = client.images.generate(
    model="imagen-4.0-generate-001",
    prompt="منظره زیبایی با کوه‌ها و دریاچه در غروب آفتاب بساز",
    size="1024x1024",
    n=1,
    response_format="url",
)

imagen-4.0-fast-generate-001

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

ویژگیجزئیات
کیفیتکیفیت بالا با بهینه‌سازی سرعت
قیمت‌گذاری$0.02 در هر تصویر
نقاط قوتتولید سریع، کیفیت خوب، پردازش کارآمد
بهترین برایبرنامه‌هایی که نیاز به تحویل سریع دارند، پردازش دسته‌ای، نمونه‌سازی سریع
وضوح‌های پشتیبانی شدهوضوح‌های استاندارد تا 1408x768
python
response = client.images.generate(
    model="imagen-4.0-fast-generate-001",
    prompt="طراحی لوگوی ساده برای یک استارتاپ فناوری تولید کن",
    size="1024x1024",
    n=1,
    response_format="url",
)

قابلیت‌های کلیدی

درک چندوجهی پیشرفته

مدل‌های Gemini 3.1، 3.0 و 2.5 از ترکیب‌های مختلف ورودی‌های متن، تصویر، صدا، ویدیو و PDF پشتیبانی می‌کنند که امکان تحلیل و استدلال عمیق در بین وجه‌ها را فراهم می‌کند.

قابلیت‌های درک تصویر

مدل‌های Gemini ویژگی‌های پیشرفته درک تصویر را ارائه می‌دهند:

  1. تشخیص اشیا با کادرهای محدودکننده: مدل‌ها می‌توانند اشیا را در تصاویر شناسایی کرده و مختصات کادر محدودکننده آنها را در قالب [ymin, xmin, ymax, xmax]، نرمال‌سازی شده به 0-1000 ارائه دهند.

  2. قطعه‌بندی تصویر (مدل‌های Gemini 2.5): فراتر از تشخیص، این مدل‌ها می‌توانند اشیا را قطعه‌بندی کرده و ماسک‌های کانتور آنها را به صورت PNG کدگذاری شده با base64 ارائه دهند.

  3. تحلیل چند تصویری: مدل‌ها می‌توانند چندین تصویر را در یک پرامپت واحد پردازش و مقایسه کنند.

python
# مثال: تحلیل تصویر با تشخیص اشیا
response = client.chat.completions.create(
    model="gemini-2.5-pro",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "تمام اشیا برجسته در این تصویر را تشخیص دهید و کادرهای محدودکننده را در قالب [ymin, xmin, ymax, xmax] نرمال‌سازی شده به 0-1000 ارائه دهید.",
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "data:image/jpeg;base64,..."
                    },  # برای مدل‌ها مانند Gemini ممکن است نیاز باشد از base64 به جای آدرس url استفاده کنید
                },
            ],
        }
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-pro` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    input=[
        {
            "role": "user",
            "content": [
                {"type": "input_text", "text": "Describe this image."},
                {"type": "input_image", "image_url": "https://example.com/image.png"},
            ],
        }
    ],
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

نکته مهم

هنگام استفاده از مدل‌های Gemini از طریق AvalAI، تصاویر باید به صورت URL‌های داده کدگذاری شده با base64 ارائه شوند، نه به صورت URL‌های خارجی. این محدودیتی است که مختص مدل‌های Gemini است.

python
# مثال: تحلیل ویدیو و متن
response = client.chat.completions.create(
    model="gemini-2.5-pro",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "اقدامات اصلی در حال وقوع در این کلیپ ویدیویی را شرح دهید.",
                },
                {
                    "type": "video_url",
                    "video_url": {"url": "https://example.com/video.mp4"},
                },  # داده‌های ویدیو را به درستی ارائه دهید
            ],
        }
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-pro` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="Write a one-sentence summary of AvalAI.",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

پنجره زمینه طولانی

مدل‌های Gemini 3.1، 3.0 و 2.5 دارای پنجره‌های زمینه ۱ میلیون توکنی یا بیشتر هستند که امکان تحلیل و استدلال روی حجم عظیمی از اطلاعات مانند کل پایگاه‌های کد، کتاب‌ها یا ساعت‌ها ویدیو/صدا را فراهم می‌کند.

فراخوانی تابع و استفاده از ابزار

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

فراخوانی تابع

فراخوانی تابع به مدل‌های Gemini اجازه می‌دهد با سیستم‌های خارجی تعامل داشته باشند یا داده‌های ساختاریافته بر اساس طرح‌های تعریف شده تولید کنند.

python
# مثال: فراخوانی تابع
response = client.chat.completions.create(
    model="gemini-2.5-pro",
    messages=[{"role": "user", "content": "هوای بوستون چطور است؟"}],
    tools=[
        {
            "functionDeclarations": [
                {
                    "name": "getWeather",
                    "description": "دریافت آب و هوای یک شهر درخواستی",
                    "parameters": {
                        "type": "object",
                        "properties": {"city": {"type": "string"}},
                    },
                },
            ]
        },
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-pro` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

tools = [
    {
        "type": "function",
        "name": "get_current_weather",
        "description": "Get the current weather in a given location.",
        "parameters": {
            "type": "object",
            "properties": {"location": {"type": "string"}},
            "required": ["location"],
            "additionalProperties": False,
        },
    }
]

response = client.responses.create(
    model="gpt-5.5",
    input="هوای بوستون چطور است؟",
    tools=tools,
)

for item in response.output:
    if item.type == "function_call":
        print(item.name, item.arguments)
print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

اجرای کد

ابزار اجرای کد به Gemini اجازه می‌دهد کد پایتون را تولید و اجرا کند تا مسائل پیچیده را حل کند. هنگامی که این ابزار فعال است، هیچ ابزار دیگری نمی‌تواند همزمان استفاده شود.

python
# مثال: اجرای کد
response = client.chat.completions.create(
    model="gemini-2.5-pro",
    messages=[{"role": "user", "content": "۱۰ عدد اول فیبوناچی را محاسبه کن"}],
    tools=[
        {"codeExecution": {}},
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-pro` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

tools = [
    {
        "type": "function",
        "name": "get_current_weather",
        "description": "Get the current weather in a given location.",
        "parameters": {
            "type": "object",
            "properties": {"location": {"type": "string"}},
            "required": ["location"],
            "additionalProperties": False,
        },
    }
]

response = client.responses.create(
    model="gpt-5.5",
    input="۱۰ عدد اول فیبوناچی را محاسبه کن",
    tools=tools,
)

for item in response.output:
    if item.type == "function_call":
        print(item.name, item.arguments)
print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

محیط اجرای کد شامل کتابخانه‌های متعددی مانند matplotlib، numpy، pandas، scikit-learn، scipy، tensorflow و موارد دیگر است. حداکثر زمان اجرا ۳۰ ثانیه برای هر اجرا است، و محیط ممکن است در صورت بروز خطا تا ۵ بار تولید کد را تکرار کند.

برای عملیات ورودی/خروجی، اجرای کد از ورودی فایل (فایل‌های متنی و CSV) و خروجی نمودار (از طریق matplotlib) پشتیبانی می‌کند. حداکثر اندازه فایل ورودی توسط پنجره توکن مدل محدود می‌شود (حدود ۲ مگابایت برای فایل‌های متنی).

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

جستجوی گوگل

مدل‌های Gemini می‌توانند در صورت نیاز از جستجوی گوگل برای بازیابی اطلاعات به‌روز استفاده کنند. مدل می‌تواند بر اساس نیازهای پرسش تصمیم بگیرد که چه زمانی از جستجو استفاده کند. هنگامی که فعال است، پاسخ‌ها شامل منابع پایه (پیوندهای پشتیبانی درون‌خطی) و پیشنهادات جستجو هستند.

python
# مثال: جستجوی گوگل
response = client.chat.completions.create(
    model="gemini-2.5-pro",
    messages=[{"role": "user", "content": "آخرین پیشرفت‌ها در محاسبات کوانتومی چیست؟"}],
    tools=[
        {"googleSearch": {}},
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-pro` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

tools = [
    {
        "type": "function",
        "name": "get_current_weather",
        "description": "Get the current weather in a given location.",
        "parameters": {
            "type": "object",
            "properties": {"location": {"type": "string"}},
            "required": ["location"],
            "additionalProperties": False,
        },
    }
]

response = client.responses.create(
    model="gpt-5.5",
    input="آخرین پیشرفت‌ها در محاسبات کوانتومی چیست؟",
    tools=tools,
)

for item in response.output:
    if item.type == "function_call":
        print(item.name, item.arguments)
print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

می‌توانید رفتار جستجو را با پیکربندی اندازه زمینه جستجو سفارشی کنید:

python
# مثال: جستجوی گوگل با سطح جزئیات بالا
response = client.chat.completions.create(
    model="gemini-2.5-flash",
    messages=[
        {
            "role": "user",
            "content": "آخرین پیشرفت‌ها در محاسبات کوانتومی چیست؟",
        }
    ],
    tools=[
        {"googleSearch": {"detail_level": "high"}},
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-flash` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

tools = [
    {
        "type": "function",
        "name": "get_current_weather",
        "description": "Get the current weather in a given location.",
        "parameters": {
            "type": "object",
            "properties": {"location": {"type": "string"}},
            "required": ["location"],
            "additionalProperties": False,
        },
    }
]

response = client.responses.create(
    model="gpt-5.5",
    input="آخرین پیشرفت‌ها در محاسبات کوانتومی چیست؟",
    tools=tools,
)

for item in response.output:
    if item.type == "function_call":
        print(item.name, item.arguments)
print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

گزینه‌های اندازه زمینه جستجو عبارتند از:

  • low: کمتر جامع اما سریع‌تر و ارزان‌تر
  • medium: تنظیم پیش‌فرض، رویکرد متعادل
  • high: نتایج جامع‌تر اما هزینه بالاتر

قیمت‌گذاری: قیمت‌گذاری جستجوی وب به مدل مورد استفاده و اندازه زمینه جستجو بستگی دارد، با هزینه‌هایی از ۲۵.۰۰ تا ۵۰.۰۰ دلار به ازای هر ۱۰۰۰ فراخوانی بسته به مدل و سطح جزئیات.

توجه: برای مدل‌های Gemini 2.5 و بعدی، از جستجو به عنوان یک ابزار همانطور که در بالا نشان داده شده استفاده کنید.

API بومی Gemini (v1beta) برای جستجوی گوگل

همچنین می‌توانید از API بومی v1beta گوگل برای ویژگی‌های پیشرفته‌تر پایه‌گذاری استفاده کنید، از جمله دسترسی به متادیتای پایه‌گذاری دقیق با استنادات و اطلاعات منبع.

bash
# استفاده از API بومی Gemini v1beta با cURL
curl "https://api.avalai.ir/v1beta/models/gemini-2.5-flash:generateContent" \
  -H "x-goog-api-key: $AVALAI_API_KEY" \
  -H "Content-Type: application/json" \
  -X POST \
  -d '{
    "contents": [
      {
        "parts": [
          {"text": "آخرین پیشرفت‌ها در محاسبات کوانتومی چیست؟"}
        ]
      }
    ],
    "tools": [
      {
        "google_search": {}
      }
    ]
  }'
python
# استفاده با SDK Google GenAI
from google import genai
from google.genai import types

client = genai.Client(
    api_key="your-avalai-api-key",
    http_options={"api_version": "v1beta", "base_url": "https://api.avalai.ir"},
)

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="آخرین پیشرفت‌ها در محاسبات کوانتومی چیست؟",
    config=types.GenerateContentConfig(
        tools=[types.Tool(google_search=types.GoogleSearch())]
    ),
)

print(response.text)

# دسترسی به متادیتای پایه‌گذاری برای استنادات
if response.candidates[0].grounding_metadata:
    metadata = response.candidates[0].grounding_metadata
    print(f"پرس‌وجوهای جستجوی استفاده‌شده: {metadata.web_search_queries}")
    for chunk in metadata.grounding_chunks:
        print(f"منبع: {chunk.web.title} - {chunk.web.uri}")

API بومی groundingMetadata دقیقی برمی‌گرداند که شامل:

  • webSearchQueries: آرایه‌ای از پرس‌وجوهای جستجوی استفاده‌شده
  • groundingChunks: آرایه‌ای از منابع وب (uri و title)
  • groundingSupports: پیوند بخش‌های متن پاسخ به منابع برای استنادات درون‌خطی

برای مستندات دقیق درباره API بومی، مرجع API v1beta را ببینید.

زمینه URL

این ویژگی آزمایشی به مدل‌های Gemini اجازه می‌دهد محتوای URL‌های ارائه شده در پرامپت‌ها را بازیابی و تحلیل کنند. مدل می‌تواند اطلاعات کلیدی را از صفحات وب استخراج کرده و از آن برای پاسخ‌های خود استفاده کند. این ویژگی فقط در مدل‌های پشتیبانی شده زیر در دسترس است:

  • gemini-3.5-flash
  • gemini-3.1-pro-preview
  • gemini-3.1-flash-lite
  • gemini-3.1-flash-lite-preview
  • gemini-3-flash-preview
  • gemini-2.5-pro
  • gemini-2.5-flash
python
# مثال: زمینه URL (می‌تواند با جستجوی گوگل ترکیب شود)
response = client.chat.completions.create(
    model="gemini-2.5-pro",
    messages=[
        {
            "role": "user",
            "content": "این مقاله را خلاصه کن: https://example.com/article",
        }
    ],
    tools=[
        {"urlContext": {}},
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-pro` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

tools = [
    {
        "type": "function",
        "name": "get_current_weather",
        "description": "Get the current weather in a given location.",
        "parameters": {
            "type": "object",
            "properties": {"location": {"type": "string"}},
            "required": ["location"],
            "additionalProperties": False,
        },
    }
]

response = client.responses.create(
    model="gpt-5.5",
    input="Explain how AvalAI provides a unified API for this request.",
    tools=tools,
)

for item in response.output:
    if item.type == "function_call":
        print(item.name, item.arguments)
print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

زمینه URL به ویژه برای وظایف زیر مفید است:

  • استخراج نکات کلیدی از مقالات
  • مقایسه اطلاعات در چندین لینک
  • ترکیب داده‌ها از چندین منبع
  • پاسخ به سؤالات بر اساس محتوای خاص وب

محدودیت‌ها:

  • این ابزار تا ۲۰ URL در هر درخواست را پردازش می‌کند
  • بهترین عملکرد را با صفحات وب استاندارد دارد نه محتوای چندرسانه‌ای
  • بازیابی URL منجر به افزایش مصرف توکن می‌شود

می‌توانید از زمینه URL به تنهایی یا در ترکیب با جستجوی گوگل استفاده کنید تا مدل بتواند هم اطلاعات مرتبط را کشف کند و هم آن را به طور عمیق تحلیل نماید.

برای اطلاعات بیشتر، مستندات رسمی در مورد زمینه URL را ببینید.

توجه

محدودیت‌های سازگاری ابزارها:

  • هنگامی که اجرای کد فعال است، هیچ ابزار دیگری نمی‌تواند استفاده شود
  • اعلان‌های تابع فقط می‌توانند به تنهایی استفاده شوند
  • جستجوی گوگل فقط می‌تواند با زمینه URL ترکیب شود

خروجی ساختاریافته (حالت JSON)

می‌توان به مدل‌های Gemini دستور داد تا خروجی‌ها را در قالب‌های خاصی مانند JSON تولید کنند که برای یکپارچه‌سازی API و استخراج داده‌های ساختاریافته مفید است.

python
response = client.chat.completions.create(
    model="gemini-2.5-pro",
    messages=[
        {"role": "system", "content": "فقط JSON خروجی دهید."},
        {"role": "user", "content": "۳ زبان برنامه‌نویسی برتر را لیست کنید."},
    ],
    response_format={"type": "json_object"},
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-pro` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="۳ زبان برنامه‌نویسی برتر را لیست کنید.",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

راهنمای انتخاب مدل

انتخاب مدل Gemini مناسب

هنگام انتخاب مدل Gemini از طریق AvalAI، موارد زیر را در نظر بگیرید:

  1. پیچیدگی وظیفه و نیاز به استدلال: Gemini 3.5 Flash گزینه پرچم‌دار Flash برای استدلال قوی، کدنویسی و گردش‌کارهای عاملی است. Gemini 3.1 Pro استدلال پیشرفته کلاس Pro ارائه می‌دهد. Gemini 3.1 Flash-Lite زمانی بهترین است که هزینه و تأخیر مهم‌ترین معیارها باشند.
  2. طول زمینه: مدل‌های Gemini 3.5، 3.1، 3 و 2.5 حداقل از ۱ میلیون توکن پشتیبانی می‌کنند.
  3. نیازهای چندوجهی: آیا به ورودی صدا/ویدیو نیاز دارید؟ خروجی تصویر (مدل‌های تصویری Gemini)؟
  4. سرعت در مقابل هزینه: مدل‌های Flash و Flash-Lite به طور قابل توجهی سریع‌تر و ارزان‌تر هستند و برای برنامه‌های بلادرنگ یا با حجم بالا مناسب‌اند. مدل‌های Pro کیفیت بالاتری را با هزینه/تاخیر بیشتر ارائه می‌دهند.
  5. اندازه خروجی: Gemini 3.5 Flash و 3.1 Pro تا ۶۵ هزار توکن خروجی مجاز می‌دانند.

مقایسه عملکرد

وظیفهمدل Gemini پیشنهادیمدل‌های جایگزین
استدلال پیچیده / تحقیقGemini 3.1 Pro PreviewGemini 3.5 Flash، Claude Opus 4.7، GPT-5.5
کدنویسی عاملی / استفاده از ابزارGemini 3.5 FlashGemini 3.1 Pro Preview، GPT-5.5
چت با کیفیت بالا / تولید محتواGemini 3.5 FlashClaude Sonnet 4.6، GPT-5.5
تحلیل اسناد طولانیGemini 3.5 Flash / 3.1 Proسری Claude 4 (زمینه ۲۰۰ هزار)
تحلیل چندوجهی (ویدیو/صدا)Gemini 3.5 FlashGemini 3.1 Pro Preview، GPT-5.2-chat
بلادرنگ / حجم بالاGemini 3.1 Flash-LiteGemini 3 Flash، Claude Haiku 4.5

بهترین شیوه‌ها برای مدل‌های Gemini

پرامپت‌نویسی مؤثر

دستورالعمل‌های واضح و مشخص ارائه دهید. جزئیات قالب، شخصیت، محدودیت‌ها و زمینه مورد نظر را شرح دهید.

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

از نقش system به طور مؤثر برای هدایت رفتار، شخصیت و سبک پاسخ مدل به طور مداوم استفاده کنید.

پرامپت‌نویسی چندوجهی

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

تنظیمات Temperature و Top_P

temperature و top_p را برای کنترل تصادفی بودن تنظیم کنید. مقادیر پایین‌تر (مثلا temp=0.2) خروجی‌های قطعی‌تر و متمرکزتری تولید می‌کنند. مقادیر بالاتر (مثلا temp=0.8) خلاقیت و تنوع را تشویق می‌کنند.

استفاده از مدل‌های Gemini از طریق AvalAI

تمام مدل‌های Gemini از طریق نقاط پایانی استاندارد API AvalAI با استفاده از کتابخانه‌های کلاینت سازگار با OpenAI قابل دسترسی هستند:

python
from openai import OpenAI

client = OpenAI(
    api_key="your-avalai-api-key",  # با کلید واقعی خود جایگزین کنید
    base_url="https://api.avalai.ir/v1",  # آدرس پایه
)

# از هر مدل Gemini با شناسه AvalAI آن استفاده کنید
response = client.chat.completions.create(
    model="gemini-2.5-pro", messages=[{"role": "user", "content": "سلام!"}]
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-pro` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="سلام!",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

پشتیبانی از SDK بومی Google GenAI

AvalAI اکنون از دسترسی بومی به مدل‌های Gemini با استفاده از SDK رسمی GenAI گوگل پشتیبانی می‌کند و گزینه سوم SDK را در کنار رویکردهای سازگار با OpenAI و بومی Anthropic ارائه می‌دهد.

استفاده از SDK بومی گوگل

تولید متن پایه

bash
curl -X POST 'https://api.avalai.ir/v1beta/models/gemini-2.5-flash:generateContent' \
  -H 'Content-Type: application/json' \
  -H 'x-goog-api-key: $AVALAI_API_KEY' \
  -d '{
    "contents": [
        {
            "parts": [{"text": "هوش مصنوعی چگونه کار می‌کند؟"}],
            "role": "user"
        }
    ],
    "generationConfig": {
        "maxOutputTokens": 500
    },
    "model": "gemini-2.5-flash"
  }'
python
from google import genai

client = genai.Client(
    api_key="your-avalai-api-key", http_options={"base_url": "https://api.avalai.ir"}
)

response = client.models.generate_content(
    model="gemini-2.5-flash", contents="هوش مصنوعی چگونه کار می‌کند؟"
)
print(response.text)
javascript
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({
    apiKey: "your-avalai-api-key",
    httpOptions: {"apiVersion": "v1beta", "baseUrl": "https://api.avalai.ir"}}
});

async function main() {
    const response = await ai.models.generateContent({
        model: "gemini-2.5-flash",
        contents: "هوش مصنوعی چگونه کار می‌کند؟",
    });
    console.log(response.text);
}

await main();
go
package main

import (
	"context"
	"fmt"
	"google.golang.org/genai"
)

func main() {
	ctx := context.Background()
	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		APIKey:  "your-avalai-api-key",
		BaseURL: "https://api.avalai.ir",
	})
	if err != nil {
		log.Fatal(err)
	}

	result, _ := client.Models.GenerateContent(
		ctx,
		"gemini-2.5-flash",
		genai.Text("هوش مصنوعی چگونه کار می‌کند؟"),
		nil,
	)

	fmt.Println(result.Text())
}

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

python
from google import genai
from google.genai import types

client = genai.Client(
    api_key="your-avalai-api-key", http_options={"base_url": "https://api.avalai.ir"}
)

response = client.models.generate_content(
    model="gemini-2.5-flash",
    config=types.GenerateContentConfig(
        system_instruction="شما یک گربه هستید. نام شما نکو است."
    ),
    contents="سلام",
)

print(response.text)
javascript
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({
    apiKey: "your-avalai-api-key",
    httpOptions: {"apiVersion": "v1beta", "baseUrl": "https://api.avalai.ir"}}
});

async function main() {
    const response = await ai.models.generateContent({
        model: "gemini-2.5-flash",
        contents: "سلام",
        config: {
            systemInstruction: "شما یک گربه هستید. نام شما نکو است.",
        },
    });
    console.log(response.text);
}

await main();
go
package main

import (
	"context"
	"fmt"
	"google.golang.org/genai"
)

func main() {
	ctx := context.Background()
	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		APIKey:  "your-avalai-api-key",
		BaseURL: "https://api.avalai.ir",
	})
	if err != nil {
		log.Fatal(err)
	}

	config := &genai.GenerateContentConfig{
		SystemInstruction: genai.NewContentFromText("شما یک گربه هستید. نام شما نکو است.", genai.RoleUser),
	}

	result, _ := client.Models.GenerateContent(
		ctx,
		"gemini-2.5-flash",
		genai.Text("سلام"),
		config,
	)

	fmt.Println(result.Text())
}

پیکربندی تفکر (مدل‌های Gemini 2.5)

bash
curl -X POST 'https://api.avalai.ir/v1beta/models/gemini-2.5-flash:generateContent' \
  -H 'Content-Type: application/json' \
  -H 'x-goog-api-key: $AVALAI_API_KEY' \
  -d '{
    "contents": [
        {
            "parts": [{"text": "هوش مصنوعی چگونه کار می‌کند؟"}],
            "role": "user"
        }
    ],
    "generationConfig": {
        "thinkingConfig": {
            "thinkingBudget": 0
        },
        "maxOutputTokens": 500,
        "temperature": 0.7
    },
    "model": "gemini-2.5-flash"
  }'
python
from google import genai
from google.genai import types

client = genai.Client(
    api_key="your-avalai-api-key", http_options={"base_url": "https://api.avalai.ir"}
)

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="هوش مصنوعی چگونه کار می‌کند؟",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_budget=0)  # تفکر را غیرفعال می‌کند
    ),
)
print(response.text)
javascript
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({
    apiKey: "your-avalai-api-key",
    httpOptions: {"apiVersion": "v1beta", "baseUrl": "https://api.avalai.ir"}}
});

async function main() {
    const response = await ai.models.generateContent({
        model: "gemini-2.5-flash",
        contents: "هوش مصنوعی چگونه کار می‌کند؟",
        config: {
            thinkingConfig: {
                thinkingBudget: 0, // تفکر را غیرفعال می‌کند
            },
        }
    });
    console.log(response.text);
}

await main();
go
package main

import (
    "context"
    "fmt"
    "google.golang.org/genai"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, &genai.ClientConfig{
        APIKey: "your-avalai-api-key",
        BaseURL: "https://api.avalai.ir",
    })
    if err != nil {
        log.Fatal(err)
    }

    result, _ := client.Models.GenerateContent(
        ctx,
        "gemini-2.5-flash",
        genai.Text("هوش مصنوعی چگونه کار می‌کند؟"),
        &genai.GenerateContentConfig{
            ThinkingConfig: &genai.ThinkingConfig{
                ThinkingBudget: int32(0), // تفکر را غیرفعال می‌کند
            },
        }
    )

    fmt.Println(result.Text())
}

پاسخ‌های جریانی

bash
curl -X POST 'https://api.avalai.ir/v1beta/models/gemini-2.5-flash:streamGenerateContent' \
  -H 'Content-Type: application/json' \
  -H 'x-goog-api-key: $AVALAI_API_KEY' \
  -d '{
    "contents": [
        {
            "parts": [{"text": "هوش مصنوعی چگونه کار می‌کند را توضیح دهید"}],
            "role": "user"
        }
    ],
    "generationConfig": {
        "maxOutputTokens": 1000
    }
}' --no-buffer
python
from google import genai

client = genai.Client(
    api_key="your-avalai-api-key", http_options={"base_url": "https://api.avalai.ir"}
)

response = client.models.generate_content_stream(
    model="gemini-2.5-flash", contents=["هوش مصنوعی چگونه کار می‌کند را توضیح دهید"]
)
for chunk in response:
    print(chunk.text, end="")
javascript
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({
    apiKey: "your-avalai-api-key",
    httpOptions: {"apiVersion": "v1beta", "baseUrl": "https://api.avalai.ir"}}
});

async function main() {
    const response = await ai.models.generateContentStream({
        model: "gemini-2.5-flash",
        contents: "هوش مصنوعی چگونه کار می‌کند را توضیح دهید",
    });

    for await (const chunk of response) {
        console.log(chunk.text);
    }
}

await main();
go
package main

import (
	"context"
	"fmt"
	"google.golang.org/genai"
)

func main() {
	ctx := context.Background()
	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		APIKey:  "your-avalai-api-key",
		BaseURL: "https://api.avalai.ir",
	})
	if err != nil {
		log.Fatal(err)
	}

	stream := client.Models.GenerateContentStream(
		ctx,
		"gemini-2.5-flash",
		genai.Text("داستانی درباره کوله‌پشتی جادویی بنویسید."),
		nil,
	)

	for chunk, _ := range stream {
		part := chunk.Candidates[0].Content.Parts[0]
		fmt.Print(part.Text)
	}
}

مکالمات چندمرحله‌ای (چت)

bash
# پیام اول
curl -X POST 'https://api.avalai.ir/v1beta/models/gemini-2.5-flash:generateContent' \
  -H 'Content-Type: application/json' \
  -H 'x-goog-api-key: $AVALAI_API_KEY' \
  -d '{
    "contents": [
        {
            "parts": [{"text": "من ۲ سگ در خانه‌ام دارم."}],
            "role": "user"
        }
    ],
    "generationConfig": {
        "maxOutputTokens": 300
    },
    "model": "gemini-2.5-flash"
  }'

# پیام پیگیری با تاریخچه مکالمه
curl -X POST 'https://api.avalai.ir/v1beta/models/gemini-2.5-flash:generateContent' \
  -H 'Content-Type: application/json' \
  -H 'x-goog-api-key: $AVALAI_API_KEY' \
  -d '{
    "contents": [
        {
            "parts": [{"text": "من ۲ سگ در خانه‌ام دارم."}],
            "role": "user"
        },
        {
            "parts": [{"text": "چه عالی! سگ‌ها دوستان فوق‌العاده‌ای هستند."}],
            "role": "model"
        },
        {
            "parts": [{"text": "چند پنجه در خانه‌ام هست؟"}],
            "role": "user"
        }
    ],
    "generationConfig": {
        "maxOutputTokens": 200
    },
    "model": "gemini-2.5-flash"
  }'
python
from google import genai

client = genai.Client(
    api_key="your-avalai-api-key", http_options={"base_url": "https://api.avalai.ir"}
)
chat = client.chats.create(model="gemini-2.5-flash")

response = chat.send_message("من ۲ سگ در خانه‌ام دارم.")
print(response.text)

response = chat.send_message("چند پنجه در خانه‌ام هست؟")
print(response.text)

for message in chat.get_history():
    print(f"نقش - {message.role}", end=": ")
    print(message.parts[0].text)
javascript
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({
    apiKey: "your-avalai-api-key",
    httpOptions: {"apiVersion": "v1beta", "baseUrl": "https://api.avalai.ir"}}
});

async function main() {
    const chat = ai.chats.create({
        model: "gemini-2.5-flash",
        history: [
            {
                role: "user",
                parts: [{ text: "سلام" }],
            },
            {
                role: "model",
                parts: [{ text: "خوشحالم که شما را ملاقات کردم. چه چیزی می‌خواهید بدانید؟" }],
            },
        ],
    });

    const response1 = await chat.sendMessage({
        message: "من ۲ سگ در خانه‌ام دارم.",
    });
    console.log("پاسخ چت ۱:", response1.text);

    const response2 = await chat.sendMessage({
        message: "چند پنجه در خانه‌ام هست؟",
    });
    console.log("پاسخ چت ۲:", response2.text);
}

await main();
go
package main

import (
	"context"
	"fmt"
	"google.golang.org/genai"
)

func main() {
	ctx := context.Background()
	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		APIKey:  "your-avalai-api-key",
		BaseURL: "https://api.avalai.ir",
	})
	if err != nil {
		log.Fatal(err)
	}

	history := []*genai.Content{
		genai.NewContentFromText("سلام، خوشحالم که شما را ملاقات کردم! من ۲ سگ در خانه‌ام دارم.", genai.RoleUser),
		genai.NewContentFromText("خوشحالم که شما را ملاقات کردم. چه چیزی می‌خواهید بدانید؟", genai.RoleModel),
	}

	chat, _ := client.Chats.Create(ctx, "gemini-2.5-flash", nil, history)
	res, _ := chat.SendMessage(ctx, genai.Part{Text: "چند پنجه در خانه‌ام هست؟"})

	if len(res.Candidates) > 0 {
		fmt.Println(res.Candidates[0].Content.Parts[0].Text)
	}
}

دسترسی مستقیم API

همچنین می‌توانید مستقیما از نقاط پایانی بومی استفاده کنید:

bash
# تولید متن پایه
curl -X POST 'https://api.avalai.ir/v1beta/models/gemini-2.5-flash:generateContent' \
  -H 'Content-Type: application/json' \
  -H 'x-goog-api-key: $AVALAI_API_KEY' \
  -d '{
    "contents": [
        {
            "parts": [{"text": "هایکویی درباره هوش مصنوعی بنویس"}],
            "role": "user"
        }
    ],
    "generationConfig": {
        "maxOutputTokens": 100
    },
    "model": "gemini-2.5-flash"
  }'

# استفاده از دستورالعمل‌های سیستمی برای رفتار سفارشی
curl -X POST 'https://api.avalai.ir/v1beta/models/gemini-2.5-flash:generateContent' \
  -H 'Content-Type: application/json' \
  -H 'x-goog-api-key: $AVALAI_API_KEY' \
  -d '{
    "system_instruction": {
        "parts": [
            {
                "text": "شما یک دستیار خلاق شعر هستید. به سبک شاعرانه و تخیلی بنویسید."
            }
        ]
    },
    "contents": [
        {
            "parts": [{"text": "هایکویی درباره هوش مصنوعی بنویس"}],
            "role": "user"
        }
    ],
    "generationConfig": {
        "thinkingConfig": {
            "thinkingBudget": 0
        },
        "maxOutputTokens": 100,
        "temperature": 0.8
    },
    "model": "gemini-2.5-flash"
  }'

مهم

API v1beta با مستندات رسمی API Gemini سازگار است. برای رفتار سفارشی از system_instruction استفاده کنید، نه دستورالعمل‌های مبتنی بر نقش. برای تناقضات، با t.me/AvalAISupport تماس بگیرید.

تنظیمات ایمنی

API Gemini تنظیمات ایمنی قابل تنظیم را فراهم می‌کند که می‌توانید آنها را پیکربندی کنید تا تعیین کنید آیا برنامه شما نیاز به پیکربندی ایمنی محدودتر یا آزادتر دارد. می‌توانید این تنظیمات را در چهار دسته فیلتر برای محدود کردن یا اجازه انواع خاصی از محتوا تنظیم کنید.

دسته‌های آسیب

دستهتوضیحات
HARM_CATEGORY_HARASSMENTنظرات منفی یا مضر که هویت و/یا ویژگی‌های محافظت‌شده را هدف قرار می‌دهند
HARM_CATEGORY_HATE_SPEECHمحتوایی که بی‌ادبانه، بی‌احترامانه یا توهین‌آمیز است
HARM_CATEGORY_SEXUALLY_EXPLICITشامل ارجاعات به اعمال جنسی یا محتوای هرزه دیگر
HARM_CATEGORY_DANGEROUS_CONTENTاعمال مضر را ترویج، تسهیل یا تشویق می‌کند

آستانه‌های مسدودسازی

می‌توانید سیستم را برای مسدود کردن محتوا بر اساس احتمال ناامن بودن آن پیکربندی کنید:

آستانهتوضیحات
OFFخاموش کردن فیلتر ایمنی
BLOCK_NONEهمیشه نمایش بده صرف‌نظر از احتمال محتوای ناامن
BLOCK_ONLY_HIGHمسدود کن وقتی احتمال بالای محتوای ناامن وجود دارد
BLOCK_MEDIUM_AND_ABOVEمسدود کن وقتی احتمال متوسط یا بالای محتوای ناامن وجود دارد
BLOCK_LOW_AND_ABOVEمسدود کن وقتی احتمال پایین، متوسط یا بالای محتوای ناامن وجود دارد
HARM_BLOCK_THRESHOLD_UNSPECIFIEDآستانه مشخص نشده است، با استفاده از آستانه پیش‌فرض مسدود کن

نکته

اگر آستانه تنظیم نشده باشد، آستانه مسدودسازی پیش‌فرض برای مدل‌های Gemini 2.5 و 3 OFF است.

استفاده از تنظیمات ایمنی با API بومی

bash
curl -X POST 'https://api.avalai.ir/v1beta/models/gemini-2.5-flash:generateContent' \
  -H 'Content-Type: application/json' \
  -H 'x-goog-api-key: $AVALAI_API_KEY' \
  -d '{
    "contents": [
        {
            "parts": [{"text": "پرامپت شما اینجا"}],
            "role": "user"
        }
    ],
    "safetySettings": [
        {
            "category": "HARM_CATEGORY_HARASSMENT",
            "threshold": "BLOCK_MEDIUM_AND_ABOVE"
        },
        {
            "category": "HARM_CATEGORY_HATE_SPEECH",
            "threshold": "BLOCK_LOW_AND_ABOVE"
        },
        {
            "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
            "threshold": "BLOCK_ONLY_HIGH"
        },
        {
            "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
            "threshold": "BLOCK_MEDIUM_AND_ABOVE"
        }
    ],
    "generationConfig": {
        "maxOutputTokens": 500
    },
    "model": "gemini-2.5-flash"
  }'
python
from google import genai
from google.genai import types

client = genai.Client(
    api_key="your-avalai-api-key",
    http_options={"api_version": "v1beta", "base_url": "https://api.avalai.ir"},
)

# پیکربندی تنظیمات ایمنی
safety_settings = [
    types.SafetySetting(
        category="HARM_CATEGORY_HARASSMENT",
        threshold="BLOCK_MEDIUM_AND_ABOVE",
    ),
    types.SafetySetting(
        category="HARM_CATEGORY_HATE_SPEECH",
        threshold="BLOCK_LOW_AND_ABOVE",
    ),
    types.SafetySetting(
        category="HARM_CATEGORY_SEXUALLY_EXPLICIT",
        threshold="BLOCK_ONLY_HIGH",
    ),
    types.SafetySetting(
        category="HARM_CATEGORY_DANGEROUS_CONTENT",
        threshold="BLOCK_MEDIUM_AND_ABOVE",
    ),
]

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="پرامپت شما اینجا",
    config=types.GenerateContentConfig(safety_settings=safety_settings),
)

print(response.text)
javascript
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({
    apiKey: "your-avalai-api-key",
    httpOptions: {"apiVersion": "v1beta", "baseUrl": "https://api.avalai.ir"}}
});

async function main() {
    const response = await ai.models.generateContent({
        model: "gemini-2.5-flash",
        contents: "پرامپت شما اینجا",
        config: {
            safetySettings: [
                {
                    category: "HARM_CATEGORY_HARASSMENT",
                    threshold: "BLOCK_MEDIUM_AND_ABOVE"
                },
                {
                    category: "HARM_CATEGORY_HATE_SPEECH",
                    threshold: "BLOCK_LOW_AND_ABOVE"
                },
                {
                    category: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
                    threshold: "BLOCK_ONLY_HIGH"
                },
                {
                    category: "HARM_CATEGORY_DANGEROUS_CONTENT",
                    threshold: "BLOCK_MEDIUM_AND_ABOVE"
                }
            ]
        }
    });
    console.log(response.text);
}

await main();
go
package main

import (
	"context"
	"fmt"
	"google.golang.org/genai"
)

func main() {
	ctx := context.Background()
	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		APIKey:  "your-avalai-api-key",
		BaseURL: "https://api.avalai.ir",
	})
	if err != nil {
		log.Fatal(err)
	}

	result, _ := client.Models.GenerateContent(
		ctx,
		"gemini-2.5-flash",
		genai.Text("پرامپت شما اینجا"),
		&genai.GenerateContentConfig{
			SafetySettings: []*genai.SafetySetting{
				{
					Category:  genai.HarmCategoryHarassment,
					Threshold: genai.HarmBlockThresholdBlockMediumAndAbove,
				},
				{
					Category:  genai.HarmCategoryHateSpeech,
					Threshold: genai.HarmBlockThresholdBlockLowAndAbove,
				},
				{
					Category:  genai.HarmCategorySexuallyExplicit,
					Threshold: genai.HarmBlockThresholdBlockOnlyHigh,
				},
				{
					Category:  genai.HarmCategoryDangerousContent,
					Threshold: genai.HarmBlockThresholdBlockMediumAndAbove,
				},
			},
		},
	)

	fmt.Println(result.Text())
}

بازخورد ایمنی در پاسخ‌ها

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

  • بازخورد پرامپت: در promptFeedback شامل می‌شود. اگر promptFeedback.blockReason تنظیم شده باشد، محتوای پرامپت مسدود شده است.
  • بازخورد کاندیدای پاسخ: در Candidate.finishReason و Candidate.safetyRatings شامل می‌شود. اگر محتوای پاسخ مسدود شده و finishReason برابر SAFETY باشد، می‌توانید safetyRatings را برای جزئیات بیشتر بررسی کنید.
python
# بررسی رتبه‌بندی‌های ایمنی در پاسخ
response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="پرامپت شما اینجا",
    config=types.GenerateContentConfig(safety_settings=safety_settings),
)

# بررسی اینکه آیا پرامپت مسدود شده است
if response.prompt_feedback and response.prompt_feedback.block_reason:
    print(f"پرامپت مسدود شد: {response.prompt_feedback.block_reason}")

# بررسی رتبه‌بندی‌های ایمنی کاندید
for candidate in response.candidates:
    if candidate.finish_reason == "SAFETY":
        print("پاسخ به دلیل ایمنی مسدود شد")
        for rating in candidate.safety_ratings:
            print(f"  {rating.category}: {rating.probability}")

نکته

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

ویژگی‌های کلیدی پشتیبانی بومی

  • طرحواره API بومی: دسترسی مستقیم با استفاده از نقاط پایانی generateContent، streamGenerateContent، embedContent، batchEmbedContents و countTokens گوگل
  • احراز هویت انعطاف‌پذیر: پشتیبانی از هر دو هدر Authorization: Bearer و x-goog-api-key
  • پشتیبانی کامل از جریان: جریان بومی با agenerate_content_stream
  • قابلیت‌های چندوجهی: پشتیبانی بومی از ورودی‌های متن، تصویر، صدا و ویدیو
  • تولید تعبیه‌سازی: پشتیبانی بومی از تعبیه‌سازی متن با انواع وظایف و ابعاد قابل تنظیم
  • شمارش توکن: شمارش توکن داخلی برای ردیابی دقیق استفاده قبل از فراخوانی API

محدودیت‌های مهم

  • فقط مدل‌های Gemini: پشتیبانی بومی منحصرا برای مدل‌های Gemini است
  • URL پایه: از https://api.avalai.ir (بدون /v1) برای SDK Google GenAI استفاده کنید
  • نقاط پایانی v1beta: نقاط پایانی بومی از فرمت /v1beta/models/{model}:generateContent استفاده می‌کنند

برای مستندات کامل API بومی، مرجع API v1beta را ببینید.

تفاوت‌ها با مدل‌های OpenAI/Anthropic

در حالی که AvalAI یک API یکپارچه ارائه می‌دهد، تفاوت‌های ظریفی وجود دارد:

  1. قابلیت‌های چندوجهی: Gemini قابلیت‌های پردازش صدا/ویدیو متمایزی نسبت به دیگران ارائه می‌دهد.
  2. فراخوانی تابع: جزئیات پیاده‌سازی و قابلیت اطمینان ممکن است کمی متفاوت باشد.
  3. اثرات پارامتر: پارامترهایی مانند temperature ممکن است در خانواده‌های مختلف مدل رفتار متفاوتی داشته باشند.
  4. حالت JSON: حالت JSON بومی Gemini ممکن است با json_object OpenAI یا ساختار XML Anthropic متفاوت باشد.

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

نسخه‌بندی مدل

گوگل به طور منظم نسخه‌های به‌روز شده را منتشر می‌کند. AvalAI با استفاده از نام‌های مستعار عمومی و اسنپ‌شات‌های نسخه خاص دسترسی را فراهم می‌کند:

  • نام‌های مستعار عمومی: gemini-3.1-pro, gemini-3-flash, gemini-2.5-pro
  • اسنپ‌شات‌های خاص: به عنوان مثال gemini-3.1-pro-preview, gemini-3-flash-preview و غیره.

استفاده از یک اسنپ‌شات خاص، رفتار ثابت را در طول زمان تضمین می‌کند. برای آخرین اسنپ‌شات‌های موجود، صفحه جزئیات مدل را بررسی کنید.

منابع مرتبط

مدل‌های Gemma 4

خانواده Gemma 4 هوشمندترین مدل‌های باز گوگل است که از تحقیقات و فناوری Gemini 3 ساخته شده‌اند تا هوش به ازای هر پارامتر را به حداکثر برسانند. این مدل‌ها کارایی بی‌سابقه‌ای با قابلیت‌های چندحالتی، چندزبانه و عاملی قوی ارائه می‌دهند.

ویژگیجزئیات
پنجره زمینهتا ۱۲۸ هزار توکن
اندازه‌های موجود۲۶ میلیارد A4B (MoE)، ۳۱ میلیارد (متراکم)، E2B، E4B
قابلیت‌های چندحالتیورودی تصویر، صدا و متن
پشتیبانی زبانبیش از ۱۴۰ زبان
ویژگی‌های کلیدیحالت تفکر، فراخوانی تابع، گردش‌های کاری عاملی، تنظیم دقیق
بهترین استفادهIDE، دستیاران کدنویسی، گردش‌های کاری عاملی، استقرار GPU مصرفی

gemma-4-26b-a4b-it

مدل باز گوگل با معماری Mixture-of-Experts (۲۶ میلیارد کل، ۴ میلیارد فعال)، ارائه کارایی هوش به ازای هر پارامتر بی‌سابقه.

ویژگیجزئیات
کل پارامترها۲۶ میلیارد (۴ میلیارد فعال)
معماریMixture-of-Experts (MoE)
پنجره زمینه۱۲۸٬۰۰۰ توکن
قیمت ورودی۰.۱۳ دلار / ۱ میلیون توکن
قیمت ورودی کش شده۰.۰۱۳ دلار / ۱ میلیون توکن (۹۰٪ کاهش هزینه)
قیمت خروجی۰.۴۰ دلار / ۱ میلیون توکن
ورودی‌های پشتیبانی‌شدهمتن، تصویر، صدا
خروجی‌های پشتیبانی‌شدهمتن
نقاط پایانی پشتیبانی‌شدهv1/chat/completions، v1/responses

ویژگی‌های کلیدی:

  • هوش پیشرو: ساخته شده از تحقیقات Gemini 3 برای حداکثر هوش به ازای هر پارامتر
  • معماری MoE: ۲۶ میلیارد پارامتر کل با فقط ۴ میلیارد فعال برای کارایی
  • چندحالتی: درک قوی صدا و تصویر
  • گردش‌های کاری عاملی: پشتیبانی بومی از فراخوانی تابع و عامل‌های خودمختار
  • ۱۴۰ زبان: پشتیبانی چندزبانه فراتر از ترجمه
  • حالت تفکر: استدلال گسترده برای مسائل پیچیده

عملکرد معیار:

  • Arena AI (متن): ۱۴۴۱
  • MMMLU: ۸۲.۶٪
  • MMMU Pro: ۷۳.۸٪
  • AIME 2026: ۸۸.۳٪
  • LiveCodeBench v6: ۷۷.۱٪
  • GPQA Diamond: ۸۲.۳٪
python
from openai import OpenAI

client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")

response = client.chat.completions.create(
    model="gemma-4-26b-a4b-it",
    messages=[
        {
            "role": "user",
            "content": "مزایای معماری MoE در LLMها را توضیح دهید",
        },
    ],
    max_tokens=2048,
)

print(response.choices[0].message.content)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemma-4-26b-a4b-it` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="مزایای معماری MoE در LLMها را توضیح دهید",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

gemma-4-31b-it

نسخه متراکم Gemma 4 از گوگل، ارائه حداکثر قابلیت با استفاده کامل از پارامتر. بالاترین امتیاز Arena AI ELO (۱۴۵۲) برای کلاس اندازه خود.

ویژگیجزئیات
پارامترها۳۱ میلیارد
معماریترنسفورمر متراکم
پنجره زمینه۱۲۸٬۰۰۰ توکن
قیمت ورودی۰.۱۴ دلار / ۱ میلیون توکن
قیمت ورودی کش شده۰.۰۱۴ دلار / ۱ میلیون توکن (۹۰٪ کاهش هزینه)
قیمت خروجی۰.۴۰ دلار / ۱ میلیون توکن
ورودی‌های پشتیبانی‌شدهمتن، تصویر، صدا
خروجی‌های پشتیبانی‌شدهمتن
نقاط پایانی پشتیبانی‌شدهv1/chat/completions

ویژگی‌های کلیدی:

  • کارایی پیشرو در صنعت: بالاترین امتیاز Arena AI ELO (۱۴۵۲) برای کلاس اندازه خود
  • معماری متراکم: ۳۱ میلیارد پارامتر کامل فعال برای حداکثر قابلیت
  • استدلال چندحالتی: درک قوی صدا و تصویر
  • گردش‌های کاری عاملی: فراخوانی تابع بومی و پشتیبانی از عامل
  • تنظیم دقیق: بهبود عملکرد برای وظایف خاص با استفاده از فریم‌ورک‌های مورد نظر شما
  • حالت تفکر: قابلیت‌های استدلال گسترده

عملکرد معیار:

  • Arena AI (متن): ۱۴۵۲
  • MMMLU: ۸۵.۲٪
  • MMMU Pro: ۷۶.۹٪
  • AIME 2026: ۸۹.۲٪
  • LiveCodeBench v6: ۸۰.۰٪
  • GPQA Diamond: ۸۴.۳٪
  • τ2-bench Retail: ۸۶.۴٪
python
from openai import OpenAI

client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")

response = client.chat.completions.create(
    model="gemma-4-31b-it",
    messages=[
        {
            "role": "user",
            "content": "یک راه‌حل جامع برای بهینه‌سازی یک سیستم توزیع‌شده طراحی کنید",
        },
    ],
    max_tokens=4096,
)

print(response.choices[0].message.content)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemma-4-31b-it` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="یک راه‌حل جامع برای بهینه‌سازی یک سیستم توزیع‌شده طراحی کنید",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

مدل‌های Gemma 3

خانواده Gemma 3 نماینده جدیدترین مدل‌های وزن-باز گوگل است که برای دسترسی گسترده در محیط‌های محاسباتی مختلف طراحی شده است.

ویژگیجزئیات
پنجره زمینهتا ۱۲۸ هزار توکن
اندازه‌های موجود۱ میلیارد (فقط متن)، ۴ میلیارد، ۱۲ میلیارد، ۲۷ میلیارد، و نسخه تخصصی e4B
قابلیت‌های چندوجهیورودی تصویر و متن (به جز مدل ۱ میلیاردی که فقط متنی است)
پشتیبانی زبانبیش از ۱۴۰ زبان
ویژگی‌های کلیدیفراخوانی تابع، پشتیبانی گسترده زبان، قابلیت‌های چندوجهی
بهترین برایاستقرار در محیط‌های با منابع محدود، تنظیم دقیق برای وظایف خاص

gemma-3-1b-it

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

python
response = client.chat.completions.create(
    model="gemma-3-1b-it",
    messages=[
        {"role": "user", "content": "ترانسفورمرها در یادگیری ماشین چگونه کار می‌کنند؟"},
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemma-3-1b-it` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a helpful assistant.",
    input="ترانسفورمرها در یادگیری ماشین چگونه کار می‌کنند؟",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

gemma-3-4b-it

یک مدل چندوجهی متعادل که از ورودی‌های متن و تصویر با پنجره زمینه ۱۲۸ هزار توکنی پشتیبانی می‌کند.

python
response = client.chat.completions.create(
    model="gemma-3-4b-it",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "در این تصویر چه چیزی وجود دارد؟"},
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"
                    },
                },
            ],
        },
    ],
)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemma-3-4b-it` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    input=[
        {
            "role": "user",
            "content": [
                {"type": "input_text", "text": "Describe this image."},
                {"type": "input_image", "image_url": "https://example.com/image.png"},
            ],
        }
    ],
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

gemma-3-12b-it

یک مدل چندوجهی قدرتمندتر با قابلیت‌های استدلال پیشرفته و پشتیبانی از بیش از ۱۴۰ زبان.

gemma-3-27b-it

بزرگترین مدل Gemma 3، با ارائه عملکرد برتر برای وظایف پیچیده با ورودی‌های تصویر و متن.

gemma-3n-e4b-it

یک مدل تخصصی کارآمد با ۴ میلیارد پارامتر که برای موارد استفاده خاص بهینه‌سازی شده است.

مدل‌های تعبیه‌سازی Gemini

مدل‌های تعبیه‌سازی Gemini گوگل، تعبیه‌سازی‌ متن پیشرفته با ویژگی‌های پیشرفته مانند بهینه‌سازی خاص وظیفه و کنترل انعطاف‌پذیر ابعاد ارائه می‌دهند.

gemini-embedding-2

نخستین مدل تعبیه چندوجهی در Gemini API — متن، تصویر، ویدیو، صوت و PDF را در یک فضای تعبیه یکپارچه نگاشت می‌کند و جستجو، طبقه‌بندی و خوشه‌بندی میان‌وجهی در بیش از ۱۰۰ زبان را ممکن می‌سازد.

ویژگیجزئیات
شناسه مدلgemini-embedding-2
نام‌های مستعارgemini-embedding-2-preview
حداکثر توکن‌های ورودی۸٬۱۹۲ توکن
ابعاد خروجیانعطاف‌پذیر ۱۲۸ تا ۳۰۷۲ (پیش‌فرض ۳۰۷۲؛ پیشنهادی ۷۶۸/۱۵۳۶/۳۰۷۲)
روش‌های ورودیمتن، تصویر، صوت، ویدیو، PDF
روش‌های خروجیEmbeddings
اندپوینت‌های پشتیبانی‌شدهv1/embeddings, v1beta/models/gemini-embedding-2:embedContent (Gemini بومی)
قیمت ورودی متنی$0.20 / 1M توکن
ورودی متنی کش‌شده$0.02 / 1M توکن (۹۰٪ کاهش هزینه)
قیمت ورودی تصویری$0.45 / 1M توکن
قیمت ورودی صوتی$6.50 / 1M توکن
قیمت ورودی ویدیویی$12.00 / 1M توکن
قیمت خروجی$0.15 / 1M توکن
محدودیت روش‌های پشتیبانی‌شده۶ تصویر (PNG/JPEG)، ۱۸۰ ثانیه صوت (MP3/WAV)، ۱۲۰ ثانیه ویدیو (MP4/MOV، ۳۲ فریم)، ۶ صفحه PDF

ویژگی‌های کلیدی:

  • نخستین تعبیه چندوجهی: فضای تعبیه یکپارچه در سراسر متن، تصویر، ویدیو، صوت و PDF
  • جستجوی میان‌وجهی: مقایسه و بازیابی محتوا در وجه‌های مختلف در همان فضای برداری
  • بیش از ۱۰۰ زبان: پشتیبانی گسترده چندزبانه
  • یادگیری بازنمایی Matryoshka (MRL): ابعاد خروجی انعطاف‌پذیر بدون افت کیفیت، با نرمال‌سازی مجدد خودکار برای ابعاد برش‌داده‌شده
  • تجمیع تعبیه: یک تعبیه تجمیع‌شده واحد برای ورودی‌های چندبخشی (مانند متن + تصویر)
  • دستورالعمل وظیفه: درج انواع وظیفه مستقیما در دستورالعمل‌ها (مثلا task: search result | query: ...) برای عملکرد بهینه
  • پشتیبانی دوگانه API: در دسترس در هم اندپوینت سازگار با OpenAI یعنی v1/embeddings و هم اندپوینت بومی Gemini یعنی v1beta/models/{model}:embedContent

مثال (API سازگار با OpenAI):

bash
curl https://api.avalai.ir/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AVALAI_API_KEY" \
  -d '{
    "model": "gemini-embedding-2",
    "input": "task: search result | query: What is the meaning of life?",
    "dimensions": 768
  }'
python
from openai import OpenAI

client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")

response = client.embeddings.create(
    model="gemini-embedding-2",
    input="task: search result | query: What is the meaning of life?",
    dimensions=768,
)

print(f"Embedding length: {len(response.data[0].embedding)}")
javascript
import { OpenAI } from "openai";

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

const response = await client.embeddings.create({
  model: "gemini-embedding-2",
  input: "task: search result | query: What is the meaning of life?",
  dimensions: 768,
});

console.log(`Embedding length: ${response.data[0].embedding.length}`);

مثال (API بومی Gemini v1beta — تجمیع چندوجهی):

bash
curl "https://api.avalai.ir/v1beta/models/gemini-embedding-2:embedContent" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $AVALAI_API_KEY" \
  -d '{
    "content": {
      "parts": [
        {"text": "An image of a dog"},
        {
          "inline_data": {
            "mime_type": "image/png",
            "data": "iVBORw0KGgo...[TRUNCATED]"
          }
        }
      ]
    }
  }'

یادداشت

زمانی که چندین بخش در یک درخواست واحد ارائه می‌شوند، gemini-embedding-2 یک تعبیه تجمیع‌شده واحد برمی‌گرداند. برای تعبیه‌های جداگانه به ازای هر ورودی از درخواست‌های متعدد یا Batch API استفاده کنید.


gemini-embedding-001

مدل تعبیه‌سازی اصلی Gemini که نمایش‌های برداری با کیفیت بالا بهینه‌سازی شده برای وظایف مختلف NLP از جمله جستجوی معنایی، خوشه‌بندی، طبقه‌بندی و تولید تقویت‌شده بازیابی (RAG) تولید می‌کند.

ویژگیجزئیات
شناسه مدلgemini-embedding-001
حداکثر توکن‌های ورودی۲٬۰۴۸ توکن
ابعاد خروجیانعطاف‌پذیر: ۱۲۸-۳۰۷۲ (توصیه‌شده: ۷۶۸، ۱۵۳۶، ۳۰۷۲)
ابعاد پیش‌فرض۳۰۷۲
قیمت‌گذاری ورودی۰.۱۵ دلار / ۱ میلیون توکن
قیمت‌گذاری خروجی۰.۰۷۵ دلار / ۱ میلیون توکن
انواع وظایف پشتیبانی‌شدهSEMANTIC_SIMILARITY، CLASSIFICATION، CLUSTERING، RETRIEVAL_DOCUMENT، RETRIEVAL_QUERY، CODE_RETRIEVAL_QUERY، QUESTION_ANSWERING، FACT_VERIFICATION
بهترین برایجستجوی معنایی، سیستم‌های RAG، خوشه‌بندی اسناد، طبقه‌بندی متن

استفاده پایه (طرحواره OpenAI)

python
from openai import OpenAI

client = OpenAI(
    api_key="your-avalai-api-key",  # با کلید واقعی خود جایگزین کنید
    base_url="https://api.avalai.ir/v1",  # نقطه پایانی API AvalAI
)

# تولید تعبیه‌سازی پایه
response = client.embeddings.create(
    model="gemini-embedding-001",
    input="روباه قهوه‌ای سریع از روی سگ تنبل می‌پرد",
)

embedding = response.data[0].embedding
print(f"ابعاد تعبیه‌سازی: {len(embedding)}")
print(f"چند مقدار اول: {embedding[:5]}")
javascript
import { OpenAI } from "openai";

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

// تولید تعبیه‌سازی پایه
const response = await client.embeddings.create({
    model: "gemini-embedding-001",
    input: "روباه قهوه‌ای سریع از روی سگ تنبل می‌پرد",
});

const embedding = response.data[0].embedding;
console.log(`ابعاد تعبیه‌سازی: ${embedding.length}`);
console.log(`چند مقدار اول: ${embedding.slice(0, 5)}`);
bash
curl https://api.avalai.ir/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AVALAI_API_KEY" \
  -d '{
    "model": "gemini-embedding-001",
    "input": "روباه قهوه‌ای سریع از روی سگ تنبل می‌پرد"
  }'

ویژگی‌های پیشرفته با انواع وظایف

برای عملکرد بهینه، نوع وظیفه را مشخص کنید تا مدل تعبیه‌سازی‌‌ها را برای مورد استفاده خاص شما بهینه‌سازی کند:

python
# بهینه‌سازی خاص وظیفه با ابعاد سفارشی
response = client.embeddings.create(
    model="gemini-embedding-001",
    input=["معنای زندگی چیست؟", "هدف وجود چیست؟", "چگونه کیک درست کنم؟"],
    extra_body={"task_type": "SEMANTIC_SIMILARITY", "output_dimensionality": 768},
)

# محاسبه شباهت کسینوسی
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity

embeddings = [item.embedding for item in response.data]
embeddings_matrix = np.array(embeddings)
similarity_matrix = cosine_similarity(embeddings_matrix)

print(f"شباهت بین دو متن اول: {similarity_matrix[0, 1]:.4f}")
javascript
// بهینه‌سازی خاص وظیفه با ابعاد سفارشی
const response = await client.embeddings.create({
    model: "gemini-embedding-001",
    input: [
        "معنای زندگی چیست؟",
        "هدف وجود چیست؟",
        "چگونه کیک درست کنم؟"
    ],
    // @ts-expect-error extra_body is a provider-specific parameter
    extra_body: {
        task_type: "SEMANTIC_SIMILARITY",
        output_dimensionality: 768
    }
});

const embeddings = response.data.map(item => item.embedding);
console.log(`${embeddings.length} تعبیه‌سازی با ${embeddings[0].length} بعد تولید شد`);
bash
curl https://api.avalai.ir/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AVALAI_API_KEY" \
  -d '{
    "model": "gemini-embedding-001",
    "input": ["معنای زندگی چیست؟", "هدف وجود چیست؟"],
    "extra_body": {
      "task_type": "SEMANTIC_SIMILARITY",
      "output_dimensionality": 768
    }
  }'

استفاده از API بومی Gemini

همچنین می‌توانید از تعبیه‌سازی‌ Gemini از طریق SDK بومی Google GenAI استفاده کنید:

python
from google import genai

client = genai.Client(
    api_key="your-avalai-api-key",
    http_options={"api_version": "v1beta", "base_url": "https://api.avalai.ir"},
)

# تعبیه‌سازی پایه
result = client.models.embed_content(
    model="gemini-embedding-001", contents="معنای زندگی چیست؟"
)

print(f"ابعاد تعبیه‌سازی: {len(result.embeddings[0].values)}")

# استفاده پیشرفته با نوع وظیفه و ابعاد سفارشی
from google.genai import types

result = client.models.embed_content(
    model="gemini-embedding-001",
    contents=["معنای زندگی چیست؟", "هدف وجود چیست؟", "چگونه کیک درست کنم؟"],
    config=types.EmbedContentConfig(
        task_type="SEMANTIC_SIMILARITY", output_dimensionality=768
    ),
)

for i, embedding in enumerate(result.embeddings):
    print(f"تعبیه‌سازی {i}: {len(embedding.values)} بعد")
javascript
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({
    apiKey: process.env.AVALAI_API_KEY,
    httpOptions: {"apiVersion": "v1beta", "baseUrl": "https://api.avalai.ir"}}
});

// تعبیه‌سازی پایه
const response = await ai.models.embedContent({
    model: "gemini-embedding-001",
    contents: "معنای زندگی چیست؟"
});

console.log(`ابعاد تعبیه‌سازی: ${response.embeddings[0].values.length}`);

// استفاده پیشرفته با نوع وظیفه
const advancedResponse = await ai.models.embedContent({
    model: "gemini-embedding-001",
    contents: [
        "معنای زندگی چیست؟",
        "هدف وجود چیست؟"
    ],
    taskType: "SEMANTIC_SIMILARITY",
    outputDimensionality: 768
});

console.log(`${advancedResponse.embeddings.length} تعبیه‌سازی تولید شد`);
bash
curl "https://api.avalai.ir/v1beta/models/gemini-embedding-001:embedContent" \
  -H "x-goog-api-key: $AVALAI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "contents": [
      {"parts": [{"text": "معنای زندگی چیست؟"}]}
    ],
    "embedding_config": {
      "task_type": "SEMANTIC_SIMILARITY",
      "output_dimensionality": 768
    }
  }'

انواع وظایف پشتیبانی‌شده

نوع وظیفهتوضیحاتموارد استفاده
SEMANTIC_SIMILARITYبهینه‌سازی شده برای اندازه‌گیری شباهت متنسیستم‌های توصیه، تشخیص تکراری
CLASSIFICATIONبهینه‌سازی شده برای وظایف طبقه‌بندی متنتحلیل احساسات، تشخیص اسپم
CLUSTERINGبهینه‌سازی شده برای گروه‌بندی متن‌های مشابهسازماندهی اسناد، تحقیقات بازار
RETRIEVAL_DOCUMENTبهینه‌سازی شده برای نمایه‌سازی اسنادسیستم‌های RAG، موتورهای جستجو
RETRIEVAL_QUERYبهینه‌سازی شده برای پرس‌وجوهای جستجوبرنامه‌های جستجوی سفارشی
CODE_RETRIEVAL_QUERYبهینه‌سازی شده برای پرس‌وجوهای جستجوی کدجستجوی کد، جستجوی مستندات
QUESTION_ANSWERINGبهینه‌سازی شده برای سیستم‌های پرسش و پاسخچت‌بات‌ها، سیستم‌های FAQ
FACT_VERIFICATIONبهینه‌سازی شده برای بررسی حقایقسیستم‌های تایید خودکار

کنترل ابعاد خروجی

تعبیه‌سازی‌ Gemini از یادگیری نمایش ماتریوشکا (MRL) پشتیبانی می‌کنند که امکان کوتاه کردن تعبیه‌سازی‌‌ها به ابعاد کوچک‌تر بدون از دست دادن کیفیت قابل توجه را فراهم می‌کند:

  • ۳۰۷۲ بعد: ظرفیت کامل مدل (پیش‌فرض، نرمال‌سازی شده)
  • ۱۵۳۶ بعد: عملکرد متعادل و کارایی
  • ۷۶۸ بعد: کارآمد با عملکرد خوب
  • ۵۱۲ بعد: فشرده با عملکرد قابل قبول
  • ۲۵۶ بعد: بسیار فشرده
  • ۱۲۸ بعد: حداقل اندازه

مهم

برای ابعاد غیر از ۳۰۷۲، باید تعبیه‌سازی‌‌ها را به صورت دستی نرمال‌سازی کنید تا عملکرد بهینه شباهت معنایی داشته باشید.

python
import numpy as np

# نرمال‌سازی تعبیه‌سازی‌‌ها برای ابعاد < ۳۰۷۲
embedding_values = np.array(embedding)
normalized_embedding = embedding_values / np.linalg.norm(embedding_values)

gemini-embedding-exp-03-07

نسخه آزمایشی مدل تعبیه‌سازی Gemini با آخرین بهبودها و ویژگی‌ها.

ویژگیجزئیات
شناسه مدلgemini-embedding-exp-03-07
وضعیتآزمایشی
قیمت‌گذاریمشابه gemini-embedding-001
ویژگی‌هاآخرین بهبودهای آزمایشی
بهترین برایآزمایش قابلیت‌های جدید، برنامه‌های تحقیقاتی

نکته

مدل‌های آزمایشی ممکن است رفتار متفاوتی داشته باشند و در معرض تغییر هستند. برای برنامه‌های تولیدی از gemini-embedding-001 پایدار استفاده کنید.

تولید گفتار (تبدیل متن به گفتار)

API Gemini می‌تواند ورودی متنی را به صوت تک‌گوینده یا چندگوینده با استفاده از قابلیت‌های بومی تولید تبدیل متن به گفتار (TTS) تبدیل کند. تولید TTS قابل کنترل است، به این معنی که می‌توانید از زبان طبیعی برای ساختار تعاملات و راهنمایی سبک، لهجه، سرعت و لحن صدا استفاده کنید.

قابلیت TTS با تولید گفتار ارائه شده از طریق Live API متفاوت است که برای صوت تعاملی و غیرساختار یافته و ورودی‌ها و خروجی‌های چندوسیله‌ای طراحی شده است. در حالی که Live API در زمینه‌های مکالمه‌ای پویا عالی است، TTS از طریق API Gemini برای سناریوهایی که نیاز به بازخوانی دقیق متن با کنترل دقیق سبک و صدا دارند، مانند تولید پادکست یا کتاب صوتی، مناسب است.

پیش‌نمایش: تبدیل متن به گفتار (TTS) بومی در حالت پیش‌نمایش است.

قبل از شروع

اطمینان حاصل کنید که از یک نوع مدل Gemini 2.5 با قابلیت‌های بومی تبدیل متن به گفتار (TTS) استفاده می‌کنید، همانطور که در بخش مدل‌های پشتیبانی شده فهرست شده است. برای نتایج بهینه، در نظر بگیرید که کدام مدل بهترین تناسب را با مورد استفاده خاص شما دارد.

ممکن است مفید باشد که مدل‌های Gemini 2.5 TTS را در AI Studio قبل از شروع ساخت آزمایش کنید.

نکته

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

bash
curl "https://api.avalai.ir/v1beta/models/gemini-2.5-flash-preview-tts:generateContent" \
  -H "x-goog-api-key: $AVALAI_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
        "parts":[{
            "text": "با هیجان بگو: روز فوق‌العاده‌ای داشته باش!"
        }]
    }],
    "generationConfig": {
        "responseModalities": ["AUDIO"],
        "speechConfig": {
            "voiceConfig": {
                "prebuiltVoiceConfig": {
                    "voiceName": "Kore"
                }
            }
        }
    },
    "model": "gemini-2.5-flash-preview-tts"
}' | jq -r '.candidates[0].content.parts[0].inlineData.data' \
  | base64 --decode >out.pcm
# ممکن است نیاز به نصب ffmpeg داشته باشید.
ffmpeg -f s16le -ar 24000 -ac 1 -i out.pcm out.wav
python
from google import genai
from google.genai import types
import wave


# تنظیم فایل wave برای ذخیره خروجی:
def wave_file(filename, pcm, channels=1, rate=24000, sample_width=2):
    with wave.open(filename, "wb") as wf:
        wf.setnchannels(channels)
        wf.setsampwidth(sample_width)
        wf.setframerate(rate)
        wf.writeframes(pcm)


client = genai.Client(
    api_key="AVALAI_API_KEY",
    http_options={"api_version": "v1beta", "base_url": "https://api.avalai.ir"},
)

response = client.models.generate_content(
    model="gemini-2.5-flash-preview-tts",
    contents="با شادی بگو: روز فوق‌العاده‌ای داشته باش!",
    config=types.GenerateContentConfig(
        response_modalities=["AUDIO"],
        speech_config=types.SpeechConfig(
            voice_config=types.VoiceConfig(
                prebuilt_voice_config=types.PrebuiltVoiceConfig(
                    voice_name="Kore",
                )
            )
        ),
    ),
)

data = response.candidates[0].content.parts[0].inline_data.data

file_name = "out.wav"
wave_file(file_name, data)  # فایل را در دایرکتوری جاری ذخیره می‌کند
javascript
import {GoogleGenAI} from '@google/genai';
import wav from 'wav';

async function saveWaveFile(
    filename,
    pcmData,
    channels = 1,
    rate = 24000,
    sampleWidth = 2,
) {
    return new Promise((resolve, reject) => {
        const writer = new wav.FileWriter(filename, {
            channels,
            sampleRate: rate,
            bitDepth: sampleWidth * 8,
        });

        writer.on('finish', resolve);
        writer.on('error', reject);

        writer.write(pcmData);
        writer.end();
    });
}

async function main() {
    const ai = new GoogleGenAI({
        apiKey: 'AVALAI_API_KEY',
        httpOptions: {"apiVersion": "v1beta", "baseUrl": "https://api.avalai.ir"}}
    });

    const response = await ai.models.generateContent({
        model: "gemini-2.5-flash-preview-tts",
        contents: [{ parts: [{ text: 'با شادی بگو: روز فوق‌العاده‌ای داشته باش!' }] }],
        config: {
            responseModalities: ['AUDIO'],
            speechConfig: {
                voiceConfig: {
                    prebuiltVoiceConfig: { voiceName: 'Kore' },
                },
            },
        },
    });

    const data = response.candidates?.[0]?.content?.parts?.[0]?.inlineData?.data;
    const audioBuffer = Buffer.from(data, 'base64');

    const fileName = 'out.wav';
    await saveWaveFile(fileName, audioBuffer);
}
await main();
go
package main

import (
	"context"
	"encoding/base64"
	"fmt"
	"os"

	"github.com/google/generative-ai-go/genai"
	"google.golang.org/api/option"
)

func main() {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, option.WithAPIKey("AVALAI_API_KEY"), option.WithEndpoint("https://api.avalai.ir"))
	if err != nil {
		panic(err)
	}
	defer client.Close()

	model := client.GenerativeModel("gemini-2.5-flash-preview-tts")
	model.SetCandidateCount(1)
	model.ResponseMIMEType = "audio/wav"

	// پیکربندی برای TTS
	model.GenerationConfig.ResponseModalities = []string{"AUDIO"}
	model.SpeechConfig = &genai.SpeechConfig{
		VoiceConfig: &genai.VoiceConfig{
			PrebuiltVoiceConfig: &genai.PrebuiltVoiceConfig{
				VoiceName: "Kore",
			},
		},
	}

	resp, err := model.GenerateContent(ctx, genai.Text("با شادی بگو: روز فوق‌العاده‌ای داشته باش!"))
	if err != nil {
		panic(err)
	}

	// استخراج داده‌های صوتی
	if len(resp.Candidates) > 0 && len(resp.Candidates[0].Content.Parts) > 0 {
		if blob, ok := resp.Candidates[0].Content.Parts[0].(genai.Blob); ok {
			// رمزگشایی داده‌های صوتی base64
			audioData, err := base64.StdEncoding.DecodeString(string(blob.Data))
			if err != nil {
				panic(err)
			}

			// ذخیره در فایل
			err = os.WriteFile("out.wav", audioData, 0644)
			if err != nil {
				panic(err)
			}
			fmt.Println("صدا در out.wav ذخیره شد")
		}
	}
}

تبدیل متن به گفتار چندگوینده

برای صوت چندگوینده، به یک شیء MultiSpeakerVoiceConfig نیاز دارید که هر گوینده (تا 2 نفر) به عنوان SpeakerVoiceConfig پیکربندی شده باشد. باید هر گوینده را با همان نام‌های استفاده شده در پرامپت تعریف کنید:

bash
curl "https://api.avalai.ir/v1beta/models/gemini-2.5-flash-preview-tts:generateContent" \
  -H "x-goog-api-key: $AVALAI_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
        "parts":[{
            "text": "مکالمه زیر را بین Joe و Jane تبدیل به TTS کن:\nJoe: چه خبر؟\nJane: بد نیستم، تو چطوری؟"
        }]
    }],
    "generationConfig": {
        "responseModalities": ["AUDIO"],
        "speechConfig": {
            "multiSpeakerVoiceConfig": {
                "speakerVoiceConfigs": [{
                    "speaker": "Joe",
                    "voiceConfig": {
                        "prebuiltVoiceConfig": {
                            "voiceName": "Kore"
                        }
                    }
                }, {
                    "speaker": "Jane",
                    "voiceConfig": {
                        "prebuiltVoiceConfig": {
                            "voiceName": "Puck"
                        }
                    }
                }]
            }
        }
    },
    "model": "gemini-2.5-flash-preview-tts"
}' | jq -r '.candidates[0].content.parts[0].inlineData.data' \
  | base64 --decode >out.pcm
# ممکن است نیاز به نصب ffmpeg داشته باشید.
ffmpeg -f s16le -ar 24000 -ac 1 -i out.pcm out.wav
python
from google import genai
from google.genai import types
import wave


# تنظیم فایل wave برای ذخیره خروجی:
def wave_file(filename, pcm, channels=1, rate=24000, sample_width=2):
    with wave.open(filename, "wb") as wf:
        wf.setnchannels(channels)
        wf.setsampwidth(sample_width)
        wf.setframerate(rate)
        wf.writeframes(pcm)


client = genai.Client(
    api_key="AVALAI_API_KEY",
    http_options={"api_version": "v1beta", "base_url": "https://api.avalai.ir"},
)

prompt = "مکالمه زیر را بین Joe و Jane تبدیل به TTS کن:\nJoe: چه خبر؟\nJane: بد نیستم، تو چطوری؟"

response = client.models.generate_content(
    model="gemini-2.5-flash-preview-tts",
    contents=prompt,
    config=types.GenerateContentConfig(
        response_modalities=["AUDIO"],
        speech_config=types.SpeechConfig(
            multi_speaker_voice_config=types.MultiSpeakerVoiceConfig(
                speaker_voice_configs=[
                    types.SpeakerVoiceConfig(
                        speaker="Joe",
                        voice_config=types.VoiceConfig(
                            prebuilt_voice_config=types.PrebuiltVoiceConfig(
                                voice_name="Kore",
                            )
                        ),
                    ),
                    types.SpeakerVoiceConfig(
                        speaker="Jane",
                        voice_config=types.VoiceConfig(
                            prebuilt_voice_config=types.PrebuiltVoiceConfig(
                                voice_name="Puck",
                            )
                        ),
                    ),
                ]
            )
        ),
    ),
)

data = response.candidates[0].content.parts[0].inline_data.data

file_name = "out.wav"
wave_file(file_name, data)  # فایل را در دایرکتوری جاری ذخیره می‌کند
javascript
import {GoogleGenAI} from '@google/genai';
import wav from 'wav';

async function saveWaveFile(
    filename,
    pcmData,
    channels = 1,
    rate = 24000,
    sampleWidth = 2,
) {
    return new Promise((resolve, reject) => {
        const writer = new wav.FileWriter(filename, {
            channels,
            sampleRate: rate,
            bitDepth: sampleWidth * 8,
        });

        writer.on('finish', resolve);
        writer.on('error', reject);

        writer.write(pcmData);
        writer.end();
    });
}

async function main() {
    const ai = new GoogleGenAI({
        apiKey: 'AVALAI_API_KEY',
        httpOptions: {"apiVersion": "v1beta", "baseUrl": "https://api.avalai.ir"}}
    });

    const prompt = "مکالمه زیر را بین Joe و Jane تبدیل به TTS کن:\nJoe: چه خبر؟\nJane: بد نیستم، تو چطوری؟";

    const response = await ai.models.generateContent({
        model: "gemini-2.5-flash-preview-tts",
        contents: [{ parts: [{ text: prompt }] }],
        config: {
            responseModalities: ['AUDIO'],
            speechConfig: {
                multiSpeakerVoiceConfig: {
                    speakerVoiceConfigs: [
                        {
                            speaker: 'Joe',
                            voiceConfig: {
                                prebuiltVoiceConfig: { voiceName: 'Kore' }
                            }
                        },
                        {
                            speaker: 'Jane',
                            voiceConfig: {
                                prebuiltVoiceConfig: { voiceName: 'Puck' }
                            }
                        }
                    ]
                }
            }
        }
    });

    const data = response.candidates?.[0]?.content?.parts?.[0]?.inlineData?.data;
    const audioBuffer = Buffer.from(data, 'base64');

    const fileName = 'out.wav';
    await saveWaveFile(fileName, audioBuffer);
}

await main();
go
package main

import (
	"context"
	"encoding/base64"
	"fmt"
	"os"

	"github.com/google/generative-ai-go/genai"
	"google.golang.org/api/option"
)

func main() {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, option.WithAPIKey("AVALAI_API_KEY"), option.WithEndpoint("https://api.avalai.ir"))
	if err != nil {
		panic(err)
	}
	defer client.Close()

	model := client.GenerativeModel("gemini-2.5-flash-preview-tts")
	model.SetCandidateCount(1)
	model.ResponseMIMEType = "audio/wav"

	// پیکربندی برای TTS چندگوینده
	model.GenerationConfig.ResponseModalities = []string{"AUDIO"}
	model.SpeechConfig = &genai.SpeechConfig{
		MultiSpeakerVoiceConfig: &genai.MultiSpeakerVoiceConfig{
			SpeakerVoiceConfigs: []*genai.SpeakerVoiceConfig{
				{
					Speaker: "Joe",
					VoiceConfig: &genai.VoiceConfig{
						PrebuiltVoiceConfig: &genai.PrebuiltVoiceConfig{
							VoiceName: "Kore",
						},
					},
				},
				{
					Speaker: "Jane",
					VoiceConfig: &genai.VoiceConfig{
						PrebuiltVoiceConfig: &genai.PrebuiltVoiceConfig{
							VoiceName: "Puck",
						},
					},
				},
			},
		},
	}

	prompt := "مکالمه زیر را بین Joe و Jane تبدیل به TTS کن:\nJoe: چه خبر؟\nJane: بد نیستم، تو چطوری؟"

	resp, err := model.GenerateContent(ctx, genai.Text(prompt))
	if err != nil {
		panic(err)
	}

	// استخراج داده‌های صوتی
	if len(resp.Candidates) > 0 && len(resp.Candidates[0].Content.Parts) > 0 {
		if blob, ok := resp.Candidates[0].Content.Parts[0].(genai.Blob); ok {
			// رمزگشایی داده‌های صوتی base64
			audioData, err := base64.StdEncoding.DecodeString(string(blob.Data))
			if err != nil {
				panic(err)
			}

			// ذخیره در فایل
			err = os.WriteFile("out.wav", audioData, 0644)
			if err != nil {
				panic(err)
			}
			fmt.Println("صدای چندگوینده در out.wav ذخیره شد")
		}
	}
}

کنترل سبک گفتار با پرامپت‌ها

می‌توانید سبک، لحن، لهجه و سرعت را با استفاده از پرامپت‌های زبان طبیعی برای TTS تک‌گوینده و چندگوینده کنترل کنید. به عنوان مثال، در یک پرامپت تک‌گوینده، می‌توانید بگویید:

با زمزمه ترسناک بگو:
"با سوزن انگشتان من...
چیزی شیطانی از این راه می‌آید"

در یک پرامپت چندگوینده، مدل را با نام هر گوینده و متن مربوطه ارائه دهید. همچنین می‌توانید راهنمایی برای هر گوینده به صورت جداگانه ارائه دهید:

گوینده1 را خسته و کسل‌کننده و گوینده2 را هیجان‌زده و شاد کن:

گوینده1: خب... امروز چه برنامه‌ای داریم؟
گوینده2: هرگز حدس نمی‌زنی!

سعی کنید از گزینه صدایی استفاده کنید که با سبک یا احساسی که می‌خواهید منتقل کنید مطابقت دارد تا آن را بیشتر تاکید کنید. به عنوان مثال، در پرامپت قبلی، تنفس Enceladus ممکن است "خسته" و "کسل‌کننده" را تاکید کند، در حالی که لحن پرانرژی Puck می‌تواند "هیجان‌زده" و "شاد" را تکمیل کند.

تولید پرامپت برای تبدیل به صدا

مدل‌های TTS فقط صدا خروجی می‌دهند، اما می‌توانید ابتدا از مدل‌های دیگر برای تولید متن استفاده کنید، سپس آن متن را به مدل TTS برای خواندن ارسال کنید.

python
from google import genai
from google.genai import types

client = genai.Client(
    api_key="AVALAI_API_KEY",
    http_options={"api_version": "v1beta", "base_url": "https://api.avalai.ir"},
)

transcript = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="""متنی حدود 100 کلمه تولید کن که مانند قطعه‌ای از پادکست
    توسط زمین‌شناسان هیجان‌زده باشد.
    نام میزبان‌ها دکتر آنیا و لیام است.""",
).text

response = client.models.generate_content(
    model="gemini-2.5-flash-preview-tts",
    contents=transcript,
    config=types.GenerateContentConfig(
        response_modalities=["AUDIO"],
        speech_config=types.SpeechConfig(
            multi_speaker_voice_config=types.MultiSpeakerVoiceConfig(
                speaker_voice_configs=[
                    types.SpeakerVoiceConfig(
                        speaker="دکتر آنیا",
                        voice_config=types.VoiceConfig(
                            prebuilt_voice_config=types.PrebuiltVoiceConfig(
                                voice_name="Kore",
                            )
                        ),
                    ),
                    types.SpeakerVoiceConfig(
                        speaker="لیام",
                        voice_config=types.VoiceConfig(
                            prebuilt_voice_config=types.PrebuiltVoiceConfig(
                                voice_name="Puck",
                            )
                        ),
                    ),
                ]
            )
        ),
    ),
)

# ...کد برای جریان‌سازی یا ذخیره خروجی
javascript
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({
    apiKey: 'AVALAI_API_KEY',
    httpOptions: {"apiVersion": "v1beta", "baseUrl": "https://api.avalai.ir"}}
});

async function main() {

const transcript = await ai.models.generateContent({
    model: "gemini-2.5-flash",
    contents: "متنی حدود 100 کلمه تولید کن که مانند قطعه‌ای از پادکست توسط زمین‌شناسان هیجان‌زده باشد. نام میزبان‌ها دکتر آنیا و لیام است.",
    })

const response = await ai.models.generateContent({
    model: "gemini-2.5-flash-preview-tts",
    contents: transcript,
    config: {
        responseModalities: ['AUDIO'],
        speechConfig: {
            multiSpeakerVoiceConfig: {
                speakerVoiceConfigs: [
                    {
                        speaker: "دکتر آنیا",
                        voiceConfig: {
                            prebuiltVoiceConfig: {voiceName: "Kore"},
                        }
                    },
                    {
                        speaker: "لیام",
                        voiceConfig: {
                            prebuiltVoiceConfig: {voiceName: "Puck"},
                        }
                    }
                ]
            }
        }
    }
    });
}
// ..کد جاوااسکریپت برای صادرات فایل .wav برای خروجی صوتی

await main();

گزینه‌های صدا

مدل‌های TTS از 30 گزینه صدای زیر در فیلد voice_name پشتیبانی می‌کنند:

صداسبکصداسبکصداسبک
ZephyrروشنPuckپرانرژیCharonآموزنده
KoreمحکمFenrirهیجان‌زدهLedaجوان
OrusمحکمAoedeسبکCallirrhoeراحت
AutonoeروشنEnceladusنفس‌دارIapetusواضح
UmbrielراحتAlgiebaنرمDespinaنرم
ErinomeواضحAlgenibخش‌دارRasalgethiآموزنده
LaomedeiaپرانرژیAchernarملایمAlnilamمحکم
SchedarمتعادلGacruxبالغPulcherrimaمستقیم
AchirdدوستانهZubenelgenubiغیررسمیVindemiatrixملایم
SadachbiaسرزندهSadaltagerآگاهSulafatگرم

می‌توانید تمام گزینه‌های صدا را در AI Studio بشنوید.

زبان‌های پشتیبانی شده

مدل‌های TTS زبان ورودی را به صورت خودکار تشخیص می‌دهند. آنها از 24 زبان زیر پشتیبانی می‌کنند:

زبانکد BCP-47زبانکد BCP-47
عربی (مصری)ar-EGآلمانی (آلمان)de-DE
انگلیسی (آمریکا)en-USاسپانیایی (آمریکا)es-US
فرانسوی (فرانسه)fr-FRهندی (هند)hi-IN
اندونزیایی (اندونزی)id-IDایتالیایی (ایتالیا)it-IT
ژاپنی (ژاپن)ja-JPکره‌ای (کره)ko-KR
پرتغالی (برزیل)pt-BRروسی (روسیه)ru-RU
هلندی (هلند)nl-NLلهستانی (لهستان)pl-PL
تایلندی (تایلند)th-THترکی (ترکیه)tr-TR
ویتنامی (ویتنام)vi-VNرومانیایی (رومانی)ro-RO
اوکراینی (اوکراین)uk-UAبنگالی (بنگلادش)bn-BD
انگلیسی (هند)en-IN & hi-IN bundleمراتی (هند)mr-IN
تامیل (هند)ta-INتلوگو (هند)te-IN

مدل‌های پشتیبانی شده

مدلتک گویندهچندگوینده
Gemini 2.5 Flash Preview TTS✔️✔️
Gemini 2.5 Pro Preview TTS✔️✔️

محدودیت‌ها

  • مدل‌های TTS فقط می‌توانند ورودی‌های متنی دریافت کنند و خروجی‌های صوتی تولید کنند.
  • یک جلسه TTS محدودیت پنجره زمینه 32k توکن دارد.
  • برای پشتیبانی زبان، بخش زبان‌ها را بررسی کنید.

مهم

API v1beta با مستندات رسمی API Gemini سازگار است. برای ناسازگاری‌ها، با t.me/AvalAISupport تماس بگیرید.

تبدیل متن به گفتار تک‌گوینده

برای تبدیل متن به صوت تک‌گوینده، حالت پاسخ را روی "audio" تنظیم کنید و یک شیء SpeechConfig با VoiceConfig تنظیم شده ارسال کنید. باید نام صدا را از صداهای از پیش ساخته شده خروجی انتخاب کنید.

این مثال صوت خروجی از مدل را در یک فایل wave ذخیره می‌کند:

ویژگی‌های کلیدی

  • تولید صدای تک‌گوینده و چندگوینده: تولید صدا برای یک صدا یا ایجاد مکالمات بین چند گوینده
  • کنترل سبک از طریق زبان طبیعی: کنترل سبک گفتار، لحن، لهجه و سرعت با استفاده از دستورات زبان طبیعی
  • 30 گزینه صدا: انتخاب از میان انواع صداها با ویژگی‌های مختلف (محکم، روشن، پرانرژی، آموزنده و غیره)
  • پشتیبانی از 24 زبان: تشخیص خودکار زبان برای 24 زبان از جمله انگلیسی، اسپانیایی، فرانسوی، ژاپنی و موارد دیگر
  • پنجره زمینه 32K توکن: پردازش متن‌های طولانی‌تر در یک درخواست
  • پشتیبانی از جریان‌سازی: دریافت خروجی صوتی همزمان با تولید آن برای برنامه‌های واکنش‌پذیرتر

انتخاب صدا

مدل‌های Gemini TTS از 30 گزینه صدا با ویژگی‌های مختلف پشتیبانی می‌کنند:

صداسبکصداسبکصداسبک
ZephyrروشنPuckپرانرژیCharonآموزنده
KoreمحکمFenrirهیجان‌زدهLedaجوان
OrusمحکمAoedeسبکCallirrhoeراحت
AutonoeروشنEnceladusنفس‌دارIapetusواضح
UmbrielراحتAlgiebaنرمDespinaنرم
ErinomeواضحAlgenibخش‌دارRasalgethiآموزنده
LaomedeiaپرانرژیAchernarملایمAlnilamمحکم
SchedarمتعادلGacruxبالغPulcherrimaمستقیم
AchirdدوستانهZubenelgenubiغیررسمیVindemiatrixملایم
SadachbiaسرزندهSadaltagerآگاهSulafatگرم

مثال‌های استفاده

TTS تک‌گوینده

python
# مثال استفاده از Gemini TTS برای تک گوینده
from openai import OpenAI

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

response = client.audio.speech.create(
    model="gemini-2.5-flash-preview-tts",
    input="روز بسیار خوبی داشته باشید!",
    voice={"name": "Kore", "languageCode": "en-US"},
)


# ذخیره پاسخ صوتی
with open("output.mp3", "wb") as f:
    f.write(response.content)

TTS چندگوینده

هشدار

ویژگی پیاده‌سازی نشده!

این قابلیت در حال حاضر در حال توسعه است و هنوز در AvalAI در دسترس نیست. ما انتشار آن را از طریق کانال‌های رسمی خود اعلام خواهیم کرد. منتظر به‌روزرسانی‌های ما باشید!

python
# مثال استفاده از Gemini TTS برای چند گوینده
from openai import OpenAI

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

response = client.chat.completions.create(
    model="gemini-2.5-pro-preview-tts",
    messages=[
        {
            "role": "user",
            "content": "مکالمه زیر را بین Joe و Jane تبدیل به TTS کن:\nJoe: چه خبر؟\nJane: بد نیستم، تو چطوری؟",
        }
    ],
    response_format={"type": "audio"},
    multi_speaker={
        "speakers": [
            {
                "name": "Joe",
                "voice": {"name": "Kore", "languageCode": "en-US"},
                "format": "pcm16",
            },
            {
                "name": "Jane",
                "voice": {"name": "Puck", "languageCode": "en-US"},
                "format": "pcm16",
            },
        ]
    },
)

# ذخیره پاسخ صوتی
with open("conversation.mp3", "wb") as f:
    f.write(response.choices[0].message.content)
نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `gemini-2.5-pro-preview-tts` ممکن است در داده‌های فعلی AvalAI برای `/v1/responses` فعال نباشد.

وقتی مدل انتخابی از /v1/responses پشتیبانی می‌کند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل می‌شود و متن نهایی از response.output_text خوانده می‌شود.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5",
    input="مکالمه زیر را بین Joe و Jane تبدیل به TTS کن: Joe: چه خبر؟ Jane: بد نیستم، تو چطوری؟",
)

print(response.output_text)
  • messagesinput
  • پیام سیستمی → instructions یا آیتم developer
  • choices[0].message.contentresponse.output_text
  • برای ابزارها و خروجی‌های چندوجهی، response.output را بر اساس type بررسی کنید.

برای جزئیات بیشتر در مورد استفاده از این مدل‌ها، به راهنمای پردازش صوتی مراجعه کنید.