Package com.google.genai
Class AsyncModels
java.lang.Object
com.google.genai.AsyncModels
Async module of
Models
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncomputeTokens
(String model, String text, ComputeTokensConfig config) Asynchronously computes tokens given a GenAI model and a text string.computeTokens
(String model, List<Content> contents, ComputeTokensConfig config) Asynchronously computes tokens given a GenAI model and a list of content.countTokens
(String model, String text, CountTokensConfig config) Asynchronously counts tokens given a GenAI model and a text string.countTokens
(String model, List<Content> contents, CountTokensConfig config) Asynchronously counts tokens given a GenAI model and a list of content.delete
(String model, DeleteModelConfig config) Asynchronously fetches information about a model by name.editImage
(String model, String prompt, List<ReferenceImage> referenceImages, EditImageConfig config) Asynchronously edits an image given a GenAI model, a prompt, and a list of reference images.embedContent
(String model, String text, EmbedContentConfig config) Asynchronously embeds content given a GenAI model and a text string.embedContent
(String model, List<String> texts, EmbedContentConfig config) Asynchronously embeds content given a GenAI model and a list of text strings.generateContent
(String model, Content content, GenerateContentConfig config) Asynchronously generates content given a GenAI model and a content object.generateContent
(String model, String text, GenerateContentConfig config) Asynchronously generates content given a GenAI model and a text string.generateContent
(String model, List<Content> contents, GenerateContentConfig config) Asynchronously generates content given a GenAI model and a list of content.generateContentStream
(String model, Content content, GenerateContentConfig config) Asynchronously generates content with streaming support given a GenAI model and a content object.generateContentStream
(String model, String text, GenerateContentConfig config) Asynchronously generates content with streaming support given a GenAI model and a text string.generateContentStream
(String model, List<Content> contents, GenerateContentConfig config) Asynchronously generates content with streaming support given a GenAI model and a list of content.generateImages
(String model, String prompt, GenerateImagesConfig config) Asynchronously generates images given a GenAI model and a prompt.generateVideos
(String model, GenerateVideosSource source, GenerateVideosConfig config) Asynchronously generates videos given a GenAI model, and a GenerateVideosSource source.generateVideos
(String model, String prompt, Image image, GenerateVideosConfig config) Asynchronously generates videos given a GenAI model, and an input (text, image).generateVideos
(String model, String prompt, Image image, Video video, GenerateVideosConfig config) Asynchronously generates videos given a GenAI model, and an input (text, image, or video).get
(String model, GetModelConfig config) Asynchronously fetches information about a model by name.list
(ListModelsConfig config) Asynchronously makes an API request to list the available models.recontextImage
(String model, RecontextImageSource source, RecontextImageConfig config) Asynchronously recontextualizes an image.segmentImage
(String model, SegmentImageSource source, SegmentImageConfig config) Asynchronously segments an image, creating a mask of a specified area.update
(String model, UpdateModelConfig config) Asynchronously updates a tuned model by its name.upscaleImage
(String model, Image image, String upscaleFactor, UpscaleImageConfig config) Asynchronously upscales an image given a GenAI model and an image and an upscale factor.
-
Constructor Details
-
AsyncModels
public AsyncModels(com.google.genai.ApiClient apiClient)
-
-
Method Details
-
recontextImage
public CompletableFuture<RecontextImageResponse> recontextImage(String model, RecontextImageSource source, RecontextImageConfig config) Asynchronously recontextualizes an image.There are two types of recontextualization currently supported: 1) Imagen Product Recontext - Generate images of products in new scenes and contexts. 2) Virtual Try-On: Generate images of persons modeling fashion products.
- Parameters:
model
- the name of the GenAI model to use for image recontextsource
- aRecontextImageSource
An object containing the source inputs (prompt, personImage, productImages) for image recontext. prompt is optional for product recontext and disallowed for virtual try-on. personImage is required for virtual try-on, disallowed for product recontext. productImages is required for both product recontext and virtual try-on. Only one product image is supported for virtual try-on, and up to 3 product images (different angles of the same product) are supported for product recontext.config
- aRecontextImageConfig
instance that specifies the optional configurations- Returns:
- a
RecontextImageResponse
instance that contains the generated images.
-
segmentImage
public CompletableFuture<SegmentImageResponse> segmentImage(String model, SegmentImageSource source, SegmentImageConfig config) Asynchronously segments an image, creating a mask of a specified area.- Parameters:
model
- the name of the GenAI model to use for image segmentationsource
- aSegmentImageSource
An object containing the source inputs (prompt, image, scribbleImmage) for image segmentation. The prompt is required for prompt mode and semantic mode, disallowed for other modes. scribbleImage is required for the interactive mode, disallowed for other modes.config
- aSegmentImageConfig
instance that specifies the optional configurations- Returns:
- a
SegmentImageResponse
instance that contains the generated mask.
-
get
Asynchronously fetches information about a model by name. -
update
Asynchronously updates a tuned model by its name.- Parameters:
model
- The name of the tuned model to updateconfig
- AUpdateModelConfig
instance that specifies the optional configurations- Returns:
- A
Model
instance
-
delete
Asynchronously fetches information about a model by name. -
countTokens
public CompletableFuture<CountTokensResponse> countTokens(String model, List<Content> contents, CountTokensConfig config) Asynchronously counts tokens given a GenAI model and a list of content.- Parameters:
model
- the name of the GenAI model to use.contents
- aList<Content>
to send to count tokens for.config
- aCountTokensConfig
instance that specifies the optional configurations- Returns:
- a
CountTokensResponse
instance that contains tokens count.
-
computeTokens
public CompletableFuture<ComputeTokensResponse> computeTokens(String model, List<Content> contents, ComputeTokensConfig config) Asynchronously computes tokens given a GenAI model and a list of content.- Parameters:
model
- the name of the GenAI model to use.contents
- aList<Content>
to send to compute tokens for.config
- aComputeTokensConfig
instance that specifies the optional configurations- Returns:
- a
ComputeTokensResponse
instance that contains tokens results.
-
countTokens
public CompletableFuture<CountTokensResponse> countTokens(String model, String text, CountTokensConfig config) Asynchronously counts tokens given a GenAI model and a text string.- Parameters:
model
- the name of the GenAI model to use.text
- the text string to send to count tokens for.config
- aCountTokensConfig
instance that specifies the optional configurations- Returns:
- a
CountTokensResponse
instance that contains tokens count.
-
computeTokens
public CompletableFuture<ComputeTokensResponse> computeTokens(String model, String text, ComputeTokensConfig config) Asynchronously computes tokens given a GenAI model and a text string.- Parameters:
model
- the name of the GenAI model to use.text
- the text string to send to count tokens for.config
- aComputeTokensConfig
instance that specifies the optional configurations- Returns:
- a
ComputeTokensResponse
instance that contains tokens results.
-
generateContent
public CompletableFuture<GenerateContentResponse> generateContent(String model, List<Content> contents, GenerateContentConfig config) Asynchronously generates content given a GenAI model and a list of content.- Parameters:
model
- the name of the GenAI model to use for generationcontents
- aList<Content>
to send to the generative modelconfig
- aGenerateContentConfig
instance that specifies the optional configurations- Returns:
- a
GenerateContentResponse
instance that contains response contents and other metadata
-
generateContent
public CompletableFuture<GenerateContentResponse> generateContent(String model, Content content, GenerateContentConfig config) Asynchronously generates content given a GenAI model and a content object.- Parameters:
model
- the name of the GenAI model to use for generationcontent
- aContent
to send to the generative modelconfig
- aGenerateContentConfig
instance that specifies the optional configurations- Returns:
- a
GenerateContentResponse
instance that contains response contents and other metadata
-
generateContent
public CompletableFuture<GenerateContentResponse> generateContent(String model, String text, GenerateContentConfig config) Asynchronously generates content given a GenAI model and a text string.- Parameters:
model
- the name of the GenAI model to use for generationtext
- the text string to send to the generative modelconfig
- aGenerateContentConfig
instance that specifies the optional configurations- Returns:
- a
GenerateContentResponse
instance that contains response contents and other metadata
-
generateContentStream
public CompletableFuture<ResponseStream<GenerateContentResponse>> generateContentStream(String model, List<Content> contents, GenerateContentConfig config) Asynchronously generates content with streaming support given a GenAI model and a list of content.- Parameters:
model
- the name of the GenAI model to use for generationcontents
- aList<Content>
to send to the generative modelconfig
- aGenerateContentConfig
instance that specifies the optional configurations- Returns:
- a
GenerateContentResponse
instance that contains response contents and other metadata
-
generateContentStream
public CompletableFuture<ResponseStream<GenerateContentResponse>> generateContentStream(String model, Content content, GenerateContentConfig config) Asynchronously generates content with streaming support given a GenAI model and a content object.- Parameters:
model
- the name of the GenAI model to use for generationcontent
- aContent
to send to the generative modelconfig
- aGenerateContentConfig
instance that specifies the optional configurations- Returns:
- a
GenerateContentResponse
instance that contains response contents and other metadata
-
generateContentStream
public CompletableFuture<ResponseStream<GenerateContentResponse>> generateContentStream(String model, String text, GenerateContentConfig config) Asynchronously generates content with streaming support given a GenAI model and a text string.- Parameters:
model
- the name of the GenAI model to use for generationtext
- the text string to send to the generative modelconfig
- aGenerateContentConfig
instance that specifies the optional configurations- Returns:
- a
GenerateContentResponse
instance that contains response contents and other metadata
-
generateImages
public CompletableFuture<GenerateImagesResponse> generateImages(String model, String prompt, GenerateImagesConfig config) Asynchronously generates images given a GenAI model and a prompt.- Parameters:
model
- the name of the GenAI model to use for generating imagesprompt
- the prompt to generate imagesconfig
- aGenerateImagesConfig
instance that specifies the optional configurations- Returns:
- a
GenerateImagesResponse
instance that contains the generated images.
-
editImage
public CompletableFuture<EditImageResponse> editImage(String model, String prompt, List<ReferenceImage> referenceImages, EditImageConfig config) Asynchronously edits an image given a GenAI model, a prompt, and a list of reference images.- Parameters:
model
- the name of the GenAI model to use for editing capabilitiesprompt
- the prompt to edit the imagereferenceImages
- aList<ReferenceImage>
to send to use for editing. The 5 types of reference images are:RawReferenceImage
,MaskReferenceImage
,ControlReferenceImage
,StyleReferenceImage
,SubjectReferenceImage
,config
- aEditImageConfig
instance that specifies the optional configurations- Returns:
- a
EditImageResponse
instance that contains the edited image.
-
upscaleImage
public CompletableFuture<UpscaleImageResponse> upscaleImage(String model, Image image, String upscaleFactor, UpscaleImageConfig config) Asynchronously upscales an image given a GenAI model and an image and an upscale factor.- Parameters:
model
- the name of the GenAI model to use for upscalingimage
- aImage
to send to the generative modelupscaleFactor
- the factor to upscale the imageconfig
- aUpscaleImageConfig
instance that specifies the optional configurations- Returns:
- a
UpscaleImageResponse
instance that contains the upscaled image.
-
generateVideos
public CompletableFuture<GenerateVideosOperation> generateVideos(String model, GenerateVideosSource source, GenerateVideosConfig config) Asynchronously generates videos given a GenAI model, and a GenerateVideosSource source.This method is experimental.
- Parameters:
model
- the name of the GenAI model to use for generating videossource
- aGenerateVideosSource
that specifies the inputs (prompt, image, and/or video) to generate videos.config
- aGenerateVideosConfig
instance that specifies the optional configurations- Returns:
- a
GenerateVideosOperation
instance that contains the generated videos.
-
generateVideos
public CompletableFuture<GenerateVideosOperation> generateVideos(String model, String prompt, Image image, Video video, GenerateVideosConfig config) Asynchronously generates videos given a GenAI model, and an input (text, image, or video).This method is experimental.
- Parameters:
model
- the name of the GenAI model to use for generating videosprompt
- the text prompt for generating the videos. Optional for image to video and video extension use cases.image
- the input image for generating the videos. Optional if prompt is provided.video
- the input video for video extension use cases. Optional if prompt or image is provided.config
- aGenerateVideosConfig
instance that specifies the optional configurations- Returns:
- a
GenerateVideosOperation
instance that contains the generated videos.
-
generateVideos
public CompletableFuture<GenerateVideosOperation> generateVideos(String model, String prompt, Image image, GenerateVideosConfig config) Asynchronously generates videos given a GenAI model, and an input (text, image).This method is experimental, and kept for backward compatibility.
- Parameters:
model
- the name of the GenAI model to use for generating videosprompt
- the text prompt for generating the videos. Optional for image to video use cases.image
- the input image for generating the videos. Optional if prompt is provided.config
- aGenerateVideosConfig
instance that specifies the optional configurations- Returns:
- a
GenerateVideosOperation
instance that contains the generated videos.
-
embedContent
public CompletableFuture<EmbedContentResponse> embedContent(String model, String text, EmbedContentConfig config) Asynchronously embeds content given a GenAI model and a text string.- Parameters:
model
- the name of the GenAI model to use for embeddingtext
- the text string to send to the embedding model- Returns:
- a
EmbedContentResponse
instance that contains the embedding.
-
embedContent
public CompletableFuture<EmbedContentResponse> embedContent(String model, List<String> texts, EmbedContentConfig config) Asynchronously embeds content given a GenAI model and a list of text strings.- Parameters:
model
- the name of the GenAI model to use for embeddingtexts
- the list of text strings to send to the embedding model- Returns:
- a
EmbedContentResponse
instance that contains the embedding.
-
list
Asynchronously makes an API request to list the available models.- Parameters:
config
- AListModelsConfig
for configuring the list request.- Returns:
- A CompletableFuture that resolves to a
AsyncPager
. The AsyncPager has a `forEach` method that can be used to asynchronously process items in the page and automatically query the next page once the current page is exhausted.
-