|

Nano Banana 2 هل يولد صورة واحدة فقط في كل مرة؟ حقيقة عدم فعالية المعلمة n وحلول توليد الصور بكميات كبيرة

ملاحظة المؤلف: تحليل قيود نموذج Nano Banana 2 التي تسمح بإخراج صورة واحدة فقط لكل طلب، وكشف أسباب عدم فعالية المعاملات n و numberOfImages، ومقارنة قدرات توليد الصور المتعددة مع نماذج مثل Seedream، وتقديم حلول فعالة للتصميم الدفعي.

nano-banana-2-single-image-output-limit-batch-solution-guide-ar 图示

كثير من المطورين عند استدعاء واجهة برمجة تطبيقات Nano Banana 2، يكتبون في الموجه عبارات مثل "أنشئ صورتين" أو "الكمية 4"، أو يحاولون تمرير معاملات مثل n=4 أو numberOfImages=2لكن كل ذلك لا يعمل. هذا ليس خطأ برمجيًا، بل هو قيد تصميمي في Nano Banana 2: كل طلب API يمكنه إخراج صورة واحدة فقط كحد أقصى.

القيمة الأساسية: بعد قراءة هذه المقالة، ستفهم طبيعة قيد إخراج الصورة الواحدة في Nano Banana 2، وستتجنب الطرق غير المجدية، وستتعلم الحل الصحيح لتحقيق التصميم الدفعي من خلال طلبات متزامنة متعددة.

الحقيقة وراء قيود عدد الصور في Nano Banana 2

لماذا يُنتج Nano Banana 2 صورة واحدة فقط؟

يستخدم Nano Banana 2 واجهة برمجة تطبيقات generateContent الخاصة بـ Gemini، وليس واجهة برمجة تطبيقات توليد الصور المستقلة (مثل generateImages الخاصة بـ Imagen). هذا يعني أن توليد الصور مضمن ضمن إطار عمل توليد المحتوى متعدد الوسائط — قد يُنتج النموذج محتوى مختلطًا من النصوص والصور، لكنه ينتج صورة واحدة فقط في كل مرة.

توضح وثائق Google الرسمية لـ Vertex AI ما يلي:

قد لا ينشئ النموذج العدد الدقيق للصور الذي تطلبه.
(The model might not create the exact number of images you ask for.)

سوء الفهم الشائع الواقع الفعلي التوضيح
كتابة "أنشئ 4 صور" في الموجه ❌ غير فعال يتجاهل النموذج تعليمات العدد، ويظل يُنتج صورة واحدة
تمرير معامل n=2 ❌ غير فعال واجهة generateContent لا تدعم معامل n
تمرير numberOfImages=4 ❌ غير فعال هذا المعامل مخصص لواجهة Imagen API فقط، وليس Gemini
تمرير number_of_images=2 ❌ غير فعال نفس السبب، توليد صور Gemini لا يتعرف على هذا المعامل
كتابة "أخرج صورًا متعددة" في الموجه ❌ غير موثوق قد يعيد النموذج نصًا فقط أو صورة واحدة

الفرق الرئيسي بين توليد الصور في Nano Banana 2 وواجهة Imagen API

يخلط العديد من المطورين بين مجموعتي واجهات برمجة التطبيقات، وهذا هو السبب الأساسي لعدم فعالية المعلمات:

عنصر المقارنة Nano Banana 2 (Gemini) Imagen 4
نوع واجهة برمجة التطبيقات generateContent generateImages / predict
معرف النموذج gemini-3.1-flash-image-preview imagen-4.0-generate-001
تنسيق الإخراج نص وصورة مختلطان صور فقط
عدد المخرجات في المرة الواحدة صورة واحدة 1-4 صور (numberOfImages)
معامل n ❌ غير مدعوم ✅ مدعوم (1-4)
إخراج صور فقط ❌ يجب أن يحتوي على نص ✅ مدعوم
تحرير المحادثة ✅ يدعم جولات متعددة ❌ غير مدعوم
عرض النص ✅ ممتاز ⚠️ متوسط

⚠️ تذكير مهم: يعتمد Nano Banana 2 على بنية Gemini، ويستخدم واجهة generateContent. تم تصميم هذه الواجهة في الأصل للمحادثات متعددة الوسائط، وليس لتوليد الصور المجمعة. لذلك لا تحتوي على معامل n، ولن تُرجع صورًا متعددة في طلب واحد.

nano-banana-2-single-image-output-limit-batch-solution-guide-ar 图示


الحل الصحيح لإنشاء صور متعددة باستخدام Nano Banana 2

بما أن الطلب الواحد يمكنه توليد صورة واحدة فقط، فإن الطريق الوحيد لإنشاء صور متعددة هو: طلبات متزامنة متعددة.

الحل الأول: طلبات غير متزامنة باستخدام Python

import asyncio
import aiohttp
import base64
import json

API_KEY = "your-apiyi-api-key"
ENDPOINT = "https://api.apiyi.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent"

async def generate_one(session, prompt, index):
    """توليد صورة واحدة في كل مرة"""
    headers = {"Content-Type": "application/json", "x-goog-api-key": API_KEY}
    payload = {
        "contents": [{"parts": [{"text": prompt}]}],
        "generationConfig": {
            "responseModalities": ["IMAGE"],
            "imageConfig": {"aspectRatio": "1:1", "imageSize": "2K"}
        }
    }
    async with session.post(ENDPOINT, headers=headers, json=payload) as resp:
        result = await resp.json()
        img = result["candidates"][0]["content"]["parts"][0]["inlineData"]["data"]
        with open(f"output_{index}.png", "wb") as f:
            f.write(base64.b64decode(img))
        print(f"تم حفظ الصورة رقم {index+1}")

async def batch_generate(prompt, count=4):
    """توليد متزامن لصور متعددة"""
    async with aiohttp.ClientSession() as session:
        tasks = [generate_one(session, prompt, i) for i in range(count)]
        await asyncio.gather(*tasks)

asyncio.run(batch_generate("قطة بأسلوب سايبربانك، خلفية أضواء النيون", count=4))

اقتراح: من خلال APIYI على apiyi.com، يمكنك استدعاء Nano Banana 2 بدون قيود على التزامن، مما يسمح بإرسال أي عدد من الطلبات في وقت واحد دون القلق من حد 429. توفر المنصة أداة مجانية لاختبار توليد الصور AI 图片大师: imagen.apiyi.com، يمكنك تجربتها دون الحاجة إلى كتابة كود.

الحل الثاني: تزامن باستخدام مجموعة مؤشرات الترابط

import requests
import base64
from concurrent.futures import ThreadPoolExecutor

API_KEY = "your-apiyi-api-key"
ENDPOINT = "https://api.apiyi.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent"

def generate_one(args):
    prompt, index = args
    headers = {"Content-Type": "application/json", "x-goog-api-key": API_KEY}
    payload = {
        "contents": [{"parts": [{"text": prompt}]}],
        "generationConfig": {
            "responseModalities": ["IMAGE"],
            "imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}
        }
    }
    resp = requests.post(ENDPOINT, headers=headers, json=payload, timeout=120)
    img = resp.json()["candidates"][0]["content"]["parts"][0]["inlineData"]["data"]
    with open(f"output_{index}.png", "wb") as f:
        f.write(base64.b64decode(img))
    return f"اكتملت الصورة رقم {index+1}"

with ThreadPoolExecutor(max_workers=8) as pool:
    prompt = "قطة بأسلوب سايبربانك، خلفية أضواء النيون"
    results = pool.map(generate_one, [(prompt, i) for i in range(8)])
    for r in results:
        print(r)

مقارنة قدرة Nano Banana 2 مع النماذج الأخرى على توليد صور متعددة

تختلف نماذج توليد الصور بالذكاء الاصطناعي بشكل كبير في دعمها لـ "توليد صور متعددة في طلب واحد".

nano-banana-2-single-image-output-limit-batch-solution-guide-ar 图示

النموذج الحد الأقصى للصور في الطلب الواحد معامل n نوع API طريقة حساب التكلفة للصور المتعددة
Nano Banana 2 1 صورة ❌ غير مدعوم generateContent حساب منفصل لكل طلب
Imagen 4 4 صور ✅ numberOfImages generateImages حساب حسب عدد الصور المولدة
Seedream 4.5/5.0 15 صورة ✅ n (1-15) واجهة مخصصة حساب حسب العدد الفعلي للصور المولدة
DALL-E 3 1 صورة ✅ n=1 (ثابت) images/generations حساب حسب الصورة
GPT-4o Image 1 صورة ❌ غير مدعوم chat/completions مثل Nano Banana 2
Flux 1.1 Pro 4 صور ✅ num_images واجهة مخصصة حساب حسب الصورة

تحليل تكلفة إنشاء صور متعددة مع قيود الصورة الواحدة في Nano Banana 2

على الرغم من أن Nano Banana 2 يمكنه إنتاج صورة واحدة فقط في كل مرة، إلا أن الكفاءة الفعلية ليست منخفضة عند استخدام الطلبات المتزامنة – المفتاح هو ما إذا كانت المنصة تقيد التزامن أم لا.

السيناريو Google الرسمي (المستوى 1) Google الرسمي (المستوى 3) APIYI
حد التزامن 10 طلب في الدقيقة 60 طلب في الدقيقة غير محدود
وقت توليد 100 صورة (1K) ~10 دقائق ~2 دقيقة ~1-2 دقيقة
تكلفة توليد 100 صورة (1K) 6.70 دولار 6.70 دولار 4.50 دولار (حسب الطلب)/ 2.50 دولار (حسب الحجم)
تكلفة توليد 100 صورة (4K) 15.10 دولار 15.10 دولار 4.50 دولار (حسب الطلب)/ 4.50 دولار (حسب الحجم)
مخاطر خطأ 429 عالية متوسطة لا توجد

🎯 الخلاصة الأساسية: قيود الصورة الواحدة في Nano Banana 2 ليست مشكلة، القيود على التزامن هي العائق الحقيقي. عند الاستدعاء على APIYI apiyi.com بدون قيود على التزامن، مع كود التزامن غير المتزامن، تكون كفاءة إنشاء الصور المتعددة أعلى بكثير من الانتظار في قائمة الانتظار على منصة Google الرسمية.

الأسئلة الشائعة

س1: ماذا يحدث إذا كتبت “أنشئ 4 صور” في الموجه (prompt) الخاص بـ Nano Banana 2؟

سيقوم النموذج بتجاهل تعليمات العدد. يعتمد Nano Banana 2 على واجهة برمجة تطبيقات generateContent الخاصة بـ Gemini، والتي تنتج صورة واحدة ثابتة لكل طلب. توضح وثائق Google Vertex AI بوضوح: "قد لا يلتزم النموذج بدقة بعدد الصور الذي يطلبه المستخدم صراحةً". إذا كنت بحاجة إلى صور متعددة، يجب إرسال طلبات مستقلة متعددة.

س2: ما الفرق بين المعلمة `n` في Seedream و Nano Banana 2؟

يدعم Seedream (من ByteDance) المعلمة الأصلية n (من 1 إلى 15)، مما يسمح بتوليد صور متعددة في طلب API واحد، مع الفوترة بناءً على عدد الصور الفعلي المُنشأة. لا يحتوي Nano Banana 2 على هذه المعلمة، ويولد صورة واحدة فقط في كل مرة. ومع ذلك، يتمتع Nano Banana 2 بميزة في جودة الصورة وعرض النصوص. يمكن معالجة متطلبات الدُفعات (Batch) من خلال الطلبات المتزامنة. يُوصى بالاستدعاء عبر منصة APIYI على apiyi.com، حيث لا توجد حدود للطلبات المتزامنة.

س3: ما هي القيود عند استدعاء Nano Banana 2 بشكل متزامن عبر APIYI؟

لا تفرض منصة APIYI أي حد للطلبات المتزامنة، ولا توجد قيود على معدل الطلبات في الدقيقة (RPM) أو اليوم (RPD) أو المدخلات في الدقيقة (IPM). يمكنك إطلاق عشرات أو حتى مئات الطلبات في وقت واحد. التسعير هو 0.045 دولار لكل صورة (بما في ذلك 4K)، أو حوالي 0.02-0.05 دولار لكل صورة عند الدفع حسب الاستخدام. كل ما عليك فعله في الكود هو تغيير نقطة نهاية API من الرابط الرسمي لـ Google إلى api.apiyi.com، بينما يبقى كل شيء آخر متوافقًا تمامًا.


الخلاصة

النقاط الأساسية حول قيود عدد الصور المُخرجة في Nano Banana 2:

  1. توليد صورة واحدة في كل مرة: يستخدم Nano Banana 2 واجهة برمجة تطبيقات generateContent، ولا يدعم معلمات n أو numberOfImages، كما أن تعليمات العدد في الموجه (prompt) لا تؤثر.
  2. هذا ليس خطأ بل تصميم معماري: تم دمج توليد الصور في نماذج سلسلة Gemini ضمن إطار حوار متعدد الوسائط، وهو يختلف عن البنية المعمارية لواجهة برمجة تطبيقات الصور المخصصة في Imagen.
  3. التوليد الدفعي يعتمد على التزامن: الحل الصحيح هو توليد صور متعددة في وقت واحد من خلال طلبات متزامنة (غير متزامنة / تجمع مؤشرات الترابط)، وتعتمد الكفاءة على قيود التزامن في المنصة.
  4. قيود التزامن هي العائق الحقيقي: تقدم Google الرسمي للمستوى 1 (Tier 1) فقط 10 طلب في الدقيقة، وحتى المستوى 3 (Tier 3) يقدم فقط 60 طلب في الدقيقة.

يُوصى بالاتصال بـ Nano Banana 2 عبر منصة APIYI على apiyi.com، حيث لا توجد حدود للطلبات المتزامنة، والسعر يصل إلى 0.045 دولار لكل صورة (بما في ذلك 4K، وهو أقل بنسبة 70% من السعر الرسمي)، وحوالي 0.02-0.05 دولار لكل صورة عند الدفع حسب الاستخدام. توفر المنصة أيضًا أداة توليد صور ذكاء اصطناعي مجانية: imagen.apiyi.com، والتي تدعم استدعاءات Google بالتنسيق الأصلي.

📚 المراجع

  1. وثائق توليد الصور من Google AI: دليل الاستخدام الرسمي لـ Nano Banana 2

    • الرابط: ai.google.dev/gemini-api/docs/image-generation
    • الوصف: شرح لطريقة استدعاء API generateContent ومعاملات Nano Banana 2
  2. قيود توليد الصور في Vertex AI: قائمة القيود المعروفة لتوليد الصور بواسطة Gemini

    • الرابط: docs.cloud.google.com/vertex-ai/generative-ai/docs/multimodal/gemini-image-generation-limitations
    • الوصف: توضح الوثائق الرسمية بوضوح أن «النموذج قد لا يلتزم بدقة بعدد الصور الذي يطلبه المستخدم»
  3. وثائق Imagen API: شرح معلمة numberOfImages

    • الرابط: ai.google.dev/gemini-api/docs/imagen
    • الوصف: تدعم واجهة برمجة التطبيقات (API) المستقلة لـ Imagen معلمة numberOfImages (من 1 إلى 4)، وهي تختلف عن واجهة generateContent الخاصة بـ Gemini
  4. وثائق APIYI Nano Banana 2: طريقة الاستدعاء بدون قيود على الطلبات المتزامنة

    • الرابط: docs.apiyi.com/en/api-capabilities/nano-banana-2-image
    • الوصف: لا توجد قيود على الطلبات المتزامنة في APIYI، مع دعم التنسيق الأصلي من Google، مما يجعلها الخيار الأمثل لتوليد الصور بكميات كبيرة

المؤلف: فريق APIYI التقني
النقاش التقني: نرحب بالنقاش في قسم التعليقات، للمزيد من المصاطر يرجى زيارة مركز الوثائق APIYI docs.apiyi.com

موضوعات ذات صلة