# `Gemini.Types.Generation.Image.ImageGenerationConfig`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/generation/image.ex#L83)

Configuration for image generation requests.

## Fields

- `number_of_images` - Number of images to generate (1-8, default: 1)
- `aspect_ratio` - Image aspect ratio (default: "1:1")
- `safety_filter_level` - Content safety filtering (default: :block_some)
- `person_generation` - Person generation policy (default: :allow_none; legacy :dont_allow supported)
- `output_mime_type` - Output format, "image/png" or "image/jpeg" (default: "image/png")
- `output_compression_quality` - JPEG quality 0-100 (default: 80, only for JPEG)
- `negative_prompt` - Text describing what to avoid in the image
- `seed` - Random seed for reproducibility
- `guidance_scale` - How closely to follow the prompt (1.0-20.0, default: ~7.0)
- `language` - Language code for prompt interpretation (e.g., "en", "es")
- `add_watermark` - Whether to add a watermark (default: true)

# `t`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/generation/image.ex#L83)

```elixir
@type t() :: %Gemini.Types.Generation.Image.ImageGenerationConfig{
  add_watermark: boolean(),
  aspect_ratio: String.t(),
  guidance_scale: float() | nil,
  language: String.t() | nil,
  negative_prompt: String.t() | nil,
  number_of_images: pos_integer(),
  output_compression_quality: integer() | nil,
  output_mime_type: String.t(),
  person_generation: :allow_adult | :allow_all | :allow_none | :dont_allow,
  safety_filter_level: :block_most | :block_some | :block_few | :block_none,
  seed: integer() | nil
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
