Ürün Haberleri

Yapay zeka ile görüntü üretme özelliğiyle kullanıcı etkileşimini artırma

Okuma süresi: 5 dakika

Uygulamanıza özel resimler eklemek, kullanıcı deneyimini önemli ölçüde iyileştirip kişiselleştirebilir ve kullanıcı etkileşimini artırabilir. Bu yayında, Firebase AI Logic ile görüntü üretmeye yönelik iki yeni özellik ele alınıyor: Şu anda önizleme aşamasında olan özel Imagen düzenleme özellikleri ve bağlamsal veya sohbet tarzında görüntü üretmek için tasarlanan Gemini 2.5 Flash Image'in (diğer adıyla "Nano Banana") genel kullanıma sunulması.

Firebase AI Logic ile oluşturulan resimlerle kullanıcı etkileşimini artırma

Resim oluşturma modelleri, özel kullanıcı profili avatarları oluşturmak veya kişiselleştirilmiş görsel öğeleri doğrudan temel ekran akışlarına entegre etmek için kullanılabilir.  

Örneğin, Imagen yeni düzenleme özellikleri (geliştirici önizlemesi sürümünde) sunar. Artık maske çizebilir ve maskelenmiş alanda piksel oluşturmak için içe doldurma özelliğini kullanabilirsiniz. Ayrıca, maskenin dışındaki pikselleri oluşturmak için dış boyama özelliği de kullanılabilir.   

Imagen inpainting.png

Imagen, yalnızca bir resmin bir bölümünü oluşturmanıza olanak tanıyan içe doldurma özelliğini destekler. 

Alternatif olarak, Gemini 2.5 Flash Image (diğer adıyla Nano Banana), bağlama uygun görüntüler oluşturmak için Gemini modellerinin genişletilmiş dünya bilgisini ve muhakeme yeteneklerini kullanabilir. Bu, kullanıcının mevcut uygulama içi deneyimiyle uyumlu dinamik resimler oluşturmak için idealdir.   

 

In-context nano banana illustration.png

Uygulamanızla bağlamsal olarak alakalı dinamik resimler oluşturmak için Gemini 2.5 Flash Image'ı kullanın. 

Son olarak, görüntüleri etkileşimli ve yinelemeli olarak düzenleme özelliği sayesinde kullanıcılar, doğal dili kullanarak fotoğrafları düzenleyebilir.

 

photo edit natural language.png

Doğal dil kullanarak resim düzenlemek için Gemini 2.5 Flash Image'i kullanın.

Uygulamanıza yapay zeka entegre etmeye başlarken yapay zeka güvenliği hakkında bilgi edinmeniz önemlidir. Uygulamanızın güvenlik risklerini değerlendirmek, güvenlik risklerini azaltmak için gerekli ayarlamaları yapmak, kullanım alanınıza uygun güvenlik testleri gerçekleştirmek, kullanıcı geri bildirimi almak ve içeriği izlemek özellikle önemlidir.

Imagen veya Gemini: Seçim sizin 

Gemini 2.5 Flash Image ("Nano Banana") ile Imagen arasındaki fark, temel odak noktaları ve gelişmiş özelliklerinden kaynaklanır. Daha büyük Gemini ailesinin bir parçası olan Gemini 2.5 Flash Image, sohbet tarzında görüntü düzenleme, bağlam ve konu tutarlılığını birden fazla yinelemede koruma ve bağlama uygun görseller oluşturmak ya da uzun metin dizilerine doğru görseller yerleştirmek için "dünya bilgisi ve akıl yürütme" özelliklerinden yararlanma konusunda üstün performans gösterir. 

Imagen, Google'ın özel görüntü üretme modelidir. Daha fazla yaratıcı kontrol için tasarlanmıştır. Son derece gerçekçi çıktılar, sanatsal ayrıntılar ve belirli stiller konusunda uzmanlaşmıştır. Ayrıca, oluşturulan görüntünün en-boy oranını veya biçimini belirtmek için açık kontroller sağlar.

Gemini 2.5 Flash Görüntüleri 
(Nano Banana 🍌)
Imagen

🌎 Daha bağlamsal olarak alakalı resimler için dünya bilgisi ve akıl yürütme
  

💬 Bağlamı koruyarak resimleri sohbet tarzında düzenleme
  

📖 Uzun metin dizilerine doğru görseller yerleştirme

📐 Oluşturulan resimlerin en boy oranını veya biçimini belirtme

 

🖌️İçine boyama ve dışına boyama için maske tabanlı düzenleme desteği. 

 

🎚️ Üretilen görüntünün ayrıntıları (kalite, sanatsal ayrıntı ve belirli stiller) üzerinde daha fazla kontrol

Bunları uygulamanızda nasıl kullanacağınızı inceleyelim.
 

Imagen ile iç boyama 

Birkaç ay önce Imagen için yeni düzenleme özellikleri yayınladık. Imagen artık görüntü üretme için üretimde kullanıma hazır olsa da düzenleme özellikleri hâlâ geliştirici önizlemesi sürümündedir.

Imagen'daki düzenleme özellikleri arasında inpainting ve outpainting (maske tabanlı görüntü düzenleme özellikleri) yer alır. Bu yeni özellik, kullanıcıların resmin tamamını yeniden oluşturmadan belirli alanlarını değiştirmesine olanak tanır. Bu sayede, resminizin en iyi kısımlarını koruyabilir ve yalnızca değiştirmek istediğiniz yerleri değiştirebilirsiniz.

Imagen inpainting dog.png

Imagen düzenleme özelliklerini kullanarak bir resimde hassas ve hedefli değişiklikler yapın ve resmin geri kalanının bütünlüğünü koruyun

Bu değişiklikler, orijinal görüntünün temel öğeleri ve genel bütünlüğü korunarak yapılır ve yalnızca maskenin bulunduğu alan değiştirilir.

Imagen ile doldurma özelliğini uygulamak için öncelikle düzenleme özelliklerini destekleyen belirli bir Imagen modelini imagen-3.0-capability-001 başlatın:

// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
val editingModel =
        Firebase.ai(backend = GenerativeBackend.vertexAI()).imagenModel(
            "imagen-3.0-capability-001",
            generationConfig = ImagenGenerationConfig(
                numberOfImages = 1,
                aspectRatio = ImagenAspectRatio.SQUARE_1x1,
                imageFormat = ImagenImageFormat.jpeg(compressionQuality = 75),
            ),
        )

Buradan, tamamlayıcı boyama işlevini tanımlayın:

// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

val prompt = "remove the pancakes and make it an omelet instead"

suspend fun inpaintImageWithMask(sourceImage: Bitmap, maskImage: Bitmap, prompt: String, editSteps: Int = 50): Bitmap {
        val imageResponse = editingModel.editImage(
            referenceImages = listOf(
                ImagenRawImage(sourceImage.toImagenInlineImage()),
                ImagenRawMask(maskImage.toImagenInlineImage()),
            ),
            prompt = prompt,
            config = ImagenEditingConfig(
                editMode = ImagenEditMode.INPAINT_INSERTION,
                editSteps = editSteps,
            ),
        )
        return imageResponse.images.first().asBitmap()
    }

Hem sourceImage hem maskImage hem de düzenleme istemi ve gerçekleştirilecek düzenleme adımlarının sayısını sağlarsınız.

Bu özelliği, Android Yapay Zeka Örnekleri kataloğundaki Imagen Düzenleme Örneği'nde görebilirsiniz.

Ayrıca Imagen, modelin maskenin dışındaki pikselleri oluşturmasına olanak tanıyan outpainting özelliğini de destekler. Imagen'ın görüntü özelleştirme özelliklerini kullanarak bir resmin stilini değiştirebilir veya resimdeki bir özneyi güncelleyebilirsiniz. Bu konu hakkında daha fazla bilgiyi Android geliştirici belgelerinde bulabilirsiniz.

Gemini 2.5 Flash Image ile sohbete dayalı görüntü üretme

Gemini 2.5 Flash Image ile görüntüleri düzenlemenin bir yolu, modelin çok turlu sohbet özelliklerini kullanmaktır.

İlk olarak modeli başlatın:

// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
    modelName = "gemini-2.5-flash-image",
    // Configure the model to respond with text and images (required)
    generationConfig = generationConfig {
        responseModalities = listOf(ResponseModality.TEXT,
        ResponseModality.IMAGE)
    }
)

Yukarıda açıklanan maske tabanlı Imagen yöntemine benzer bir sonuç elde etmek için chat API'sini kullanarak Gemini 2.5 Flash Image ile sohbet başlatabiliriz.

// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

// Initialize the chat
val chat = model.startChat()


// Load a bitmap
val source = ImageDecoder.createSource(context.contentResolver, uri)
val bitmap = ImageDecoder.decodeBitmap(source)


// Create the initial prompt instructing the model to edit the image
val prompt = content {
    image(bitmap)
    text("remove the pancakes and add an omelet")
}

// To generate an initial response, send a user message with the image and text prompt
var response = chat.sendMessage(prompt)

// Inspect the returned image
var generatedImageAsBitmap = response
    .candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image

// Follow up requests do not need to specify the image again
response = chat.sendMessage("Now, center the omelet in the pan")
generatedImageAsBitmap = response
    .candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image

Bu özelliği Android AI Sample kataloğundaki Gemini Image Chat örneğinde görebilir ve Android dokümanlarında hakkında daha fazla bilgi edinebilirsiniz.

Sonuç

Hem Imagen hem de Gemini 2.5 Flash Image, güçlü özellikler sunar. Bu sayede, uygulamanızı kişiselleştirmek ve kullanıcı etkileşimini artırmak için ideal görüntü oluşturma modelini kullanım alanınıza göre seçebilirsiniz.

Yazan:

Okumaya devam edin