Skip to main content

Overview

GoogleImageGenService provides high-quality image generation capabilities using Google’s Imagen models. It supports generating multiple images from text prompts with various customization options and advanced prompt understanding for photorealistic and artistic image creation.

Installation

To use Google Imagen services, install the required dependencies:
pip install "pipecat-ai[google]"

Prerequisites

Google Cloud Setup

Before using Google Imagen services, you need:
  1. Google Cloud Account: Set up at Google Cloud Console
  2. API Key: Generate a Google API key with Vertex AI access
  3. Project Configuration: Enable Vertex AI API for your project
  4. Model Access: Ensure access to Imagen generation models

Required Environment Variables

  • GOOGLE_API_KEY: Your Google API key for authentication

Configuration

api_key
str
required
Google AI API key for authentication.
params
InputParams
default:"None"
deprecated
Configuration parameters for image generation. Deprecated in v0.0.105. Use settings=GoogleImageGenService.Settings(...) instead.
http_options
Any
default:"None"
HTTP options for the Google AI client.
settings
GoogleImageGenService.Settings
default:"None"
Runtime-configurable generation settings. See Settings below.

Settings

Runtime-configurable settings passed via the settings constructor argument using GoogleImageGenService.Settings(...). See Service Settings for details.
ParameterTypeDefaultDescription
modelstrNOT_GIVENGoogle Imagen model identifier. (Inherited from base settings.)
number_of_imagesintNOT_GIVENNumber of images to generate (1-8).
negative_promptstr | NoneNOT_GIVENOptional negative prompt to guide what not to include in the generated image.
NOT_GIVEN values are omitted from the request, letting the service use its own defaults ("imagen-3.0-generate-002" for model, 1 for number_of_images). Only parameters that are explicitly set are included.

Usage

Basic Setup

from pipecat.services.google import GoogleImageGenService

image_gen = GoogleImageGenService(
    api_key=os.getenv("GOOGLE_API_KEY"),
)

With Settings

image_gen = GoogleImageGenService(
    api_key=os.getenv("GOOGLE_API_KEY"),
    settings=GoogleImageGenService.Settings(
        model="imagen-3.0-generate-002",
        number_of_images=2,
        negative_prompt="blurry, low quality",
    ),
)
The InputParams / params= pattern is deprecated as of v0.0.105. Use Settings / settings= instead. See the Service Settings guide for migration details.

Notes

  • No HTTP session needed: Unlike OpenAI and fal, Google returns image data directly in the API response, so no separate HTTP session is required for downloading.
  • Negative prompts: Use the negative_prompt parameter to specify what should not appear in the generated image, giving you more control over the output.
  • Metrics support: Google Imagen supports TTFB metrics tracking.