Imagen 3 — это модель генерации изображений. Его можно использовать для создания пользовательских аватаров для профилей пользователей или для интеграции персонализированных визуальных ресурсов в существующие экранные потоки для повышения вовлеченности пользователей.
Вы можете получить доступ к моделям Imagen из своего приложения Android с помощью Vertex AI в Firebase SDK .
Экспериментируйте с подсказками
Создание идеальных подсказок часто требует нескольких попыток. Поэкспериментировать с подсказками-изображениями можно в Vertex AI Studio — интегрированной среде разработки для проектирования и прототипирования подсказок. Советы о том, как улучшить подсказки, можно найти в руководстве по атрибутам подсказок и изображений .

Настройте проект Firebase и подключите свое приложение
Следуйте инструкциям в документации Firebase, чтобы добавить Firebase в свой проект Android .
Добавьте зависимость Gradle
Добавьте следующие зависимости в файл приложения build.gradle
:
dependencies {
implementation(platform("com.google.firebase:firebase-bom:33.9.0"))
implementation("com.google.firebase:firebase-vertexai")
}
Для изображения 3 в Vertex AI в Firebase требуется Firebase BOM 33.10.0 или выше .
Создать изображение
Чтобы создать изображение в приложении Android, начните с создания экземпляра ImagenModel
с дополнительной конфигурацией.
Вы можете использовать параметр generationConfig
, чтобы определить отрицательный запрос, количество изображений, соотношение сторон выходного изображения, формат изображения и добавить водяной знак. Параметр safetySettings
можно использовать для настройки фильтров безопасности и лиц.
Котлин
val imagenModel = Firebase.vertexAI.imagenModel(
modelName = "imagen-3.0-generate-001",
generationConfig = ImagenGenerationConfig(
negativePrompt = "frogs",
numberOfImages = 2,
aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
addWatermark = false
),
safetySettings = ImagenSafetySettings(
safetyFilterLevel = ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE,
personFilterLevel = ImagenPersonFilterLevel.BLOCK_ALL
)
)
Ява
GenerativeModel imagenModel = FirebaseVertexAI.getInstance().imagenModel(
"imagen-3.0-generate-001",
ImagenGenerationConfig.builder()
.setNegativePrompt("frogs")
.setNumberOfImages(2)
.setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
.setImageFormat(ImagenImageFormat.jpeg(100))
.setAddWatermark(true)
.build(),
ImagenSafetySettings.builder()
.setSafetyFilterLevel(ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE)
.setPersonFilterLevel(ImagenPersonFilterLevel.BLOCK_ALL)
.build()
);
После создания экземпляра ImagenModel
вы можете генерировать изображения, вызвав generateImages
:
Котлин
val imageResponse = imagenModel.generateImages(
prompt = "An astronaut riding a horse",
)
val image = imageResponse.images.first
val bitmapImage = image.asBitmap()
Ява
CompletableFuture<GenerateContentResponse> futureResponse =
imagenModel.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();
}
Следующие шаги
- Взгляните на обзор Vertex AI в Firebase.
- Узнайте больше о том, как использовать Vertex AI в Firebase SDK для доступа к Imagen.
- Ознакомьтесь со справкой по API Google Cloud Imagen.
- Узнайте больше о методах ответственного использования искусственного интеллекта Google.