يمكن أن يؤدي إضافة صور مخصّصة إلى تطبيقك إلى تحسين تجربة المستخدمين وتخصيصها بشكل كبير وتعزيز تفاعلهم. يستكشف هذا المنشور إمكانتَين جديدتَين لإنشاء الصور باستخدام 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 • مدّة القراءة: دقيقتان -
أخبار المنتجاتيُعدّ توفير تجربة آمنة على الإنترنت وحماية المستخدمين من الأذى من أهم الأولويات على Google Play.
Paul Feng • مدّة القراءة: دقيقتان
يمكنك تلقّي أحدث المعلومات عن تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.