افزودن تصاویر سفارشی به برنامه میتواند تجربه کاربری را بهطور قابلتوجهی بهبود بخشد و شخصیسازی کند و تعامل کاربر را افزایش دهد. این پست دو قابلیت جدید برای تولید تصویر با «منطق هوش مصنوعی Firebase» را بررسی میکند: ویژگیهای ویرایش تخصصی Imagen که درحالحاضر در حالت پیشنمایش است و دردسترس بودن عمومی «تصویر Gemini 2.5 Flash» (با نام مستعار «موز کوچک») که برای تولید تصویر زمینهای یا مکالمهای طراحی شده است.
افزایش تعامل کاربر با تصاویر تولیدشده ازطریق Firebase AI Logic
از مدلهای تولید تصویر میتوان برای ایجاد چهرکهای نمایه کاربر سفارشی یا برای ادغام داراییهای دیداری شخصیسازیشده مستقیماً در جریانهای صفحه کلیدی استفاده کرد.
برای مثال، Imagen ویژگیهای ویرایش جدیدی ارائه میدهد (در پیشنمایش توسعهدهنده). اکنون میتوانید ماسکی بکشید و از نقاشی داخلی برای تولید پیکسل در ناحیه ماسکشده استفاده کنید. علاوهبراین، از «رنگآمیزی بیرون» میتوان برای تولید پیکسلهای خارج از ماسک استفاده کرد.
Imagen از نقاشی داخلی پشتیبانی میکند و به شما امکان میدهد فقط بخشی از تصویر را تولید کنید.
ازطرفی، Gemini 2.5 Flash Image (با نام مستعار Nano Banana) میتواند از دانش گسترده جهانی و قابلیتهای استدلال مدلهای Gemini برای تولید تصاویر مرتبط با زمینه استفاده کند، که برای ایجاد تصاویر پویا که با تجربه فعلی کاربر در برنامه همراستا هستند، ایدهآل است.
از Gemini 2.5 Flash Image برای ایجاد تصاویر پویا که ازنظر زمینهای با برنامه شما مرتبط هستند استفاده کنید.
درنهایت، امکان ویرایش مکالمهای و تکرارشونده تصاویر به کاربران اجازه میدهد بااستفاده از زبان طبیعی عکس ویرایش کنند.
از «تصویر Gemini 2.5 Flash» برای ویرایش تصویر بااستفاده از زبان طبیعی استفاده کنید.
هنگام شروع ادغام هوش مصنوعی در برنامه خود، مهم است که درباره ایمنی هوش مصنوعی بیاموزید. ارزیابی خطرات امنیتی برنامه، درنظر گرفتن اصلاحات برای کاهش خطرات ایمنی، انجام آزمایشهای ایمنی متناسب با مورد استفاده شما، و درخواست بازخورد کاربر و نظارت بر محتوا از اهمیت ویژهای برخوردار است.
Imagen یا Gemini: انتخاب با شما است
تفاوت بین Gemini 2.5 Flash Image («نانو موز») و Imagen در تمرکز اصلی و قابلیتهای پیشرفته آنها است. Gemini 2.5 Flash Image بهعنوان یک مدل تصویر در خانواده بزرگتر Gemini، در ویرایش تصویر مکالمهای، حفظ بافتار و هماهنگی موضوع در چندین تکرار، و بهرهگیری از «دانش جهانی و استدلال» برای ایجاد تصاویر مرتبط با بافتار یا جاسازی تصاویر دقیق در توالیهای نوشتاری طولانی برتری دارد.
Imagen مدل تخصصی تولید تصویر Google است که برای کنترل خلاقانه بیشتر طراحی شده است و در بروندادهای بسیار واقعگرایانه، جزئیات هنری، سبکهای خاص، و ارائه کنترلهای صریح برای تعیین نسبت ابعادی یا قالب تصویر تولیدشده تخصص دارد.
| تصاویر Gemini 2.5 Flash (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» استفاده از قابلیتهای گپ چندنوبتی مدل است.
ابتدا مدل را مقداردهی اولیه کنید:
// 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 در کاتالوگ «نمونه هوش مصنوعی Android» درحال کار ببینید و در اسناد Android درباره آن بیشتر بخوانید.
نتیجهگیری
هم Imagen و هم Gemini 2.5 Flash Image قابلیتهای قدرتمندی ارائه میدهند که به شما امکان میدهد بسته به مورد استفاده خاص خود، مدل تولید تصویر ایدهآل را برای شخصیسازی کردن برنامهتان و افزایش تعامل کاربر انتخاب کنید.
-
اخبار محصولاگر توسعهدهنده Android هستید و میخواهید ویژگیهای هوش مصنوعی نوآورانه را در برنامهتان پیادهسازی کنید، بهتازگی بهروزرسانیهای جدید و قدرتمندی را راهاندازی کردهایم.
Thomas Ezan • ۲ دقیقه خواندن -
اخبار محصولامروز، با انتشار Gemini 3 Flash، هوش پیشرفتهای که با کسری از هزینه برای سرعت ساخته شده است، خانواده مدل Gemini 3 را گسترش میدهیم.
Thomas Ezan • ۲ دقیقه خواندن -
اخبار محصولبهعنوان توسعهدهندگان Android، وقتی نوبت به انتخاب عاملها، مدلهای زبانی بزرگ، ابزارها، و میاناهای خط فرمان (CLI) میرسد که برای توسعه نرمافزار استفاده میکنید، گزینههای زیادی دارید. هدف ما این است که به شما کمک کنیم برنامههای Android زیبا و با کیفیت بالا بسازید، مهم نیست که چگونه میخواهید بسازید.
Simona Milanovic • ۴ دقیقه خواندن
هر هفته جدیدترین اطلاعات آماری توسعه Android را در صندوق ورودیتان دریافت کنید.