Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ import com.google.firebase.auth.internal.InternalAuthProvider
* as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public class ImagenModel
internal constructor(
private val modelName: String,
Expand Down Expand Up @@ -96,7 +96,7 @@ internal constructor(
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public suspend fun generateImages(prompt: String): ImagenGenerationResponse<ImagenInlineImage> =
try {
controller
Expand All @@ -119,7 +119,7 @@ internal constructor(
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
@PublicPreviewAPI
public suspend fun editImage(
referenceImages: List<ImagenReferenceImage>,
Expand Down Expand Up @@ -149,7 +149,7 @@ internal constructor(
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
@PublicPreviewAPI
public suspend fun inpaintImage(
image: ImagenInlineImage,
Expand Down Expand Up @@ -179,7 +179,7 @@ internal constructor(
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
@PublicPreviewAPI
public suspend fun outpaintImage(
image: ImagenInlineImage,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,12 @@ import org.json.JSONObject
*
* See the documentation for a list of
* [supported models](https://firebase.google.com/docs/ai-logic/models).
*
* @deprecated **Deprecation Notice:** All Imagen models are deprecated and will shut down as early
* as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
@PublicPreviewAPI
public class TemplateImagenModel
internal constructor(
Expand Down Expand Up @@ -75,7 +80,12 @@ internal constructor(
*
* @param templateId The ID of server prompt template.
* @param inputs the inputs needed to fill in the prompt
*
* @deprecated **Deprecation Notice:** All Imagen models are deprecated and will shut down as
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public suspend fun generateImages(
templateId: String,
inputs: Map<String, Any>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ import com.google.firebase.ai.type.PublicPreviewAPI
* as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
@PublicPreviewAPI
public abstract class ImagenModelFutures internal constructor() {
/**
Expand All @@ -50,7 +50,7 @@ public abstract class ImagenModelFutures internal constructor() {
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public abstract fun generateImages(
prompt: String,
): ListenableFuture<ImagenGenerationResponse<ImagenInlineImage>>
Expand All @@ -67,7 +67,7 @@ public abstract class ImagenModelFutures internal constructor() {
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public abstract fun editImage(
referenceImages: List<ImagenReferenceImage>,
prompt: String,
Expand All @@ -85,7 +85,7 @@ public abstract class ImagenModelFutures internal constructor() {
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public abstract fun editImage(
referenceImages: List<ImagenReferenceImage>,
prompt: String,
Expand All @@ -103,7 +103,7 @@ public abstract class ImagenModelFutures internal constructor() {
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public abstract fun inpaintImage(
image: ImagenInlineImage,
prompt: String,
Expand All @@ -129,7 +129,7 @@ public abstract class ImagenModelFutures internal constructor() {
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public abstract fun outpaintImage(
image: ImagenInlineImage,
newDimensions: Dimensions,
Expand All @@ -145,7 +145,8 @@ public abstract class ImagenModelFutures internal constructor() {
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.") public abstract fun getImageModel(): ImagenModel
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public abstract fun getImageModel(): ImagenModel

private class FuturesImpl(private val model: ImagenModel) : ImagenModelFutures() {
override fun generateImages(
Expand Down Expand Up @@ -197,7 +198,7 @@ public abstract class ImagenModelFutures internal constructor() {
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
@JvmStatic
public fun from(model: ImagenModel): ImagenModelFutures = FuturesImpl(model)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ package com.google.firebase.ai.type
* as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public class ImagenAspectRatio private constructor(internal val internalVal: String) {
public companion object {
/** A square image, useful for icons, profile pictures, etc. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ package com.google.firebase.ai.type
* as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public class ImagenControlType internal constructor(internal val value: String) {
public companion object {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ package com.google.firebase.ai.type
* as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public class ImagenEditMode private constructor(internal val value: String) {

public companion object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import kotlinx.serialization.Serializable
* as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
@PublicPreviewAPI
public class ImagenEditingConfig(
internal val editMode: ImagenEditMode? = null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ package com.google.firebase.ai.type
*/
import kotlin.jvm.JvmField

@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public class ImagenGenerationConfig(
public val negativePrompt: String? = null,
public val numberOfImages: Int? = 1,
Expand All @@ -50,7 +50,7 @@ public class ImagenGenerationConfig(
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public class Builder {
@JvmField public var negativePrompt: String? = null
@JvmField public var numberOfImages: Int? = 1
Expand All @@ -65,7 +65,7 @@ public class ImagenGenerationConfig(
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public fun setNegativePrompt(negativePrompt: String): Builder = apply {
this.negativePrompt = negativePrompt
}
Expand All @@ -77,7 +77,7 @@ public class ImagenGenerationConfig(
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public fun setNumberOfImages(numberOfImages: Int): Builder = apply {
this.numberOfImages = numberOfImages
}
Expand All @@ -89,7 +89,7 @@ public class ImagenGenerationConfig(
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public fun setAspectRatio(aspectRatio: ImagenAspectRatio): Builder = apply {
this.aspectRatio = aspectRatio
}
Expand All @@ -101,7 +101,7 @@ public class ImagenGenerationConfig(
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public fun setImageFormat(imageFormat: ImagenImageFormat): Builder = apply {
this.imageFormat = imageFormat
}
Expand All @@ -113,7 +113,7 @@ public class ImagenGenerationConfig(
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public fun setAddWatermark(addWatermark: Boolean): Builder = apply {
this.addWatermark = addWatermark
}
Expand All @@ -128,7 +128,7 @@ public class ImagenGenerationConfig(
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public fun build(): ImagenGenerationConfig =
ImagenGenerationConfig(
negativePrompt = negativePrompt,
Expand Down Expand Up @@ -162,7 +162,7 @@ public class ImagenGenerationConfig(
* as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public fun imagenGenerationConfig(
init: ImagenGenerationConfig.Builder.() -> Unit
): ImagenGenerationConfig {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import kotlinx.serialization.Serializable
* as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public class ImagenGenerationResponse<T>
internal constructor(public val images: List<T>, public val filteredReason: String?) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ import kotlinx.serialization.Serializable
* as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public class ImagenImageFormat
private constructor(public val mimeType: String, public val compressionQuality: Int?) {

Expand All @@ -49,7 +49,7 @@ private constructor(public val mimeType: String, public val compressionQuality:
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
@JvmStatic
public fun jpeg(compressionQuality: Int? = null): ImagenImageFormat {
return ImagenImageFormat("image/jpeg", compressionQuality)
Expand All @@ -62,7 +62,7 @@ private constructor(public val mimeType: String, public val compressionQuality:
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
@JvmStatic
public fun png(): ImagenImageFormat {
return ImagenImageFormat("image/png", null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ package com.google.firebase.ai.type
* as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public class ImagenImagePlacement
private constructor(public val x: Int? = null, public val y: Int? = null) {

Expand Down Expand Up @@ -82,7 +82,7 @@ private constructor(public val x: Int? = null, public val y: Int? = null) {
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
@JvmStatic
public fun fromCoordinate(x: Int, y: Int): ImagenImagePlacement {
return ImagenImagePlacement(x, y)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ import kotlinx.serialization.Serializable
* as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public class ImagenInlineImage
internal constructor(
public val data: ByteArray,
Expand All @@ -47,7 +47,7 @@ internal constructor(
* early as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public fun asBitmap(): Bitmap {
return BitmapFactory.decodeByteArray(data, 0, data.size)
}
Expand All @@ -67,7 +67,7 @@ internal constructor(
* as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
@PublicPreviewAPI
public fun Bitmap.toImagenInlineImage(): ImagenInlineImage {
val byteArrayOutputStream = ByteArrayOutputStream()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ package com.google.firebase.ai.type
* as June 2026. As a replacement, you can
* [migrate your apps to use Gemini Image models (the 'Nano Banana' models)](https://firebase.google.com/docs/ai-logic/imagen-models-migration)
*/
@Deprecated("All Imagen models are deprecated.")
@Deprecated("All Imagen models are deprecated. Migrate your apps to use Gemini Image Models")
public class ImagenPersonFilterLevel private constructor(internal val internalVal: String) {
public companion object {
/**
Expand Down
Loading
Loading