Imagen 3, görüntü üretme modelidir. Kullanıcı profilleri için özel avatarlar oluşturmak veya kullanıcı etkileşimini artırmak amacıyla kişiselleştirilmiş görsel öğeleri mevcut ekran akışlarına entegre etmek için kullanılabilir.
Firebase SDK'sındaki Vertex AI'ı kullanarak Android uygulamanızdan Imagen modellerine erişebilirsiniz.
İstemlerle deneme yapma
İdeal istemleri oluşturmak genellikle birden fazla deneme gerektirir. İstem tasarımı ve prototip oluşturma için bir IDE olan Vertex AI Studio'da görüntü istemleriyle denemeler yapabilirsiniz. İstemlerinizi iyileştirmeyle ilgili ipuçları için istem ve resim özelliği kılavuzunu inceleyin.

Firebase projesi oluşturma ve uygulamanızı bağlama
Firebase'i Android projenize eklemek için Firebase dokümanlarında yer alan adımları uygulayın.
Gradle bağımlılığını ekleme
build.gradle
uygulama dosyanıza aşağıdaki bağımlılıkları ekleyin:
dependencies {
implementation(platform("com.google.firebase:firebase-bom:33.9.0"))
implementation("com.google.firebase:firebase-vertexai")
}
Firebase'deki Vertex AI'da Imagen 3 için Firebase BOM 33.10.0 veya daha yeni bir sürüm gerekir.
Resim oluşturma
Android uygulamanızda bir resim oluşturmak için isteğe bağlı bir yapılandırmayla bir ImagenModel
örneği oluşturarak başlayın.
Negatif istemi, resim sayısını, çıkış resmi en boy oranını, resim biçimini tanımlamak ve filigran eklemek için generationConfig
parametresini kullanabilirsiniz. Güvenlik ve kişi filtrelerini yapılandırmak için safetySettings
parametresini kullanabilirsiniz.
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
nesnesi oluşturulduktan sonra generateImages
'i çağırarak resim oluşturabilirsiniz:
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();
}
Sonraki adımlar
- Firebase'de Vertex AI'ya genel bakış başlıklı makaleyi inceleyin.
- Imagen'e erişmek için Firebase SDK'larında Vertex AI'ı kullanma hakkında daha fazla bilgi edinin.
- Google Cloud Imagen API Referansı'nı inceleyin.
- Google'ın Sorumlu Yapay Zeka Uygulamaları hakkında daha fazla bilgi edinin.