Tin tức về sản phẩm

Tăng mức độ tương tác của người dùng bằng tính năng Tạo hình ảnh bằng AI

Đọc trong 5 phút

Việc thêm hình ảnh tuỳ chỉnh vào ứng dụng có thể cải thiện và cá nhân hoá đáng kể trải nghiệm người dùng, đồng thời tăng mức độ tương tác của người dùng. Bài đăng này khám phá 2 khả năng mới để tạo hình ảnh bằng Firebase AI Logic: các tính năng chỉnh sửa chuyên biệt của Imagen (hiện đang ở giai đoạn xem trước) và phiên bản Gemini 2.5 Flash Image (còn gọi là "Nano Banana") được phát hành rộng rãi, được thiết kế để tạo hình ảnh theo ngữ cảnh hoặc đàm thoại.

Tăng mức độ tương tác của người dùng bằng hình ảnh được tạo thông qua Firebase AI Logic

Bạn có thể dùng các mô hình tạo hình ảnh để tạo hình đại diện tuỳ chỉnh cho hồ sơ người dùng hoặc tích hợp các thành phần hình ảnh được cá nhân hoá trực tiếp vào các luồng màn hình chính.  

Ví dụ: Imagen cung cấp các tính năng chỉnh sửa mới (trong bản dùng thử cho nhà phát triển). Giờ đây, bạn có thể vẽ một mặt nạ và sử dụng tính năng vẽ chồng để tạo pixel trong vùng được che. Ngoài ra, bạn có thể dùng tính năng mở rộng hình ảnh để tạo các pixel bên ngoài mặt nạ.   

Imagen inpainting.png

Imagen hỗ trợ tính năng chỉnh sửa ảnh, cho phép bạn chỉ tạo một phần của hình ảnh. 

Ngoài ra, Gemini 2.5 Flash Image (còn gọi là Nano Banana) có thể sử dụng kiến thức mở rộng về thế giới và khả năng suy luận của các mô hình Gemini để tạo ra những hình ảnh phù hợp theo ngữ cảnh. Đây là lựa chọn lý tưởng để tạo ra những hình minh hoạ linh hoạt phù hợp với trải nghiệm hiện tại của người dùng trong ứng dụng.   

 

In-context nano banana illustration.png

Sử dụng hình ảnh Gemini 2.5 Flash để tạo những hình minh hoạ linh động, phù hợp với bối cảnh của ứng dụng. 

Cuối cùng, khả năng chỉnh sửa ảnh theo cách đàm thoại và lặp lại cho phép người dùng chỉnh sửa ảnh bằng ngôn ngữ tự nhiên.

 

photo edit natural language.png

Sử dụng Gemini 2.5 Flash Image để chỉnh sửa hình ảnh bằng ngôn ngữ tự nhiên.

Khi bắt đầu tích hợp AI vào ứng dụng, bạn cần tìm hiểu về sự an toàn của AI. Điều đặc biệt quan trọng là bạn phải đánh giá các rủi ro bảo mật của ứng dụng, cân nhắc điều chỉnh để giảm thiểu rủi ro an toàn, tiến hành kiểm thử an toàn phù hợp với trường hợp sử dụng của bạn, đồng thời thu thập ý kiến phản hồi của người dùng và giám sát nội dung.

Imagen hay Gemini: Bạn có thể chọn một trong hai 

Sự khác biệt giữa Gemini 2.5 Flash Image ("Nano Banana") và Imagen nằm ở trọng tâm chính và các tính năng nâng cao của chúng. Là một mô hình hình ảnh trong nhóm mô hình Gemini lớn hơn, Gemini 2.5 Flash Image có khả năng chỉnh sửa hình ảnh trong cuộc trò chuyện, duy trì ngữ cảnh và tính nhất quán của chủ đề qua nhiều lần lặp lại, đồng thời tận dụng "kiến thức và khả năng suy luận về thế giới" để tạo hình ảnh phù hợp theo ngữ cảnh hoặc nhúng hình ảnh chính xác vào các chuỗi văn bản dài. 

Imagen là mô hình tạo hình ảnh chuyên biệt của Google, được thiết kế để giúp bạn kiểm soát tốt hơn quá trình sáng tạo, chuyên tạo ra những hình ảnh có độ chân thực cao, chi tiết nghệ thuật, phong cách cụ thể và cung cấp các chế độ kiểm soát rõ ràng để chỉ định tỷ lệ khung hình hoặc định dạng của hình ảnh được tạo.

Hình ảnh Gemini 2.5 Flash 
(Nano Banana 🍌)
Imagen

🌎 kiến thức và khả năng suy luận về thế giới để có những hình ảnh phù hợp hơn theo ngữ cảnh
  

💬 chỉnh sửa hình ảnh theo cách đàm thoại trong khi vẫn duy trì bối cảnh
  

📖 nhúng hình ảnh chính xác vào các chuỗi văn bản dài

📐 chỉ định tỷ lệ khung hình hoặc định dạng của hình ảnh được tạo

 

🖌️Hỗ trợ chỉnh sửa dựa trên mặt nạ để chỉnh sửa trong và ngoài khung hình. 

 

🎚️ kiểm soát tốt hơn các chi tiết của hình ảnh được tạo (chất lượng, chi tiết nghệ thuật và phong cách cụ thể)

Hãy xem cách sử dụng các thành phần này trong ứng dụng của bạn.
 

Phục hồi ảnh bằng Imagen 

Vài tháng trước, chúng tôi đã phát hành các tính năng chỉnh sửa mới cho Imagen. Mặc dù Imagen hiện đã sẵn sàng để tạo hình ảnh, nhưng các tính năng chỉnh sửa vẫn đang ở giai đoạn xem trước dành cho nhà phát triển.

Các tính năng chỉnh sửa của Imagen bao gồm tính năng chỉnh sửa ảnh dạng vátính năng chỉnh sửa ảnh dạng mở rộng, các tính năng chỉnh sửa ảnh dựa trên mặt nạ. Tính năng mới này cho phép người dùng sửa đổi các vùng cụ thể của một hình ảnh mà không cần tạo lại toàn bộ bức ảnh. Điều này có nghĩa là bạn có thể giữ lại những phần đẹp nhất trong bức ảnh và chỉ chỉnh sửa những gì bạn muốn thay đổi.

Imagen inpainting dog.png

Sử dụng các tính năng chỉnh sửa của Imagen để thực hiện các thay đổi chính xác, có mục tiêu trong một hình ảnh và đảm bảo tính toàn vẹn của phần còn lại của hình ảnh

Những thay đổi này được thực hiện trong khi vẫn duy trì các phần tử cốt lõi và tính toàn vẹn tổng thể của hình ảnh gốc, đồng thời chỉ sửa đổi vùng trong mặt nạ.

Để triển khai tính năng chỉnh sửa cục bộ bằng Imagen, trước tiên hãy khởi chạy imagen-3.0-capability-001 một mô hình Imagen cụ thể hỗ trợ các tính năng chỉnh sửa:

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

Từ đó, hãy xác định hàm vẽ chồng lên:

// 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()
    }

Bạn cung cấp cả sourceImage, maskImage và câu lệnh để chỉnh sửa cũng như số bước chỉnh sửa cần thực hiện.

Bạn có thể xem ví dụ thực tế trong Imagen Editing Sample (Mẫu chỉnh sửa bằng Imagen) trong danh mục Mẫu AI của Android!

Ngoài ra, Imagen cũng hỗ trợ tính năng tạo hình ảnh bên ngoài, cho phép bạn để mô hình tạo ra các pixel bên ngoài mặt nạ. Bạn cũng có thể sử dụng các tính năng Tuỳ chỉnh hình ảnh của Imagen để thay đổi kiểu của một bức ảnh hoặc cập nhật một đối tượng trong bức ảnh. Đọc thêm về vấn đề này trong tài liệu dành cho nhà phát triển Android.

Tạo hình ảnh theo cuộc trò chuyện bằng Gemini 2.5 Flash Image

Một cách để chỉnh sửa hình ảnh bằng Gemini 2.5 Flash Image là sử dụng khả năng trò chuyện nhiều lượt của mô hình này.

Trước tiên, hãy khởi tạo mô hình:

// 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)
    }
)

Để đạt được kết quả tương tự như phương thức Imagen dựa trên mặt nạ được mô tả ở trên, chúng ta có thể sử dụng API chat để bắt đầu cuộc trò chuyện với 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

Bạn có thể xem tính năng này hoạt động trong mẫu Gemini Image Chat trong danh mục Mẫu AI Android và đọc thêm về tính năng này trong tài liệu Android.

Lời kết

Cả Imagen và Gemini 2.5 Flash Image đều có những chức năng mạnh mẽ, cho phép bạn chọn mô hình tạo hình ảnh lý tưởng để cá nhân hoá ứng dụng và tăng mức độ tương tác của người dùng, tuỳ thuộc vào trường hợp sử dụng cụ thể của bạn.

Tác giả:

Tiếp tục đọc