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

Thời gian đọc: 5 phút
Xem hồ sơ của Thomas Ezan Xem hồ sơ của Mozart Louis
Thomas Ezan và Mozart Louis

Việc thêm hình ảnh tuỳ chỉnh vào ứng dụng có thể cải thiện đáng kể và cá nhân hoá 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á hai tính 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à Gemini 2.5 Flash Image (hay 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 theo kiểu trò chuyện. 

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 trực tiếp các thành phần hình ảnh được cá nhân hoá 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 trước cho nhà phát triển). Giờ đây, bạn có thể vẽ một vùng chọn và sử dụng tính năng vẽ lồng để tạo điểm ảnh trong vùng chọn đó. Ngoài ra, bạn có thể dùng tính năng vẽ ngoài để tạo điểm ảnh 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 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 sâu rộng về thế giới và khả năng suy luận của các mô hình Gemini để tạo ra hình ảnh phù hợp với bối cảnh, rất lý tưởng để tạo hình minh hoạ động phù hợp với trải nghiệm trong ứng dụng hiện tại của người dùng.   

 

In-context nano banana illustration.png

Sử dụng Gemini 2.5 Flash Image để tạo 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 hình ảnh theo cách trò chuyện 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

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ề an toàn AI. Điều đặc biệt quan trọng là bạn phải đánh giá 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 về an toàn, thực hiện kiểm thử an toàn phù hợp với trường hợp sử dụng của bạn, thu thập ý kiến phản hồi của người dùng và giám sát nội dung.

Imagen hoặc Gemini: Tuỳ bạn lựa chọn 

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. Gemini 2.5 Flash Image, một mô hình tạo hình ảnh trong nhóm mô hình Gemini lớn hơn, có khả năng vượt trội trong việc chỉnh sửa hình ảnh theo kiểu trò chuyện, duy trì tính nhất quán về bối cảnh và chủ thể 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 với bối 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 hình ảnh chân thực, 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 do Gemini 2.5 Flash tạo 
(Nano Banana 🍌)
Imagen

🌎 kiến thức về thế giới và khả năng suy luận để tạo ra hình ảnh phù hợp hơn với bối cảnh
  

💬 chỉnh sửa hình ảnh bằng ngôn ngữ tự nhiên mà vẫn giữ nguyên 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 tạo sinh

 

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

 

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

Hãy cùng tìm hiểu 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 đã ra mắt các tính năng chỉnh sửa mới cho Imagen. Mặc dù Imagen hiện đã sẵn sàng cho việc tạo hình ảnh, nhưng các tính năng chỉnh sửa vẫn đang trong giai đoạn bản dùng trước cho nhà phát triển.

Các tính năng chỉnh sửa của Imagen bao gồm vẽ thêm vào trong và vẽ thêm ra ngoài, là các tính năng chỉnh sửa hình ả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 hình ảnh mà không cần tạo lại toàn bộ hình ảnh. Điều này có nghĩa là bạn có thể giữ lại những phần đẹp nhất của hình ảnh và chỉ thay đổi những phần bạn muốn.

Imagen inpainting dog.png

Sử dụng các tính năng chỉnh sửa của Imagen để thực hiện những thay đổi chính xác theo mục tiêu trong 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 yếu 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 khu vực trong mặt nạ.

Để triển khai tính năng chèn hình ảnh 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ẽ lồng:

// 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 cho nội dung 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 cách hoạt động của tính năng này trong Mẫu chỉnh sửa Imagen trong danh mục Mẫu AI của Android!

Imagen cũng hỗ trợ tính năng vẽ ngoài, cho phép bạn để mô hình tạo 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 phong cách của một bức ảnh hoặc cập nhật một chủ thể trong ả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 bằng cách trò chuyện với 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 chức năng trò chuyện nhiều lượt của mô hình này.

Trước tiên, hãy khởi động 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 cách hoạt động của tính năng này trong mẫu Trò chuyện bằng hình ảnh với Gemini trong danh mục Mẫu AI cho Android và đọc thêm về tính năng này trong tài liệu về Android.

Lời kết

Cả Imagen và Gemini 2.5 Flash Image đều cung cấp các 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