---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/generation/openai/adapter/classes/OpenAIGenerationAdapter.md
description: >-
  Media generation adapter for the OpenAI `/v1/images/generations` and
  `/v1/images/edits` wire shapes.
---

# Class: OpenAIGenerationAdapter

Defined in: [src/batteries/generation/openai/adapter.ts:63](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/openai/adapter.ts#L63)

Media generation adapter for the OpenAI `/v1/images/generations` and `/v1/images/edits` wire
shapes.

## Remarks

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

## Constructors

### Constructor

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

Defined in: [src/batteries/generation/openai/adapter.ts:80](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/openai/adapter.ts#L80)

#### Parameters

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

#### Returns

`OpenAIGenerationAdapter`

#### Throws

[@nhtio/adk/batteries/generation/openai/exceptions!E\_INVALID\_OPENAI\_GENERATION\_OPTIONS](../../exceptions/variables/E_INVALID_OPENAI_GENERATION_OPTIONS.md) when `options` does not satisfy
[@nhtio/adk/batteries/generation/openai/validation!openAIGenerationOptionsSchema](../../validation/variables/openAIGenerationOptionsSchema.md) (e.g. missing `model`).

## Methods

### edit()

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

Defined in: [src/batteries/generation/openai/adapter.ts:156](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/openai/adapter.ts#L156)

Edits one or more source images from a text prompt, optionally constrained to a masked
region.

#### 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?`   | [`OpenAIEditOptions`](../../types/interfaces/OpenAIEditOptions.md)                                                                                                      | Per-call options (`n`, `size`, `quality`, `mask`), each falling back to the adapter's configured default when omitted (`mask` has no adapter-level default). |

#### Returns

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

One [GeneratedMediaOutput](../../../../interfaces/GeneratedMediaOutput.md) per edited image.

#### Throws

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

#### Throws

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

#### Throws

[@nhtio/adk/batteries/generation/openai/exceptions!E\_OPENAI\_GENERATION\_MALFORMED\_RESPONSE](../../exceptions/variables/E_OPENAI_GENERATION_MALFORMED_RESPONSE.md) when the 2xx body is not the expected shape.

***

### generate()

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

Defined in: [src/batteries/generation/openai/adapter.ts:115](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/openai/adapter.ts#L115)

Generates one or more images from a text prompt.

#### Parameters

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

#### Returns

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

One [GeneratedMediaOutput](../../../../interfaces/GeneratedMediaOutput.md) per generated image.

#### Throws

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

#### Throws

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

#### Throws

[@nhtio/adk/batteries/generation/openai/exceptions!E\_OPENAI\_GENERATION\_MALFORMED\_RESPONSE](../../exceptions/variables/E_OPENAI_GENERATION_MALFORMED_RESPONSE.md) when the 2xx body is not the expected shape.

***

### isAvailable()

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

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

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

#### Returns

`boolean`

***

### preload()

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

Defined in: [src/batteries/generation/openai/adapter.ts:93](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/openai/adapter.ts#L93)

No-op warm-up. The OpenAI 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/openai/adapter.ts:100](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/openai/adapter.ts#L100)

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/openai/adapter.ts:71](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/openai/adapter.ts#L71)

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

#### Returns

`boolean`
