Imagen 3 là một mô hình tạo hình ảnh. Bạn có thể dùng công cụ này để 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á vào luồng màn hình hiện có nhằm tăng mức độ tương tác của người dùng.
Bạn có thể truy cập vào các mô hình Imagen từ ứng dụng Android bằng cách sử dụng SDK Logic AI của Firebase. Bạn có thể sử dụng các mô hình Imagen bằng cả hai nhà cung cấp API Logic AI của Firebase: API dành cho nhà phát triển Gemini (nên dùng cho hầu hết nhà phát triển) và Vertex AI.
Thử nghiệm với câu lệnh
Bạn thường phải thử nhiều lần mới tạo được câu lệnh lý tưởng. Bạn có thể thử nghiệm với câu lệnh dạng hình ảnh trong Vertex AI Studio, một IDE để thiết kế và tạo nguyên mẫu câu lệnh. Để biết mẹo cải thiện câu lệnh, hãy xem hướng dẫn về câu lệnh và thuộc tính hình ảnh.

Thiết lập dự án Firebase và kết nối ứng dụng
Làm theo các bước trong tài liệu về Firebase để thêm Firebase vào dự án Android.
Thêm phần phụ thuộc Gradle
Thêm các phần phụ thuộc sau vào tệp build.gradle
:
dependencies {
// Import the BoM for the Firebase platform
implementation(platform("com.google.firebase:firebase-bom:33.14.0"))
// Add the dependency for the Firebase AI Logic library. When using the BoM,
// you don't specify versions in Firebase library dependencies
implementation("com.google.firebase:firebase-ai")
}
Tạo hình ảnh
Để tạo hình ảnh trong ứng dụng Android, hãy bắt đầu bằng cách tạo bản sao của ImagenModel
có cấu hình không bắt buộc.
Bạn có thể sử dụng tham số generationConfig
để xác định câu lệnh phủ định, số lượng hình ảnh, tỷ lệ khung hình hình ảnh đầu ra, định dạng hình ảnh và thêm hình mờ. Bạn có thể sử dụng tham số safetySettings
để định cấu hình bộ lọc an toàn và bộ lọc người.
Kotlin
val config = ImagenGenerationConfig {
numberOfImages = 2,
aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
addWatermark = false
}
// Initialize the Gemini Developer API backend service
// For Vertex AI use Firebase.ai(backend = GenerativeBackend.vertexAI())
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).imagenModel(
modelName = "imagen-3.0-generate-002",
generationConfig = config,
safetySettings = ImagenSafetySettings(
safetyFilterLevel = ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE,
personFilterLevel = ImagenPersonFilterLevel.BLOCK_ALL
)
)
Java
ImagenGenerationConfig config = new ImagenGenerationConfig.Builder()
.setNumberOfImages(2)
.setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
.setImageFormat(ImagenImageFormat.jpeg(100))
.setAddWatermark(false)
.build();
// For Vertex AI use Firebase.ai(backend = GenerativeBackend.vertexAI())
ImagenModelFutures model = ImagenModelFutures.from(
FirebaseAI.ai(backend = GenerativeBackend.googleAI()).imagenModel(
"imagen-3.0-generate-002",
config,
ImagenSafetySettings.builder()
.setSafetyFilterLevel(ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE)
.setPersonFilterLevel(ImagenPersonFilterLevel.BLOCK_ALL)
.build())
);
Sau khi tạo thực thể ImagenModel
, bạn có thể tạo hình ảnh bằng cách gọi generateImages
:
Kotlin
val imageResponse = model.generateImages(
prompt = "An astronaut riding a horse",
)
val image = imageResponse.images.first
val bitmapImage = image.asBitmap()
Java
CompletableFuture<GenerateContentResponse> futureResponse =
model.generateContent(
Content.newBuilder()
.addParts(
Part.newBuilder()
.setText("An astronaut riding a horse")
.build())
.build());
try {
GenerateContentResponse imageResponse = futureResponse.get();
List<GeneratedImage> images =
imageResponse
.getCandidates(0)
.getContent()
.getParts(0)
.getInlineData()
.getImagesList();
if (!images.isEmpty()) {
GeneratedImage image = images.get(0);
Bitmap bitmapImage = image.asBitmap();
// Use bitmapImage
}
} catch (ExecutionException | InterruptedException e) {
e.printStackTrace();
}