أخبار المنتجات

تعزيز تفاعل المستخدمين باستخدام ميزة "إنشاء الصور باستخدام الذكاء الاصطناعي"

قراءة لمدة 5 دقائق
Thomas Ezan & Mozart Louis

يمكن أن تؤدي إضافة صور مخصّصة إلى تطبيقك إلى تحسين تجربة المستخدم وتخصيصها بشكل كبير وتعزيز تفاعل المستخدمين. تستكشف هذه المشاركة إمكانتَين جديدتَين لإنشاء الصور باستخدام Firebase AI Logic: ميزات تعديل الصور المتخصّصة في Imagen، المتوفّرة حاليًا في الإصدار التجريبي، والإصدار المتوفر للجمهور العام من Gemini 2.5 Flash Image (المعروف أيضًا باسم "Nano Banana")، والمصمَّم لإنشاء الصور السياقية أو الحوارية.

تعزيز تفاعل المستخدمين من خلال الصور التي يتم إنشاؤها باستخدام Firebase AI Logic

يمكن استخدام نماذج إنشاء الصور لإنشاء أفاتارات مخصّصة لملفات المستخدمين أو لدمج مواد العرض المرئية المخصّصة مباشرةً في مسارات الشاشة الرئيسية.  

على سبيل المثال، يوفّر Imagen ميزات تعديل جديدة (في معاينة المطوّر). يمكنك الآن رسم قناع واستخدام ميزة "الطلاء الداخلي" لإنشاء وحدات بكسل داخل المنطقة المقنّعة. بالإضافة إلى ذلك، تتوفّر ميزة "الرسم خارج الصورة" لإنشاء وحدات بكسل خارج القناع.   

Imagen inpainting.png

تتيح Imagen إمكانية "الرسم داخل اللوحة"، ما يسمح بإنشاء جزء من صورة فقط. 

بدلاً من ذلك، يمكن لنموذج Gemini 2.5 Flash Image (المعروف أيضًا باسم Nano Banana) استخدام خبرات موسّعة بالعالم وقدرات نماذج Gemini على الاستدلال لإنشاء صور ذات صلة بالسياق، ما يجعله مثاليًا لإنشاء صور توضيحية ديناميكية تتوافق مع تجربة المستخدم الحالية داخل التطبيق.   

 

In-context nano banana illustration.png

استخدام Gemini 2.5 Flash Image لإنشاء رسومات توضيحية ديناميكية ذات صلة بسياق تطبيقك 

أخيرًا، تتيح إمكانية تعديل الصور بشكل حواري وتكراري للمستخدمين تعديل صورة باستخدام اللغة الطبيعية.

 

photo edit natural language.png

استخدام Gemini 2.5 Flash Image لتعديل صورة باستخدام اللغة الطبيعية

عند البدء في دمج الذكاء الاصطناعي في تطبيقك، من المهم التعرّف على أمان الذكاء الاصطناعي. من المهم بشكل خاص تقييم المخاطر الأمنية لتطبيقك، والنظر في إجراء تعديلات للحدّ من مخاطر السلامة، وإجراء اختبارات السلامة المناسبة لحالة الاستخدام، وطلب ملاحظات المستخدمين ومراقبة المحتوى.

‫Imagen أو Gemini: الخيار متروك لك 

يكمن الفرق بين Gemini 2.5 Flash Image ("Nano Banana") وImagen في التركيز الأساسي والإمكانات المتقدّمة لكل منهما. يتميّز Gemini 2.5 Flash Image، كنموذج صور ضمن عائلة Gemini الأكبر، بقدرته على تعديل الصور بشكل حواري، والحفاظ على السياق وتناسق الموضوع في عدة تكرارات، والاستفادة من "المعرفة بالعالم الواقعي والقدرة على الاستدلال" لإنشاء صور ذات صلة بالسياق أو تضمين صور دقيقة في تسلسلات نصية طويلة. 

‫Imagen هو نموذج متخصص من Google لإنشاء الصور، وهو مصمّم لتوفير تحكّم إبداعي أكبر، ويتخصّص في تقديم نتائج واقعية للغاية، وتفاصيل فنية، وأنماط محددة، كما يوفّر عناصر تحكّم واضحة لتحديد نسبة العرض إلى الارتفاع أو تنسيق الصورة التي يتم إنشاؤها.

Gemini 2.5 Flash Images 
(Nano Banana 🍌)
Imagen

🌎 معرفة شاملة واستدلال لصور أكثر صلة بالسياق
  

💬 تعديل الصور بشكل حواري مع الحفاظ على السياق
  

📖 تضمين عناصر مرئية دقيقة ضمن تسلسلات نصية طويلة

‫📐 تحديد نسبة العرض إلى الارتفاع أو تنسيق الصور التي تم إنشاؤها

 

‫🖌️إتاحة التعديل المستند إلى القناع للرسم داخل الصورة وخارجها 

 

️ تحكّم أكبر في تفاصيل الصورة التي يتم إنشاؤها (الجودة والتفاصيل الفنية والأنماط المحدّدة)

لنطّلع على كيفية استخدامها في تطبيقك.
 

إعادة رسم الأجزاء الناقصة من الصورة باستخدام Imagen 

قبل بضعة أشهر، أطلقنا ميزات تعديل جديدة في Imagen. على الرغم من أنّ Imagen أصبح جاهزًا الآن للإصدار العلني لإنشاء الصور، لا تزال ميزات التعديل في معاينة المطوّر.

تشمل ميزات التعديل في Imagen إصلاح العيوب والتوسيع، وهما ميزتان للتعديل على الصور استنادًا إلى القناع. تتيح هذه الإمكانية الجديدة للمستخدمين تعديل مناطق معيّنة من الصورة بدون إعادة إنشاء الصورة بأكملها. هذا يعني أنّه يمكنك الاحتفاظ بأفضل أجزاء الصورة وتغيير ما تريد فقط.

Imagen inpainting dog.png

استخدام ميزات التعديل في Imagen لإجراء تغييرات دقيقة ومستهدَفة في صورة مع ضمان سلامة بقية الصورة

يتم إجراء هذه التغييرات مع الحفاظ على العناصر الأساسية والسلامة العامة للصورة الأصلية وتعديل المنطقة الموجودة في القناع فقط.

لتنفيذ عملية "الطلاء الداخلي" باستخدام Imagen، عليك أولاً تهيئة imagen-3.0-capability-001 نموذج Imagen محدّد يتوافق مع ميزات التعديل:

// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
val editingModel =
        Firebase.ai(backend = GenerativeBackend.vertexAI()).imagenModel(
            "imagen-3.0-capability-001",
            generationConfig = ImagenGenerationConfig(
                numberOfImages = 1,
                aspectRatio = ImagenAspectRatio.SQUARE_1x1,
                imageFormat = ImagenImageFormat.jpeg(compressionQuality = 75),
            ),
        )

بعد ذلك، حدِّد دالة الطلاء الداخلي:

// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

val prompt = "remove the pancakes and make it an omelet instead"

suspend fun inpaintImageWithMask(sourceImage: Bitmap, maskImage: Bitmap, prompt: String, editSteps: Int = 50): Bitmap {
        val imageResponse = editingModel.editImage(
            referenceImages = listOf(
                ImagenRawImage(sourceImage.toImagenInlineImage()),
                ImagenRawMask(maskImage.toImagenInlineImage()),
            ),
            prompt = prompt,
            config = ImagenEditingConfig(
                editMode = ImagenEditMode.INPAINT_INSERTION,
                editSteps = editSteps,
            ),
        )
        return imageResponse.images.first().asBitmap()
    }

عليك تقديم كلّ من sourceImage وmaskImage وطلب التعديل وعدد خطوات التعديل المطلوب تنفيذها.

يمكنك تجربة هذه الميزة في عينة تعديل الصور في كتالوج عيّنات الذكاء الاصطناعي على Android.

تتيح لك ميزة توسيع نطاق الصور في Imagen أيضًا السماح للنموذج بإنشاء وحدات البكسل خارج القناع. يمكنك أيضًا استخدام إمكانات تخصيص الصور في Imagen لتغيير نمط صورة أو تعديل عنصر في صورة. يمكنك الاطّلاع على مزيد من المعلومات في مستندات مطوّري تطبيقات Android.

إنشاء الصور من خلال المحادثة باستخدام Gemini 2.5 Flash Image

إحدى طرق تعديل الصور باستخدام Gemini 2.5 Flash Image هي الاستفادة من إمكانات المحادثة المتعدّدة الجولات التي يوفّرها النموذج.

أولاً، عليك إعداد النموذج:

// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
    modelName = "gemini-2.5-flash-image",
    // Configure the model to respond with text and images (required)
    generationConfig = generationConfig {
        responseModalities = listOf(ResponseModality.TEXT,
        ResponseModality.IMAGE)
    }
)

لتحقيق نتيجة مشابهة لطريقة Imagen المستندة إلى القناع الموضّحة أعلاه، يمكننا استخدام واجهة برمجة التطبيقات chat لبدء محادثة مع Gemini 2.5 Flash Image.

// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

// Initialize the chat
val chat = model.startChat()


// Load a bitmap
val source = ImageDecoder.createSource(context.contentResolver, uri)
val bitmap = ImageDecoder.decodeBitmap(source)


// Create the initial prompt instructing the model to edit the image
val prompt = content {
    image(bitmap)
    text("remove the pancakes and add an omelet")
}

// To generate an initial response, send a user message with the image and text prompt
var response = chat.sendMessage(prompt)

// Inspect the returned image
var generatedImageAsBitmap = response
    .candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image

// Follow up requests do not need to specify the image again
response = chat.sendMessage("Now, center the omelet in the pan")
generatedImageAsBitmap = response
    .candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image

يمكنك الاطّلاع على طريقة عملها في نموذج Gemini Image Chat في كتالوج "نماذج الذكاء الاصطناعي على Android"، وقراءة المزيد عنها في مستندات Android.

الخاتمة

يقدّم كل من Imagen وGemini 2.5 Flash Image إمكانات فعّالة، ما يتيح لك اختيار نموذج إنشاء الصور المثالي لتخصيص تطبيقك وتعزيز تفاعل المستخدمين، وذلك حسب حالة الاستخدام المحدّدة.

تأليف:

متابعة القراءة