---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/generation/gemini/adapter/classes/GeminiGenerationAdapter.md
description: >-
  Media generation adapter for the native Gemini `generativelanguage`
  `generateContent` wire shape.
---

# Class: GeminiGenerationAdapter

Defined in: [src/batteries/generation/gemini/adapter.ts:68](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/gemini/adapter.ts#L68)

Media generation adapter for the native Gemini `generativelanguage` `generateContent` wire
shape.

## Remarks

Reusable: construct once, call [GeminiGenerationAdapter.generate](#generate) /
[GeminiGenerationAdapter.edit](#edit) as many times as needed.

## Constructors

### Constructor

```ts
new GeminiGenerationAdapter(options: unknown): GeminiGenerationAdapter;
```

Defined in: [src/batteries/generation/gemini/adapter.ts:85](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/gemini/adapter.ts#L85)

#### Parameters

| Parameter | Type      | Description                             |
| --------- | --------- | --------------------------------------- |
| `options` | `unknown` | Constructor options. Validated eagerly. |

#### Returns

`GeminiGenerationAdapter`

#### Throws

[@nhtio/adk/batteries/generation/gemini/exceptions!E\_INVALID\_GEMINI\_GENERATION\_OPTIONS](../../exceptions/variables/E_INVALID_GEMINI_GENERATION_OPTIONS.md) when `options` does not satisfy
[@nhtio/adk/batteries/generation/gemini/validation!geminiGenerationOptionsSchema](../../validation/variables/geminiGenerationOptionsSchema.md) (e.g. missing `model`).

## Methods

### edit()

```ts
edit(
   inputs:
  | GenerationImageInput
  | GenerationImageInput[],
   prompt: string,
opts?: GeminiEditOptions): Promise<GeneratedMediaOutput[]>;
```

Defined in: [src/batteries/generation/gemini/adapter.ts:141](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/gemini/adapter.ts#L141)

Edits one or more source images from a text prompt.

#### Parameters

| Parameter | Type                                                                                                                                                                    | Description                                                                                                              |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| `inputs`  | | [`GenerationImageInput`](../../../_shared/type-aliases/GenerationImageInput.md) | [`GenerationImageInput`](../../../_shared/type-aliases/GenerationImageInput.md)\[] | One image, or several images, in any [GenerationImageInput](../../../_shared/type-aliases/GenerationImageInput.md) form. |
| `prompt`  | `string`                                                                                                                                                                | The text prompt describing the desired edit.                                                                             |
| `opts?`   | [`GeminiEditOptions`](../../types/interfaces/GeminiEditOptions.md)                                                                                                      | Per-call options (`n`, `aspectRatio`), each falling back to the adapter's configured default when applicable.            |

#### Returns

`Promise`<[`GeneratedMediaOutput`](../../../../interfaces/GeneratedMediaOutput.md)\[]>

One [GeneratedMediaOutput](../../../../interfaces/GeneratedMediaOutput.md) per edited image part in the response.

#### Throws

[@nhtio/adk/batteries/generation/gemini/exceptions!E\_GEMINI\_GENERATION\_HTTP\_ERROR](../../exceptions/variables/E_GEMINI_GENERATION_HTTP_ERROR.md) on a non-2xx response or transport failure.

#### Throws

[@nhtio/adk/batteries/generation/gemini/exceptions!E\_GEMINI\_GENERATION\_REQUEST\_TIMEOUT](../../exceptions/variables/E_GEMINI_GENERATION_REQUEST_TIMEOUT.md) when the handshake exceeds `requestTimeoutMs`.

#### Throws

[@nhtio/adk/batteries/generation/gemini/exceptions!E\_GEMINI\_GENERATION\_MALFORMED\_RESPONSE](../../exceptions/variables/E_GEMINI_GENERATION_MALFORMED_RESPONSE.md) when the 2xx body is not the expected shape, or contains zero image parts.

***

### generate()

```ts
generate(prompt: string, opts?: GeminiGenerateOptions): Promise<GeneratedMediaOutput[]>;
```

Defined in: [src/batteries/generation/gemini/adapter.ts:120](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/gemini/adapter.ts#L120)

Generates one or more images from a text prompt.

#### Parameters

| Parameter | Type                                                                       | Description                                                                                                   |
| --------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `prompt`  | `string`                                                                   | The text prompt describing the desired image(s).                                                              |
| `opts?`   | [`GeminiGenerateOptions`](../../types/interfaces/GeminiGenerateOptions.md) | Per-call options (`n`, `aspectRatio`), each falling back to the adapter's configured default when applicable. |

#### Returns

`Promise`<[`GeneratedMediaOutput`](../../../../interfaces/GeneratedMediaOutput.md)\[]>

One [GeneratedMediaOutput](../../../../interfaces/GeneratedMediaOutput.md) per generated image part in the response.

#### Throws

[@nhtio/adk/batteries/generation/gemini/exceptions!E\_GEMINI\_GENERATION\_HTTP\_ERROR](../../exceptions/variables/E_GEMINI_GENERATION_HTTP_ERROR.md) on a non-2xx response or transport failure.

#### Throws

[@nhtio/adk/batteries/generation/gemini/exceptions!E\_GEMINI\_GENERATION\_REQUEST\_TIMEOUT](../../exceptions/variables/E_GEMINI_GENERATION_REQUEST_TIMEOUT.md) when the handshake exceeds `requestTimeoutMs`.

#### Throws

[@nhtio/adk/batteries/generation/gemini/exceptions!E\_GEMINI\_GENERATION\_MALFORMED\_RESPONSE](../../exceptions/variables/E_GEMINI_GENERATION_MALFORMED_RESPONSE.md) when the 2xx body is not the expected shape, or contains zero image parts.

***

### isAvailable()

```ts
isAvailable(): boolean;
```

Defined in: [src/batteries/generation/gemini/adapter.ts:90](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/gemini/adapter.ts#L90)

See [GeminiGenerationAdapter.isAvailable](#isavailable-1). Instance alias for surface-parity.

#### Returns

`boolean`

***

### preload()

```ts
preload(): Promise<void>;
```

Defined in: [src/batteries/generation/gemini/adapter.ts:98](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/gemini/adapter.ts#L98)

No-op warm-up. The Gemini battery has no engine to preload; present for surface-parity with
on-device generation batteries so callers can treat them interchangeably.

#### Returns

`Promise`<`void`>

***

### reset()

```ts
reset(): void;
```

Defined in: [src/batteries/generation/gemini/adapter.ts:105](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/gemini/adapter.ts#L105)

No-op state reset. Present for surface-parity with on-device generation batteries.

#### Returns

`void`

***

### isAvailable()

```ts
static isAvailable(): boolean;
```

Defined in: [src/batteries/generation/gemini/adapter.ts:76](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/gemini/adapter.ts#L76)

Whether this battery can run in the current environment. For the HTTP-backed Gemini battery
this is always `true` (a `fetch` is always resolvable); present for surface-parity with
WebGPU-gated batteries.

#### Returns

`boolean`
