All Imagen models are deprecated and will shut down as early as June 2026. As a replacement, you can migrate your apps to use Gemini Image models (the "Nano Banana" models).
Class for Imagen model APIs.
This class provides methods for generating images using the Imagen model.
Signature:
export declare class ImagenModel extends AIModel
Extends: AIModel
Constructors
| Constructor | Modifiers | Description |
|---|---|---|
| (constructor)(ai, modelParams, requestOptions) | Constructs a new instance of the ImagenModel class. |
Properties
| Property | Modifiers | Type | Description |
|---|---|---|---|
| generationConfig | ImagenGenerationConfig | The Imagen generation configuration. | |
| requestOptions | RequestOptions | undefined | ||
| safetySettings | ImagenSafetySettings | Safety settings for filtering inappropriate content. |
Methods
| Method | Modifiers | Description |
|---|---|---|
| generateImages(prompt, singleRequestOptions) | Generates images using the Imagen model and returns them as base64-encoded strings. |
ImagenModel.(constructor)
Constructs a new instance of the ImagenModel class.
Signature:
constructor(ai: AI, modelParams: ImagenModelParams, requestOptions?: RequestOptions | undefined);
Parameters
| Parameter | Type | Description |
|---|---|---|
| ai | AI | an AI instance. |
| modelParams | ImagenModelParams | Parameters to use when making requests to Imagen. |
| requestOptions | RequestOptions | undefined | Additional options to use when making requests. |
Exceptions
If the apiKey or projectId fields are missing in your Firebase config.
ImagenModel.generationConfig
The Imagen generation configuration.
Signature:
generationConfig?: ImagenGenerationConfig;
ImagenModel.requestOptions
Signature:
requestOptions?: RequestOptions | undefined;
ImagenModel.safetySettings
Safety settings for filtering inappropriate content.
Signature:
safetySettings?: ImagenSafetySettings;
ImagenModel.generateImages()
Generates images using the Imagen model and returns them as base64-encoded strings.
If the prompt was not blocked, but one or more of the generated images were filtered, the returned object will have a filteredReason property. If all images are filtered, the images array will be empty.
Signature:
generateImages(prompt: string, singleRequestOptions?: SingleRequestOptions): Promise<ImagenGenerationResponse<ImagenInlineImage>>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| prompt | string | A text prompt describing the image(s) to generate. |
| singleRequestOptions | SingleRequestOptions |
Returns:
Promise<ImagenGenerationResponse<ImagenInlineImage>>
A promise that resolves to an ImagenGenerationResponse object containing the generated images.
Exceptions
If the request to generate images fails. This happens if the prompt is blocked.
Example
const imagen = new ImagenModel(
ai,
{
model: 'imagen-3.0-generate-002'
}
);
const response = await imagen.generateImages('A photo of a cat');
if (response.images.length > 0) {
console.log(response.images[0].bytesBase64Encoded);
}