ข่าวสารผลิตภัณฑ์

เพิ่มการมีส่วนร่วมของผู้ใช้ด้วยการสร้างรูปภาพ AI

ใช้เวลาอ่าน 5 นาที

การเพิ่มรูปภาพที่กำหนดเองลงในแอปจะช่วยปรับปรุงและปรับเปลี่ยนประสบการณ์ของผู้ใช้ในแบบของคุณได้อย่างมาก รวมถึงเพิ่มการมีส่วนร่วมของผู้ใช้ด้วย โพสต์นี้จะสำรวจความสามารถใหม่ 2 อย่างสำหรับการสร้างรูปภาพด้วย Firebase AI Logic ได้แก่ ฟีเจอร์แต่งภาพ Imagen เฉพาะทางที่ปัจจุบันอยู่ในเวอร์ชันตัวอย่าง และความพร้อมใช้งานทั่วไปของรูปภาพ Gemini 2.5 Flash (หรือที่เรียกว่า "Nano Banana") ซึ่งออกแบบมาสำหรับการสร้างรูปภาพตามบริบทหรือแบบสนทนา

เพิ่มการมีส่วนร่วมของผู้ใช้ด้วยรูปภาพที่สร้างผ่าน Firebase AI Logic

คุณสามารถใช้โมเดลการสร้างรูปภาพเพื่อสร้างอวาตาร์โปรไฟล์ผู้ใช้ที่กำหนดเอง หรือผสานรวมชิ้นงานภาพที่ปรับเปลี่ยนในแบบของคุณลงในโฟลว์หน้าจอหลักได้โดยตรง  

เช่น Imagen มีฟีเจอร์แต่งภาพใหม่ (ในเวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์) ตอนนี้คุณสามารถวาดมาสก์และใช้การวาดภาพใหม่เพื่อสร้างพิกเซลภายในพื้นที่ที่มาสก์ นอกจากนี้ คุณยังใช้การวาดภาพนอกกรอบเพื่อสร้างพิกเซลนอกมาสก์ได้ด้วย   

Imagen inpainting.png

Imagen รองรับการวาดภาพเติม ทำให้สร้างได้เฉพาะบางส่วนของรูปภาพ 

หรือ Gemini 2.5 Flash Image (หรือที่เรียกว่า Nano Banana) สามารถใช้ความรู้เกี่ยวกับโลกที่กว้างขวางและความสามารถในการให้เหตุผลของโมเดล Gemini เพื่อสร้างรูปภาพที่เกี่ยวข้องตามบริบท ซึ่งเหมาะสำหรับการสร้างภาพประกอบแบบไดนามิกที่สอดคล้องกับประสบการณ์การใช้งานในแอปของผู้ใช้ในปัจจุบัน   

 

In-context nano banana illustration.png

ใช้รูปภาพ Gemini 2.5 Flash เพื่อสร้างภาพประกอบแบบไดนามิกที่เกี่ยวข้องกับแอปของคุณตามบริบท 

สุดท้าย ความสามารถในการแก้ไขรูปภาพแบบสนทนาและแบบวนซ้ำช่วยให้ผู้ใช้แก้ไขรูปภาพได้โดยใช้ภาษาธรรมชาติ

 

photo edit natural language.png

ใช้รูปภาพ Gemini 2.5 Flash เพื่อแก้ไขรูปภาพโดยใช้ภาษาที่เป็นธรรมชาติ

เมื่อเริ่มผสานรวม AI เข้ากับแอปพลิเคชัน คุณควรศึกษาเกี่ยวกับความปลอดภัยของ AI โดยเฉพาะอย่างยิ่ง คุณต้องประเมินความเสี่ยงด้านความปลอดภัยของแอปพลิเคชัน พิจารณาการปรับเพื่อลดความเสี่ยงด้านความปลอดภัย ทำการทดสอบความปลอดภัยที่เหมาะสมกับกรณีการใช้งานของคุณ และขอความคิดเห็นจากผู้ใช้พร้อมทั้งตรวจสอบเนื้อหา

Imagen หรือ Gemini: คุณเลือกได้ 

ความแตกต่างระหว่างรูปภาพ Gemini 2.5 Flash ("Nano Banana") กับ Imagen อยู่ที่จุดมุ่งหมายหลักและความสามารถขั้นสูง Gemini 2.5 Flash Image เป็นโมเดลรูปภาพในตระกูล Gemini ขนาดใหญ่ ซึ่งมีความโดดเด่นในการแก้ไขรูปภาพแบบสนทนา โดยจะรักษาบริบทและความสอดคล้องของเรื่องราวในหลายๆ การทำซ้ำ และใช้ประโยชน์จาก "ความรู้และการให้เหตุผลเกี่ยวกับโลก" เพื่อสร้างภาพที่เกี่ยวข้องตามบริบทหรือฝังภาพที่ถูกต้องภายในลำดับข้อความยาว 

Imagen เป็นโมเดลการสร้างรูปภาพเฉพาะของ Google ซึ่งออกแบบมาเพื่อการควบคุมความคิดสร้างสรรค์ที่มากขึ้น โดยเน้นที่ผลลัพธ์ที่สมจริงสูง รายละเอียดทางศิลปะ สไตล์ที่เฉพาะเจาะจง และให้การควบคุมที่ชัดเจนสำหรับการระบุสัดส่วนภาพหรือรูปแบบของรูปภาพที่สร้างขึ้น

รูปภาพ Gemini 2.5 Flash 
(Nano Banana 🍌)
Imagen

🌎 ความรู้และการให้เหตุผลเกี่ยวกับโลกเพื่อให้ได้รูปภาพที่เกี่ยวข้องตามบริบทมากขึ้น
  

💬 แก้ไขรูปภาพแบบสนทนาพร้อมคงบริบท
  

📖 ฝังภาพที่ถูกต้องภายในลำดับข้อความยาว

📐 ระบุสัดส่วนภาพหรือรูปแบบของรูปภาพที่สร้างขึ้น

 

🖌️รองรับการแก้ไขตามมาสก์สำหรับการวาดภาพภายในและภายนอก 

 

🎚️ ควบคุมรายละเอียดของรูปภาพที่สร้างขึ้นได้มากขึ้น (คุณภาพ รายละเอียดทางศิลปะ และสไตล์ที่เฉพาะเจาะจง)

มาดูวิธีใช้ในแอปกัน
 

การซ่อมแซมส่วนที่เสียหายของรูปภาพด้วย Imagen 

เมื่อไม่กี่เดือนที่ผ่านมา เราได้เปิดตัวฟีเจอร์แต่งภาพใหม่สำหรับ Imagen แม้ว่าตอนนี้ Imagen จะพร้อมใช้งานจริงสำหรับการสร้างรูปภาพแล้ว แต่ฟีเจอร์แต่งภาพยังอยู่ในรุ่นตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์

ฟีเจอร์แต่งภาพของ Imagen ได้แก่ Inpainting และ Outpainting ซึ่งเป็นฟีเจอร์แต่งภาพตามมาสก์ ความสามารถใหม่นี้ช่วยให้ผู้ใช้แก้ไขพื้นที่ใดพื้นที่หนึ่งของรูปภาพได้โดยไม่ต้องสร้างรูปภาพทั้งรูปใหม่ ซึ่งหมายความว่าคุณสามารถเก็บส่วนที่ดีที่สุดของรูปภาพไว้และเปลี่ยนแปลงเฉพาะส่วนที่ต้องการ

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),
            ),
        )

จากนั้นกำหนดฟังก์ชันการลบวัตถุออกจากภาพ

// 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 ยังรองรับ Outpainting ซึ่งช่วยให้คุณอนุญาตให้โมเดลสร้างพิกเซลนอกมาสก์ได้ นอกจากนี้ คุณยังใช้ความสามารถในการปรับแต่งรูปภาพของ 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 ได้

// 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 มีความสามารถอันทรงพลังที่ช่วยให้คุณเลือกโมเดลการสร้างรูปภาพที่เหมาะสมที่สุดเพื่อปรับแต่งแอปและเพิ่มการมีส่วนร่วมของผู้ใช้ได้ ทั้งนี้ขึ้นอยู่กับกรณีการใช้งานเฉพาะของคุณ

เขียนโดย

อ่านต่อ