يمكن أن يؤدي إضافة صور مخصّصة إلى تطبيقك إلى تحسين تجربة المستخدمين وتخصيصها بشكل كبير وتعزيز تفاعلهم. يتناول هذا المنشور إمكانتَين جديدتَين لإنشاء الصور باستخدام Firebase AI Logic: ميزات تعديل الصور المتخصّصة في Imagen، المتوفّرة حاليًا في المعاينة، وتوفُّر نموذج Gemini 2.5 Flash Image (المعروف أيضًا باسم "Nano Banana") بشكل متوفر للجمهور العام، والمصمَّم لإنشاء الصور السياقية أو الحوارية.
تعزيز تفاعل المستخدمين مع الصور التي يتم إنشاؤها باستخدام Firebase AI Logic
يمكن استخدام نماذج إنشاء الصور لإنشاء صور رمزية مخصّصة لملفات المستخدمين الشخصية أو لدمج مواد عرض مرئية مخصّصة مباشرةً في مسارات الشاشة الرئيسية.
على سبيل المثال، يقدّم Imagen ميزات التعديل الجديدة (في معاينة المطور). يمكنك الآن رسم قناع واستخدام ميزة "إعادة رسم الأجزاء الناقصة من الصورة" لإنشاء وحدات بكسل ضمن المنطقة المقنّعة. بالإضافة إلى ذلك، تتوفّر ميزة "إعادة رسم الأجزاء خارج الصورة" لإنشاء وحدات بكسل خارج القناع.
تتيح ميزة "إعادة رسم الأجزاء الناقصة من الصورة" في Imagen إنشاء جزء فقط من الصورة.
بدلاً من ذلك، يمكن لنموذج Gemini 2.5 Flash Image (المعروف أيضًا باسم Nano Banana) استخدام معرفة موسّعة بالعالم وإمكانات الاستدلال في نماذج Gemini لإنشاء صور ذات صلة بالسياق، ما يجعله مثاليًا لإنشاء رسومات توضيحية ديناميكية تتوافق مع تجربة المستخدم الحالية داخل التطبيق.
استخدِم نموذج Gemini 2.5 Flash Image لإنشاء رسومات توضيحية ديناميكية ذات صلة بسياق تطبيقك.
أخيرًا، تتيح إمكانية تعديل الصور بشكل حواري وتكراري للمستخدمين تعديل صورة باستخدام لغة طبيعية.
استخدِم نموذج Gemini 2.5 Flash Image لتعديل صورة باستخدام لغة طبيعية.
عند البدء في دمج الذكاء الاصطناعي في تطبيقك، من المهم التعرّف على ميزات الأمان في الذكاء الاصطناعي. من المهم بشكل خاص تقييم المخاطر الأمنية لتطبيقك، وأخذ التعديلات في الاعتبار للتخفيف من المخاطر الأمنية، وإجراء اختبارات الأمان المناسبة لحالة استخدامك، وطلب ملاحظات المستخدمين ومراقبة المحتوى.
Imagen أو Gemini: الخيار لك
يكمن الفرق بين Gemini 2.5 Flash Image ("Nano Banana") وImagen في تركيزهما الأساسي وإمكاناتهما المتقدّمة. بصفته نموذجًا لمعالجة الصور ضمن عائلة Gemini الأكبر، يتفوّق Gemini 2.5 Flash Image في تعديل الصور بشكل حواري، والحفاظ على السياق واتساق الموضوع في عمليات التكرار المتعدّدة، والاستفادة من "المعرفة بالعالم والاستدلال" لإنشاء مرئيات ذات صلة بالسياق أو تضمين مرئيات دقيقة ضمن تسلسلات نصية طويلة.
Imagen هو نموذج Google المتخصّص في إنشاء الصور، والمصمَّم للتحكّم بشكل أكبر في الإبداع، ويتخصّص في النواتج الواقعية جدًا والتفاصيل الفنية والأنماط المحدّدة، ويوفر عناصر تحكّم صريحة لتحديد نسبة العرض إلى الارتفاع أو تنسيق الصورة التي يتم إنشاؤها.
| Gemini 2.5 Flash Images (Nano Banana 🍌) | Imagen |
🌎 المعرفة بالعالم والاستدلال لإنشاء صور ذات صلة بالسياق بشكل أكبر 💬 تعديل الصور بشكل حواري مع الحفاظ على السياق 📖 تضمين مرئيات دقيقة ضمن تسلسلات نصية طويلة | 📐 تحديد نسبة العرض إلى الارتفاع أو تنسيق الصور التي يتم إنشاؤها
🖌️توافق ميزة التعديل المستند إلى القناع مع ميزتَي "إعادة رسم الأجزاء الناقصة من الصورة" و"إعادة رسم الأجزاء خارج الصورة"
🎚️ تحكّم أكبر في تفاصيل الصورة التي يتم إنشاؤها (الجودة والتفاصيل الفنية والأنماط المحدّدة) |
لنطّلِع على كيفية استخدامها في تطبيقك.
إعادة رسم الأجزاء الناقصة من الصورة باستخدام Imagen
قبل بضعة أشهر، أطلقنا ميزات التعديل الجديدة لـ Imagen. على الرغم من أنّ Imagen أصبح جاهزًا الآن للاستخدام في الإنتاج لإنشاء الصور، لا تزال ميزات التعديل في معاينة المطوّرين.
تتضمّن ميزات تعديل الصور في Imagen ميزتَي إعادة رسم الأجزاء الناقصة من الصورة وإعادة رسم الأجزاء خارج الصورة، وهما ميزتان لتعديل الصور مستندتان إلى القناع. تتيح هذه الإمكانية الجديدة للمستخدمين تعديل مناطق معيّنة من الصورة بدون إعادة إنشاء الصورة بأكملها. يعني ذلك أنّه يمكنك الاحتفاظ بأفضل أجزاء الصورة وتغيير ما تريد تعديله فقط.
استخدِم ميزات تعديل الصور في 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 وطلب التعديل وعدد خطوات التعديل التي سيتم تنفيذها.
يمكنك الاطّلاع على كيفية استخدامها في عيّنة تعديل الصور في Imagen في كتالوج عيّنات الذكاء الاصطناعي لنظام 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 في كتالوج عيّنات الذكاء الاصطناعي لنظام Android، وقراءة المزيد عنها في مستندات Android.
الخاتمة
يقدّم كل من Imagen وGemini 2.5 Flash Image إمكانات قوية، ما يسمح لك باختيار نموذج إنشاء الصور المثالي لتخصيص تطبيقك وتعزيز تفاعل المستخدمين، وذلك استنادًا إلى حالة استخدامك المحدّدة.
متابعة القراءة
-
أخبار المنتجات
إذا كنت من مطوّري تطبيقات Android الذين يتطلّعون إلى تنفيذ ميزات مبتكرة للذكاء الاصطناعي في تطبيقك، فقد أطلقنا مؤخرًا تحديثات جديدة قوية.
Thomas Ezan • مدّة القراءة: 3 دقائق
-
أخبار المنتجات
نوسّع اليوم عائلة نماذج Gemini 3 من خلال إطلاق Gemini 3 Flash، وهو نموذج يتميّز بذكاء متقدّم ومصمَّم للعمل بسرعة وبتكلفة أقل بكثير.
Thomas Ezan • مدّة القراءة: دقيقتان
-
أخبار المنتجات
تتطوّر المنظومة المتكاملة للأجهزة الجوّالة باستمرار، ما يوفّر فرصًا جديدة ويطرح تهديدات جديدة. من خلال هذه التغييرات، يظلّ Android وGoogle Play ملتزمَين بضمان استمرار مليارات المستخدمين في الاستمتاع بتطبيقاتهم بثقة وازدهار ابتكارات المطوّرين.
Vijaya Kaza • مدّة القراءة: 3 دقائق
البقاء على اطّلاع على آخر التحديثات
يمكنك تلقّي أحدث الإحصاءات حول تطوير تطبيقات Android أسبوعيًا في بريدك الوارد.