افزودن تصاویر سفارشی به برنامه میتواند تجربه کاربری را بهطور قابلتوجهی بهبود بخشد و شخصیسازی کند و تعامل کاربر را افزایش دهد. این پست دو قابلیت جدید برای تولید تصویر با 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 2.5 Flash Image، بهعنوان یک مدل تصویر در خانواده بزرگتر Gemini، در ویرایش مکالمهای تصویر، حفظ بافت و هماهنگی موضوع در تکرارهای متعدد، و بهرهگیری از «دانش جهانی و استدلال» برای ایجاد تصاویر مرتبط با بافت یا جاسازی تصاویر دقیق در توالیهای نوشتاری طولانی، برتری دارد.
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),
),
)از آنجا، تابع inpainting را تعریف کنید:
// 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 API برای شروع مکالمه با 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 هر دو قابلیتهای قدرتمندی ارائه میدهند و به شما امکان میدهند مدل تولید تصویر ایدهآل را برای شخصیسازی برنامهتان و افزایش تعامل کاربر، بسته به مورد استفاده خاص خود، انتخاب کنید.
-
اخبار محصولاگر توسعهدهنده Android هستید و میخواهید ویژگیهای نوآورانه هوش مصنوعی را در برنامهتان پیادهسازی کنید، بهتازگی بهروزرسانیهای جدید و قدرتمندی را راهاندازی کردهایم.
Thomas Ezan • ۲ دقیقه خواندن -
اخبار محصولامروز، با انتشار Gemini 3 Flash، خانواده مدل Gemini 3 را گسترش میدهیم، هوش پیشرو که برای سرعت با کسری از هزینه ساخته شده است.
Thomas Ezan • ۲ دقیقه خواندن -
اخبار محصولاز غوطهوری کامل در خانه تا تجربههای اجمالی درحال حرکت، ساختن روی Android XR به شما امکان میدهد در هر لحظه در سراسر طیف برنامههای فضایی با کاربران ملاقات کنید. در «نشست توسعهدهندگان Android»، با راهاندازی XREAL AURA به نقطه عطف هیجانانگیزی رسیدیم.
Amy Zeppenfeld, Vinny DaSilva • ۳ دقیقه خواندن
جدیدترین اطلاعات آماری توسعه Android را بهصورت هفتگی در صندوق ورودیتان دریافت کنید.