Imagen 3 は画像生成モデルです。ユーザー プロフィールのカスタム アバターを生成したり、パーソナライズされたビジュアル アセットを既存の画面フローに取り込んでユーザー エンゲージメントを高めたりできます。
Vertex AI in Firebase SDK を使用して、Android アプリから Imagen モデルにアクセスできます。
プロンプトで試す
理想的なプロンプトを作成するには、多くの場合、何度か試す必要があります。画像プロンプトは、プロンプトの設計とプロトタイピング用の IDE である Vertex AI Studio でテストできます。プロンプトを改善する方法については、プロンプトと画像属性のガイドをご覧ください。

Firebase プロジェクトを設定してアプリを接続する
Firebase のドキュメントの手順に沿って、Android プロジェクトに Firebase を追加します。
Gradle 依存関係を追加する
build.gradle
アプリ ファイルに次の依存関係を追加します。
dependencies {
implementation(platform("com.google.firebase:firebase-bom:33.9.0"))
implementation("com.google.firebase:firebase-vertexai")
}
Vertex AI in Firebase の Imagen 3 には、Firebase BOM 33.10.0 以降が必要です。
画像を生成する
Android アプリで画像を生成するには、まずオプションの構成で ImagenModel
をインスタンス化します。
generationConfig
パラメータを使用して、ネガティブ プロンプト、画像の数、出力画像のアスペクト比、画像形式を定義し、ウォーターマークを追加できます。safetySettings
パラメータを使用して、安全性と人物のフィルタを構成できます。
Kotlin
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
)
)
Java
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
を呼び出して画像を生成できます。
Kotlin
val imageResponse = imagenModel.generateImages(
prompt = "An astronaut riding a horse",
)
val image = imageResponse.images.first
val bitmapImage = image.asBitmap()
Java
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 in Firebase の概要をご覧ください。
- Firebase SDK で Vertex AI を使用して Imagen にアクセスする方法の詳細を確認する
- Google Cloud の Imagen API リファレンスを確認する
- Google の責任ある AI への取り組みについて学ぶ。