Skip to content

Commit 77c5daf

Browse files
authored
[AI] Remove PublicPreviewAPI annotation for image generation (#7425)
The API surface is graduating to GA. It does not include imagen editing features. Those still require the opt-in annotation to be used.
1 parent 8a8298d commit 77c5daf

13 files changed

+9
-15
lines changed

firebase-ai/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
provided public web URLs to inform and enhance its responses. (#7382)
66
- [changed] Added better error messages to `ServiceConnectionHandshakeFailedException` (#7412)
77
- [changed] Marked the public constructor for `UsageMetadata` as deprecated (#7420)
8+
- [changed] Using Firebase AI Logic with the Gemini Developer API is now Generally Available (GA).
9+
- [changed] Using Firebase AI Logic with the Imagen generation APIs is now Generally Available (GA).
810

911
# 17.3.0
1012

firebase-ai/src/main/kotlin/com/google/firebase/ai/FirebaseAI.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,6 @@ internal constructor(
170170
* @return The initialized [ImagenModel] instance.
171171
*/
172172
@JvmOverloads
173-
@PublicPreviewAPI
174173
public fun imagenModel(
175174
modelName: String,
176175
generationConfig: ImagenGenerationConfig? = null,

firebase-ai/src/main/kotlin/com/google/firebase/ai/ImagenModel.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ import com.google.firebase.auth.internal.InternalAuthProvider
4545
* See the documentation for a list of
4646
* [supported models](https://firebase.google.com/docs/ai-logic/models).
4747
*/
48-
@PublicPreviewAPI
4948
public class ImagenModel
5049
internal constructor(
5150
private val modelName: String,
@@ -106,6 +105,7 @@ internal constructor(
106105
* @param prompt the text input given to the model as a prompt
107106
* @param config the editing configuration settings
108107
*/
108+
@PublicPreviewAPI
109109
public suspend fun editImage(
110110
referenceImages: List<ImagenReferenceImage>,
111111
prompt: String,
@@ -130,6 +130,7 @@ internal constructor(
130130
* @param mask the mask which defines where in the image can be painted by Imagen.
131131
* @param config the editing configuration settings, it should include an [ImagenEditMode]
132132
*/
133+
@PublicPreviewAPI
133134
public suspend fun inpaintImage(
134135
image: ImagenInlineImage,
135136
prompt: String,
@@ -154,6 +155,7 @@ internal constructor(
154155
* @param config the editing configuration settings
155156
* @see [ImagenMaskReference.generateMaskAndPadForOutpainting]
156157
*/
158+
@PublicPreviewAPI
157159
public suspend fun outpaintImage(
158160
image: ImagenInlineImage,
159161
newDimensions: Dimensions,
@@ -172,6 +174,7 @@ internal constructor(
172174
prompt: String,
173175
generationConfig: ImagenGenerationConfig? = null,
174176
): GenerateImageRequest {
177+
@OptIn(PublicPreviewAPI::class)
175178
return GenerateImageRequest(
176179
listOf(GenerateImageRequest.ImagenPrompt(prompt, null)),
177180
GenerateImageRequest.ImagenParameters(
@@ -191,6 +194,7 @@ internal constructor(
191194
)
192195
}
193196

197+
@PublicPreviewAPI
194198
private fun constructEditRequest(
195199
referenceImages: List<ImagenReferenceImage>,
196200
prompt: String,

firebase-ai/src/main/kotlin/com/google/firebase/ai/common/Request.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ internal data class CountTokensRequest(
7777
}
7878

7979
@Serializable
80-
@PublicPreviewAPI
80+
@OptIn(PublicPreviewAPI::class)
8181
internal data class GenerateImageRequest(
8282
val instances: List<ImagenPrompt>,
8383
val parameters: ImagenParameters,
@@ -88,7 +88,6 @@ internal data class GenerateImageRequest(
8888
val referenceImages: List<ImagenReferenceImage.Internal>?
8989
)
9090

91-
@OptIn(PublicPreviewAPI::class)
9291
@Serializable
9392
internal data class ImagenParameters(
9493
val sampleCount: Int,
@@ -102,7 +101,7 @@ internal data class GenerateImageRequest(
102101
val addWatermark: Boolean?,
103102
val imageOutputOptions: ImagenImageFormat.Internal?,
104103
val editMode: String?,
105-
val editConfig: ImagenEditingConfig.Internal?,
104+
@OptIn(PublicPreviewAPI::class) val editConfig: ImagenEditingConfig.Internal?,
106105
)
107106

108107
@Serializable

firebase-ai/src/main/kotlin/com/google/firebase/ai/type/ImagenAspectRatio.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package com.google.firebase.ai.type
1818

1919
/** Represents the aspect ratio that the generated image should conform to. */
20-
@PublicPreviewAPI
2120
public class ImagenAspectRatio private constructor(internal val internalVal: String) {
2221
public companion object {
2322
/** A square image, useful for icons, profile pictures, etc. */

firebase-ai/src/main/kotlin/com/google/firebase/ai/type/ImagenGCSImage.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,5 @@ package com.google.firebase.ai.type
2222
* @param gcsUri Contains the `gs://` URI for the image.
2323
* @param mimeType Contains the MIME type of the image (for example, `"image/png"`).
2424
*/
25-
@PublicPreviewAPI
2625
internal class ImagenGCSImage
2726
internal constructor(public val gcsUri: String, public val mimeType: String) {}

firebase-ai/src/main/kotlin/com/google/firebase/ai/type/ImagenGenerationConfig.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ package com.google.firebase.ai.type
2828
*/
2929
import kotlin.jvm.JvmField
3030

31-
@PublicPreviewAPI
3231
public class ImagenGenerationConfig(
3332
public val negativePrompt: String? = null,
3433
public val numberOfImages: Int? = 1,
@@ -109,7 +108,6 @@ public class ImagenGenerationConfig(
109108
* }
110109
* ```
111110
*/
112-
@PublicPreviewAPI
113111
public fun imagenGenerationConfig(
114112
init: ImagenGenerationConfig.Builder.() -> Unit
115113
): ImagenGenerationConfig {

firebase-ai/src/main/kotlin/com/google/firebase/ai/type/ImagenGenerationResponse.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import kotlinx.serialization.Serializable
2727
* @param filteredReason if fewer images were generated than were requested, this field will contain
2828
* the reason they were filtered out.
2929
*/
30-
@PublicPreviewAPI
3130
public class ImagenGenerationResponse<T>
3231
internal constructor(public val images: List<T>, public val filteredReason: String?) {
3332

firebase-ai/src/main/kotlin/com/google/firebase/ai/type/ImagenImageFormat.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import kotlinx.serialization.Serializable
2626
* means the image is permitted to be lower quality to reduce size. This parameter is not relevant
2727
* for every MIME type.
2828
*/
29-
@PublicPreviewAPI
3029
public class ImagenImageFormat
3130
private constructor(public val mimeType: String, public val compressionQuality: Int?) {
3231

firebase-ai/src/main/kotlin/com/google/firebase/ai/type/ImagenInlineImage.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import kotlinx.serialization.Serializable
2929
* @property mimeType The IANA standard MIME type of the image data; either `"image/png"` or
3030
* `"image/jpeg"`; to request a different format, see [ImagenGenerationConfig.imageFormat].
3131
*/
32-
@PublicPreviewAPI
3332
public class ImagenInlineImage
3433
internal constructor(
3534
public val data: ByteArray,

0 commit comments

Comments
 (0)