Imagen 3 ist ein Modell zur Bildgenerierung. Mit dieser Funktion können Sie benutzerdefinierte Avatare für Nutzerprofile erstellen oder personalisierte visuelle Assets in vorhandene Bildschirmflüsse einbinden, um das Nutzer-Engagement zu steigern.
Sie können über das Vertex AI in Firebase SDK von Ihrer Android-App aus auf Imagen-Modelle zugreifen.
Mit Prompts experimentieren
Das Erstellen der idealen Prompts erfordert oft mehrere Versuche. Sie können mit Bildprompts in Vertex AI Studio experimentieren, einer IDE für das Entwerfen und Prototyping von Prompts. Tipps zur Verbesserung Ihrer Prompts finden Sie im Leitfaden zu Prompt- und Bildattributen.

Firebase-Projekt einrichten und App verknüpfen
Folgen Sie der Anleitung in der Firebase-Dokumentation, um Firebase Ihrem Android-Projekt hinzuzufügen.
Gradle-Abhängigkeit hinzufügen
Fügen Sie der build.gradle
-App-Datei die folgenden Abhängigkeiten hinzu:
dependencies {
implementation(platform("com.google.firebase:firebase-bom:33.9.0"))
implementation("com.google.firebase:firebase-vertexai")
}
Für Imagen 3 in Vertex AI in Firebase ist Firebase BOM 33.10.0 oder höher erforderlich.
Bild erstellen
Wenn Sie ein Bild in Ihrer Android-App generieren möchten, müssen Sie zuerst eine ImagenModel
mit einer optionalen Konfiguration instanziieren.
Mit dem Parameter generationConfig
können Sie einen Negativvorschlag, die Anzahl der Bilder, das Seitenverhältnis des Ausgabebilds und das Bildformat definieren und ein Wasserzeichen hinzufügen. Mit dem Parameter safetySettings
können Sie die Sicherheits- und Personenfilter konfigurieren.
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()
);
Nachdem ImagenModel
instanziiert wurde, können Sie Bilder generieren, indem Sie generateImages
aufrufen:
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();
}
Nächste Schritte
- Übersicht über Vertex AI in Firebase
- Weitere Informationen zur Verwendung von Vertex AI in Firebase SDKs für den Zugriff auf Imagen
- Imagen API-Referenz
- Weitere Informationen zu den verantwortungsbewussten KI-Praktiken von Google