Skip to content

Commit 6ba17c5

Browse files
author
David Motsonashvili
committed
manual overload until next breaking change
1 parent 71fc86e commit 6ba17c5

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

firebase-ai/api.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -697,13 +697,17 @@ package com.google.firebase.ai.type {
697697

698698
@com.google.firebase.ai.type.PublicPreviewAPI public abstract class ImagenMaskReference extends com.google.firebase.ai.type.ImagenReferenceImage {
699699
method public static final java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions);
700+
method public static final java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions);
701+
method public static final java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions, com.google.firebase.ai.type.ImagenImagePlacement newPosition = com.google.firebase.ai.type.ImagenImagePlacement.CENTER);
700702
method public static final java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions, com.google.firebase.ai.type.ImagenImagePlacement newPosition = com.google.firebase.ai.type.ImagenImagePlacement.CENTER);
701703
method public static final java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions, com.google.firebase.ai.type.ImagenImagePlacement newPosition = com.google.firebase.ai.type.ImagenImagePlacement.CENTER, double dilation = 0.01);
702704
field public static final com.google.firebase.ai.type.ImagenMaskReference.Companion Companion;
703705
}
704706

705707
public static final class ImagenMaskReference.Companion {
706708
method public java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions);
709+
method public java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions);
710+
method public java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions, com.google.firebase.ai.type.ImagenImagePlacement newPosition = com.google.firebase.ai.type.ImagenImagePlacement.CENTER);
707711
method public java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions, com.google.firebase.ai.type.ImagenImagePlacement newPosition = com.google.firebase.ai.type.ImagenImagePlacement.CENTER);
708712
method public java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions, com.google.firebase.ai.type.ImagenImagePlacement newPosition = com.google.firebase.ai.type.ImagenImagePlacement.CENTER, double dilation = 0.01);
709713
}

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,27 @@ internal constructor(maskConfig: ImagenMaskConfig, image: ImagenInlineImage? = n
112112
ImagenReferenceImage(maskConfig = maskConfig, image = image) {
113113

114114
public companion object {
115+
/**
116+
* Generates two reference images of [ImagenRawImage] and [ImagenRawMask]. These images are
117+
* generated in this order:
118+
* * One [ImagenRawImage] containing the original image, padded out to the new dimensions with
119+
* black pixels, with the original image placed at the given placement
120+
* * One [ImagenRawMask] of the same dimensions containing white everywhere except at the
121+
* placement original image. This is the format expected by Imagen for outpainting requests.
122+
*
123+
* @param image the original image
124+
* @param newDimensions the new dimensions for outpainting. These new dimensions *must* be more
125+
* than the original image.
126+
* @param newPosition the placement of the original image within the new outpainted image.
127+
*/
128+
@JvmOverloads
129+
@JvmStatic
130+
public fun generateMaskAndPadForOutpainting(
131+
image: ImagenInlineImage,
132+
newDimensions: Dimensions,
133+
newPosition: ImagenImagePlacement = ImagenImagePlacement.CENTER,
134+
): List<ImagenReferenceImage> =
135+
generateMaskAndPadForOutpainting(image, newDimensions, newPosition, 0.01)
115136
/**
116137
* Generates two reference images of [ImagenRawImage] and [ImagenRawMask]. These images are
117138
* generated in this order:

0 commit comments

Comments
 (0)