הוספה של תמונות בהתאמה אישית לאפליקציה יכולה לשפר באופן משמעותי את חוויית המשתמש ולהתאים אותה אישית, וגם להגביר את מעורבות המשתמשים. בפוסט הזה נסביר על שתי יכולות חדשות ליצירת תמונות באמצעות Firebase AI Logic: תכונות העריכה הייעודיות של Imagen, שזמינות כרגע בגרסת טרום-השקה (Preview), והזמינות לכלל המשתמשים (GA) של Gemini 2.5 Flash Image (שנקרא גם Nano Banana), שנועד ליצירת תמונות בהקשר או בשיחה.
הגברת מידת העניין של המשתמשים באמצעות תמונות שנוצרו באמצעות Firebase AI Logic
אפשר להשתמש במודלים ליצירת תמונות כדי ליצור אווטארים מותאמים אישית לפרופיל המשתמש או כדי לשלב נכסים חזותיים מותאמים אישית ישירות בתהליכי עבודה מרכזיים במסך.
לדוגמה, Imagen מציע תכונות עריכה חדשות (בגרסת טרום-השקה למפתחים). עכשיו אפשר לצייר מסכה ולהשתמש בטכניקת Inpainting כדי ליצור פיקסלים באזור המוסווה. בנוסף, אפשר להשתמש ב-Outpainting כדי ליצור פיקסלים מחוץ למסכה.
Imagen תומך בתיקון תמונות, ומאפשר ליצור רק חלק מתמונה.
לחלופין, אפשר להשתמש ב-Gemini 2.5 Flash Image (שנקרא גם Nano Banana). המודל הזה יכול להשתמש בידע נרחב על העולם וביכולות החשיבה הרציונלית של מודלי Gemini כדי ליצור תמונות שרלוונטיות להקשר, וזה אידיאלי ליצירת איורים דינמיים שתואמים לחוויית השימוש הנוכחית באפליקציה.
משתמשים ב-Gemini 2.5 Flash Image כדי ליצור איורים דינמיים שרלוונטיים להקשר של האפליקציה.
בנוסף, המשתמשים יכולים לערוך תמונות באמצעות שפה טבעית, בשיחה ובאופן איטרטיבי.
איך משתמשים ב-Gemini 2.5 Flash Image כדי לערוך תמונה באמצעות שפה טבעית
כשמתחילים לשלב AI באפליקציה, חשוב ללמוד על בטיחות ב-AI. חשוב במיוחד להעריך את סיכוני האבטחה של האפליקציה, לשקול לבצע שינויים כדי לצמצם את סיכוני הבטיחות, לבצע בדיקות בטיחות שמתאימות לתרחיש השימוש, לבקש משוב מהמשתמשים ולפקח על התוכן.
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),
),
)משם, מגדירים את פונקציית התיקון:
// 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 בקטלוג הדוגמאות של AI ל-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 בקטלוג הדוגמאות של AI ל-Android, ולקרוא עליה מידע נוסף במסמכי התיעוד של Android.
סיכום
גם Imagen וגם Gemini 2.5 Flash Image מציעים יכולות מתקדמות, שמאפשרות לכם לבחור את המודל האידיאלי ליצירת תמונות כדי להתאים אישית את האפליקציה ולשפר את האינטראקציה עם המשתמשים, בהתאם לתרחיש השימוש הספציפי.
-
חדשות על מוצריםאם אתם מפתחי Android שרוצים להטמיע תכונות חדשניות מבוססות-AI באפליקציה שלכם, כדאי לדעת שהשקנו לאחרונה עדכונים חדשים ומתקדמים.
Thomas Ezan • משך הקריאה: 3 דקות -
חדשות על מוצריםהיום אנחנו מרחיבים את משפחת מודלי Gemini 3 עם ההשקה של Gemini 3 Flash, מודל עם יכולות AI מתקדמות שנועד לספק מהירות תגובה מדהימה בעלות נמוכה בהרבה.
Thomas Ezan • משך הקריאה: 2 דקות -
חדשות על מוצריםהיום אנחנו מציינים באופן רשמי חמש שנים מאז ההשקה של Jetpack Compose 1.0. מאז גרסה 1.0, שהשקתה הוכרזה ב-28 ביולי 2021, ועד לגרסה 1.11 האחרונה, ראינו את ממשקי ה-API מתפתחים באופן משמעותי במהלך השנים, ואנחנו רוצים לעצור לרגע ולחגוג את זה.
Rebecca Franks, Nick Butcher, Loryn Hairston • 5 min read
רוצים לקבל טיפים עדכניים לפיתוח Android ישירות לאימייל כל שבוע?