Skip to content
2 min read · 425 words

Class: GeminiGenerationAdapter

Defined in: src/batteries/generation/gemini/adapter.ts:68

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

Remarks

Reusable: construct once, call GeminiGenerationAdapter.generate / GeminiGenerationAdapter.edit as many times as needed.

Constructors

Constructor

ts
new GeminiGenerationAdapter(options: unknown): GeminiGenerationAdapter;

Defined in: src/batteries/generation/gemini/adapter.ts:85

Parameters

ParameterTypeDescription
optionsunknownConstructor options. Validated eagerly.

Returns

GeminiGenerationAdapter

Throws

@nhtio/adk/batteries/generation/gemini/exceptions!E_INVALID_GEMINI_GENERATION_OPTIONS when options does not satisfy @nhtio/adk/batteries/generation/gemini/validation!geminiGenerationOptionsSchema (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

Edits one or more source images from a text prompt.

Parameters

ParameterTypeDescription
inputs| GenerationImageInput | GenerationImageInput[]One image, or several images, in any GenerationImageInput form.
promptstringThe text prompt describing the desired edit.
opts?GeminiEditOptionsPer-call options (n, aspectRatio), each falling back to the adapter's configured default when applicable.

Returns

Promise<GeneratedMediaOutput[]>

One GeneratedMediaOutput per edited image part in the response.

Throws

@nhtio/adk/batteries/generation/gemini/exceptions!E_GEMINI_GENERATION_HTTP_ERROR on a non-2xx response or transport failure.

Throws

@nhtio/adk/batteries/generation/gemini/exceptions!E_GEMINI_GENERATION_REQUEST_TIMEOUT when the handshake exceeds requestTimeoutMs.

Throws

@nhtio/adk/batteries/generation/gemini/exceptions!E_GEMINI_GENERATION_MALFORMED_RESPONSE 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

Generates one or more images from a text prompt.

Parameters

ParameterTypeDescription
promptstringThe text prompt describing the desired image(s).
opts?GeminiGenerateOptionsPer-call options (n, aspectRatio), each falling back to the adapter's configured default when applicable.

Returns

Promise<GeneratedMediaOutput[]>

One GeneratedMediaOutput per generated image part in the response.

Throws

@nhtio/adk/batteries/generation/gemini/exceptions!E_GEMINI_GENERATION_HTTP_ERROR on a non-2xx response or transport failure.

Throws

@nhtio/adk/batteries/generation/gemini/exceptions!E_GEMINI_GENERATION_REQUEST_TIMEOUT when the handshake exceeds requestTimeoutMs.

Throws

@nhtio/adk/batteries/generation/gemini/exceptions!E_GEMINI_GENERATION_MALFORMED_RESPONSE 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

See GeminiGenerationAdapter.isAvailable. Instance alias for surface-parity.

Returns

boolean


preload()

ts
preload(): Promise<void>;

Defined in: src/batteries/generation/gemini/adapter.ts:98

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

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

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