חדשות על המוצר

איך לשפר את רמת המעורבות של המשתמשים בעזרת יצירת תמונות באמצעות AI

משך הקריאה: 5 דקות
לצפייה בפרופיל של תומאס אזן לצפייה בפרופיל של מוצרט לואיס
Thomas Ezan וגם Mozart Louis

הוספת תמונות בהתאמה אישית לאפליקציה יכולה לשפר משמעותית את חוויית השימוש ולהתאים אותה אישית, וגם להגביר את רמת המעורבות של משתמשים. בפוסט הזה נסקור שתי יכולות חדשות ליצירת תמונות באמצעות Firebase AI Logic: תכונות העריכה הייעודיות של Imagen, שנמצאות כרגע בגרסת טרום-השקה (Preview), והזמינות לכלל המשתמשים (GA) של Gemini 2.5 Flash Image (שנקרא גם Nano Banana), שמיועד ליצירת תמונות לפי הקשר או בשיחה. 

איך מגבירים את התעניינות המשתמשים בעזרת תמונות שנוצרו באמצעות Firebase AI Logic

אפשר להשתמש במודלים ליצירת תמונות כדי ליצור דמויות מותאמות אישית לפרופיל המשתמש, או לשלב נכסים חזותיים מותאמים אישית ישירות בתהליכים מרכזיים במסך.  

לדוגמה, Imagen מציע תכונות עריכה חדשות (בתצוגה מקדימה למפתחים). עכשיו אתם יכולים לצייר מסכה ולהשתמש ב-inpainting כדי ליצור פיקסלים באזור המסכה. בנוסף, אפשר להשתמש ב-outpainting כדי ליצור פיקסלים מחוץ למסכה.   

Imagen inpainting.png

‫‫Imagen תומך בהשלמת תמונה, ומאפשר ליצור רק חלק מהתמונה. 

לעומת זאת, Gemini 2.5 Flash Image (שנקרא גם Nano Banana) יכול להשתמש בידע הרחב שלו על העולם הפיזי וביכולות החשיבה של המודלים של Gemini כדי ליצור תמונות שרלוונטיות להקשר. זה אידיאלי ליצירת איורים דינמיים שמתאימים לחוויית השימוש הנוכחית של המשתמש באפליקציה.   

 

In-context nano banana illustration.png

משתמשים ב-Gemini 2.5 Flash Image כדי ליצור איורים דינמיים שרלוונטיים לאפליקציה שלכם. 

בנוסף, המשתמשים יכולים לערוך תמונות באמצעות שפה טבעית, בשיחה ובאופן איטרטיבי.

 

photo edit natural language.png

איך משתמשים ב-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

‫🌎 ידע רחב במגוון נושאים ויכולת הסקת מסקנות, כדי ליצור תמונות רלוונטיות יותר מבחינת ההקשר
  

💬 לערוך תמונות באמצעות שיחה תוך שמירה על ההקשר
  

📖 להטמיע רכיבים חזותיים מדויקים ברצפי טקסט ארוכים

‫📐 לציין את יחס הגובה-רוחב או הפורמט של התמונות שנוצרות

 

🖌️ תמיכה בעריכה מבוססת-מסכה להשלמת תמונה (Inpainting) ולהרחבת תמונה (Outpainting). 

 

🎚️ שליטה רבה יותר בפרטים של התמונה שנוצרת (איכות, פרטים אומנותיים וסגנונות ספציפיים)

בואו נראה איך משתמשים בהם באפליקציה.
 

השלמת תמונה באמצעות Imagen 

לפני כמה חודשים השקנו תכונות עריכה חדשות ב-Imagen. למרות ש-Imagen מוכן עכשיו ליצירת תמונות בסביבת הייצור, תכונות העריכה עדיין נמצאות בתצוגה מקדימה למפתחים.

תכונות העריכה של Imagen כוללות הוספה לתמונה והרחבה גנרטיבית, תכונות לעריכת תמונות שמבוססות על מסכות. היכולת החדשה הזו מאפשרת למשתמשים לשנות אזורים ספציפיים בתמונה בלי ליצור מחדש את כל התמונה. כך אתם יכולים לשמור את החלקים הכי טובים בתמונה ולשנות רק את מה שאתם רוצים.

Imagen inpainting dog.png

להשתמש בתכונות העריכה של 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 AI Sample.

בנוסף, 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 שמבוססת על מסכה ומתוארת למעלה, אנחנו יכולים להשתמש ב-API של 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 Image Chat בקטלוג Android AI Sample ולקרוא מידע נוסף במסמכי התיעוד של Android.

סיכום

גם Imagen וגם Gemini 2.5 Flash Image מציעים יכולות מתקדמות, שמאפשרות לכם לבחור את המודל האידיאלי ליצירת תמונות כדי להתאים אישית את האפליקציה ולהגביר את רמת המעורבות של משתמשים, בהתאם לתרחיש השימוש הספציפי שלכם.

כותב/ת המסמך:
להמשך קריאה