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
8 changes: 8 additions & 0 deletions firebase-vertexai/api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -428,6 +428,11 @@ package com.google.firebase.vertexai.type {
public static final class ImagenGenerationConfig.Builder {
ctor public ImagenGenerationConfig.Builder();
method public com.google.firebase.vertexai.type.ImagenGenerationConfig build();
method public com.google.firebase.vertexai.type.ImagenGenerationConfig.Builder setAddWatermark(boolean addWatermark);
method public com.google.firebase.vertexai.type.ImagenGenerationConfig.Builder setAspectRatio(com.google.firebase.vertexai.type.ImagenAspectRatio aspectRatio);
method public com.google.firebase.vertexai.type.ImagenGenerationConfig.Builder setImageFormat(com.google.firebase.vertexai.type.ImagenImageFormat imageFormat);
method public com.google.firebase.vertexai.type.ImagenGenerationConfig.Builder setNegativePrompt(String negativePrompt);
method public com.google.firebase.vertexai.type.ImagenGenerationConfig.Builder setNumberOfImages(int numberOfImages);
field public Boolean? addWatermark;
field public com.google.firebase.vertexai.type.ImagenAspectRatio? aspectRatio;
field public com.google.firebase.vertexai.type.ImagenImageFormat? imageFormat;
Expand All @@ -441,6 +446,7 @@ package com.google.firebase.vertexai.type {

public final class ImagenGenerationConfigKt {
method @com.google.firebase.vertexai.type.PublicPreviewAPI public static com.google.firebase.vertexai.type.ImagenGenerationConfig imagenGenerationConfig(kotlin.jvm.functions.Function1<? super com.google.firebase.vertexai.type.ImagenGenerationConfig.Builder,kotlin.Unit> init);
method public static void xx();
}

@com.google.firebase.vertexai.type.PublicPreviewAPI public final class ImagenGenerationResponse<T> {
Expand All @@ -453,6 +459,8 @@ package com.google.firebase.vertexai.type {
@com.google.firebase.vertexai.type.PublicPreviewAPI public final class ImagenImageFormat {
method public Integer? getCompressionQuality();
method public String getMimeType();
method public static com.google.firebase.vertexai.type.ImagenImageFormat jpeg(Integer? compressionQuality = null);
method public static com.google.firebase.vertexai.type.ImagenImageFormat png();
property public final Integer? compressionQuality;
property public final String mimeType;
field public static final com.google.firebase.vertexai.type.ImagenImageFormat.Companion Companion;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ package com.google.firebase.vertexai.type
* @param imageFormat The file format/compression of the generated images.
* @param addWatermark Adds an invisible watermark to mark the image as AI generated.
*/
import kotlin.jvm.JvmField

@PublicPreviewAPI
public class ImagenGenerationConfig(
public val negativePrompt: String? = null,
Expand All @@ -39,13 +41,6 @@ public class ImagenGenerationConfig(
*
* This is mainly intended for Java interop. For Kotlin, use [imagenGenerationConfig] for a more
* idiomatic experience.
*
* @property negativePrompt See [ImagenGenerationConfig.negativePrompt].
* @property numberOfImages See [ImagenGenerationConfig.numberOfImages].
* @property aspectRatio See [ImagenGenerationConfig.aspectRatio].
* @property imageFormat See [ImagenGenerationConfig.imageFormat]
* @property addWatermark See [ImagenGenerationConfig.addWatermark]
* @see [imagenGenerationConfig]
*/
public class Builder {
@JvmField public var negativePrompt: String? = null
Expand All @@ -54,6 +49,31 @@ public class ImagenGenerationConfig(
@JvmField public var imageFormat: ImagenImageFormat? = null
@JvmField public var addWatermark: Boolean? = null

/** See [ImagenGenerationConfig.negativePrompt]. */
public fun setNegativePrompt(negativePrompt: String): Builder = apply {
this.negativePrompt = negativePrompt
}

/** See [ImagenGenerationConfig.numberOfImages]. */
public fun setNumberOfImages(numberOfImages: Int): Builder = apply {
this.numberOfImages = numberOfImages
}

/** See [ImagenGenerationConfig.aspectRatio]. */
public fun setAspectRatio(aspectRatio: ImagenAspectRatio): Builder = apply {
this.aspectRatio = aspectRatio
}

/** See [ImagenGenerationConfig.imageFormat]. */
public fun setImageFormat(imageFormat: ImagenImageFormat): Builder = apply {
this.imageFormat = imageFormat
}

/** See [ImagenGenerationConfig.addWatermark]. */
public fun setAddWatermark(addWatermark: Boolean): Builder = apply {
this.addWatermark = addWatermark
}

/**
* Alternative casing for [ImagenGenerationConfig.Builder]:
* ```
Expand Down Expand Up @@ -97,3 +117,14 @@ public fun imagenGenerationConfig(
builder.init()
return builder.build()
}

@OptIn(PublicPreviewAPI::class)
public fun xx() {
imagenGenerationConfig {
negativePrompt = "People, black and white, painting"
numberOfImages = 1
aspectRatio = ImagenAspectRatio.SQUARE_1x1
imageFormat = ImagenImageFormat.png()
addWatermark = false
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,13 @@ private constructor(public val mimeType: String, public val compressionQuality:
* @param compressionQuality an int (1-100) representing the quality of the image; a lower
* number means the image is permitted to be lower quality to reduce size.
*/
@JvmStatic
public fun jpeg(compressionQuality: Int? = null): ImagenImageFormat {
return ImagenImageFormat("image/jpeg", compressionQuality)
}

/** An [ImagenImageFormat] representing a PNG image */
@JvmStatic
public fun png(): ImagenImageFormat {
return ImagenImageFormat("image/png", null)
}
Expand Down
Loading