Package com.google.genai
Class Models
java.lang.Object
com.google.genai.Models
Provides methods for interacting with the available GenAI models. Instantiating this class is not
required. After instantiating a
Client, access methods through
`client.models.methodName(...)` directly.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncomputeTokens(String model, String text, ComputeTokensConfig config) Computes tokens given a GenAI model and a text string.computeTokens(String model, List<Content> contents, ComputeTokensConfig config) Computes tokens given a GenAI model and a list of content.countTokens(String model, String text, CountTokensConfig config) Counts tokens given a GenAI model and a text string.countTokens(String model, List<Content> contents, CountTokensConfig config) Counts tokens given a GenAI model and a list of content.delete(String model, DeleteModelConfig config) Fetches information about a model by name.editImage(String model, String prompt, List<ReferenceImage> referenceImages, EditImageConfig config) Edits an image given a GenAI model, a prompt, and a list of reference images.embedContent(String model, String text, EmbedContentConfig config) Embeds content given a GenAI model and a text string.embedContent(String model, List<String> texts, EmbedContentConfig config) Embeds content given a GenAI model and a list of text strings.generateContent(String model, Content content, GenerateContentConfig config) Generates content given a GenAI model and a content object.generateContent(String model, String text, GenerateContentConfig config) Generates content given a GenAI model and a text string.generateContent(String model, List<Content> contents, GenerateContentConfig config) Generates content given a GenAI model and a list of content.generateContentStream(String model, Content content, GenerateContentConfig config) Generates content with streaming support given a GenAI model and a content object.generateContentStream(String model, String text, GenerateContentConfig config) Generates content with streaming support given a GenAI model and a text string.generateContentStream(String model, List<Content> contents, GenerateContentConfig config) Generates content with streaming support given a GenAI model and a list of content.generateImages(String model, String prompt, GenerateImagesConfig config) Generates images given a GenAI model and a prompt.generateVideos(String model, GenerateVideosSource source, GenerateVideosConfig config) Generates videos given a GenAI model, and a GenerateVideosSource source.generateVideos(String model, String prompt, Image image, GenerateVideosConfig config) Generates videos given a GenAI model, and an input (text, image).generateVideos(String model, String prompt, Image image, Video video, GenerateVideosConfig config) Generates videos given a GenAI model, and an input (text, image, or video).get(String model, GetModelConfig config) Fetches information about a model by name.list(ListModelsConfig config) Makes an API request to list the available models.recontextImage(String model, RecontextImageSource source, RecontextImageConfig config) Recontextualizes an image.segmentImage(String model, SegmentImageSource source, SegmentImageConfig config) Segments an image, creating a mask of a specified area.update(String model, UpdateModelConfig config) Updates a tuned model by its name.upscaleImage(String model, Image image, String upscaleFactor, UpscaleImageConfig config) Upscales an image given a GenAI model and an image and an upscale factor.
-
Constructor Details
-
Models
public Models(com.google.genai.ApiClient apiClient)
-
-
Method Details
-
recontextImage
public RecontextImageResponse recontextImage(String model, RecontextImageSource source, RecontextImageConfig config) 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- aRecontextImageSourceAn 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- aRecontextImageConfiginstance that specifies the optional configurations- Returns:
- a
RecontextImageResponseinstance that contains the generated images.
-
segmentImage
public SegmentImageResponse segmentImage(String model, SegmentImageSource source, SegmentImageConfig config) Segments an image, creating a mask of a specified area.- Parameters:
model- the name of the GenAI model to use for image segmentationsource- aSegmentImageSourceAn 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- aSegmentImageConfiginstance that specifies the optional configurations- Returns:
- a
SegmentImageResponseinstance that contains the generated mask.
-
get
Fetches information about a model by name. -
update
Updates a tuned model by its name.- Parameters:
model- The name of the tuned model to updateconfig- AUpdateModelConfiginstance that specifies the optional configurations- Returns:
- A
Modelinstance
-
delete
Fetches information about a model by name. -
countTokens
public CountTokensResponse countTokens(String model, List<Content> contents, CountTokensConfig config) 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- aCountTokensConfiginstance that specifies the optional configurations- Returns:
- a
CountTokensResponseinstance that contains tokens count.
-
computeTokens
public ComputeTokensResponse computeTokens(String model, List<Content> contents, ComputeTokensConfig config) 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- aComputeTokensConfiginstance that specifies the optional configurations- Returns:
- a
ComputeTokensResponseinstance that contains tokens results.
-
generateContent
public GenerateContentResponse generateContent(String model, List<Content> contents, GenerateContentConfig config) 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- aGenerateContentConfiginstance that specifies the optional configurations- Returns:
- a
GenerateContentResponseinstance that contains response contents and other metadata
-
generateContent
public GenerateContentResponse generateContent(String model, Content content, GenerateContentConfig config) Generates content given a GenAI model and a content object.- Parameters:
model- the name of the GenAI model to use for generationcontent- aContentto send to the generative modelconfig- aGenerateContentConfiginstance that specifies the optional configurations- Returns:
- a
GenerateContentResponseinstance that contains response contents and other metadata
-
generateContent
public GenerateContentResponse generateContent(String model, String text, GenerateContentConfig config) 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- aGenerateContentConfiginstance that specifies the optional configurations- Returns:
- a
GenerateContentResponseinstance that contains response contents and other metadata
-
generateContentStream
public ResponseStream<GenerateContentResponse> generateContentStream(String model, List<Content> contents, GenerateContentConfig config) 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- aGenerateContentConfiginstance that specifies the optional configurations- Returns:
- a
GenerateContentResponseinstance that contains response contents and other metadata
-
generateContentStream
public ResponseStream<GenerateContentResponse> generateContentStream(String model, Content content, GenerateContentConfig config) 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- aContentto send to the generative modelconfig- aGenerateContentConfiginstance that specifies the optional configurations- Returns:
- a
GenerateContentResponseinstance that contains response contents and other metadata
-
generateContentStream
public ResponseStream<GenerateContentResponse> generateContentStream(String model, String text, GenerateContentConfig config) 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- aGenerateContentConfiginstance that specifies the optional configurations- Returns:
- a
GenerateContentResponseinstance that contains response contents and other metadata
-
countTokens
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- aCountTokensConfiginstance that specifies the optional configurations- Returns:
- a
CountTokensResponseinstance that contains tokens count.
-
computeTokens
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 compute tokens for.config- aComputeTokensConfiginstance that specifies the optional configurations- Returns:
- a
ComputeTokensResponseinstance that contains tokens results.
-
generateImages
public GenerateImagesResponse generateImages(String model, String prompt, GenerateImagesConfig config) 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- aGenerateImagesConfiginstance that specifies the optional configurations- Returns:
- a
GenerateImagesResponseinstance that contains the generated images.
-
editImage
public EditImageResponse editImage(String model, String prompt, List<ReferenceImage> referenceImages, EditImageConfig config) 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 6 types of reference images are:RawReferenceImage,MaskReferenceImage,ControlReferenceImage,StyleReferenceImage,SubjectReferenceImage,ContentReferenceImageconfig- aEditImageConfiginstance that specifies the optional configurations- Returns:
- a
EditImageResponseinstance that contains the edited image.
-
upscaleImage
public UpscaleImageResponse upscaleImage(String model, Image image, String upscaleFactor, UpscaleImageConfig config) 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- aImageto send to the generative modelupscaleFactor- the factor to upscale the imageconfig- aUpscaleImageConfiginstance that specifies the optional configurations- Returns:
- a
UpscaleImageResponseinstance that contains the upscaled image.
-
generateVideos
public GenerateVideosOperation generateVideos(String model, GenerateVideosSource source, GenerateVideosConfig config) 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- aGenerateVideosSourcethat specifies the inputs (prompt, image, and/or video) to generate videos.config- aGenerateVideosConfiginstance that specifies the optional configurations- Returns:
- a
GenerateVideosOperationinstance that contains the generated videos.
-
generateVideos
public GenerateVideosOperation generateVideos(String model, String prompt, Image image, Video video, GenerateVideosConfig config) 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- aGenerateVideosConfiginstance that specifies the optional configurations- Returns:
- a
GenerateVideosOperationinstance that contains the generated videos.
-
generateVideos
public GenerateVideosOperation generateVideos(String model, String prompt, Image image, GenerateVideosConfig config) 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- aGenerateVideosConfiginstance that specifies the optional configurations- Returns:
- a
GenerateVideosOperationinstance that contains the generated videos.
-
embedContent
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
EmbedContentResponseinstance that contains the embedding.
-
embedContent
public EmbedContentResponse embedContent(String model, List<String> texts, EmbedContentConfig config) 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
EmbedContentResponseinstance that contains the embedding.
-
list
Makes an API request to list the available models.If `queryBase` is set to True in the
ListModelsConfigor not set (default), the API will return all available base models. If set to False, it will return all tuned models.- Parameters:
config- AListModelsConfigfor configuring the list request.- Returns:
- A
Pagerobject that contains the list of models. The pager is an iterable and automatically queries the next page once the current page is exhausted.
-