---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/generation/transformers_js/adapter/classes/TransformersJsGenerationAdapter.md
description: >-
  Media generation adapter for transformers.js's Janus (`MultiModalityCausalLM`)
  text→image model family.
---

# Class: TransformersJsGenerationAdapter

Defined in: [src/batteries/generation/transformers\_js/adapter.ts:123](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/transformers_js/adapter.ts#L123)

Media generation adapter for transformers.js's Janus (`MultiModalityCausalLM`) text→image model
family.

## Remarks

Reusable: construct once, call [TransformersJsGenerationAdapter.generate](#generate) as many times as
needed. The model + processor are resolved lazily on first use (or via [preload](#preload)) and cached
with single-flight semantics so concurrent calls share one load. [edit](#edit) always throws — see
the module remarks.

## Constructors

### Constructor

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

Defined in: [src/batteries/generation/transformers\_js/adapter.ts:146](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/transformers_js/adapter.ts#L146)

#### Parameters

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

#### Returns

`TransformersJsGenerationAdapter`

#### Throws

[@nhtio/adk/batteries!E\_INVALID\_TRANSFORMERS\_JS\_GENERATION\_OPTIONS](../../exceptions/variables/E_INVALID_TRANSFORMERS_JS_GENERATION_OPTIONS.md) when invalid.

## Methods

### edit()

```ts
edit(
   _image: unknown,
   _prompt: string,
_opts?: EditOptions): Promise<GeneratedMediaOutput[]>;
```

Defined in: [src/batteries/generation/transformers\_js/adapter.ts:326](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/transformers_js/adapter.ts#L326)

Unsupported. Janus's only generation entry point (`generate_images`) is text-conditioned; there is
no image-conditioned edit/inpaint surface in the installed `@huggingface/transformers` API.

#### Parameters

| Parameter | Type                                                             |
| --------- | ---------------------------------------------------------------- |
| `_image`  | `unknown`                                                        |
| `_prompt` | `string`                                                         |
| `_opts?`  | [`EditOptions`](../../../openai/types/interfaces/EditOptions.md) |

#### Returns

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

#### Throws

[@nhtio/adk/batteries!E\_TRANSFORMERS\_JS\_GENERATION\_UNSUPPORTED\_OPERATION](../../exceptions/variables/E_TRANSFORMERS_JS_GENERATION_UNSUPPORTED_OPERATION.md) always.

***

### generate()

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

Defined in: [src/batteries/generation/transformers\_js/adapter.ts:241](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/transformers_js/adapter.ts#L241)

Generates image(s) from a text prompt via Janus's `generate_images`.

#### Parameters

| Parameter | Type                                                                                       | Description                                                                                                             |
| --------- | ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| `prompt`  | `string`                                                                                   | The text prompt describing the desired image.                                                                           |
| `opts?`   | [`TransformersJsGenerateOptions`](../../types/interfaces/TransformersJsGenerateOptions.md) | Per-call knob overrides — see [TransformersJsGenerateOptions](../../types/interfaces/TransformersJsGenerateOptions.md). |

#### Returns

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

The generated image(s), each PNG-encoded.

#### Throws

[@nhtio/adk/batteries!E\_TRANSFORMERS\_JS\_GENERATION\_ENGINE\_ERROR](../../exceptions/variables/E_TRANSFORMERS_JS_GENERATION_ENGINE_ERROR.md) when the call fails
or returns no usable images.

***

### isAvailable()

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

Defined in: [src/batteries/generation/transformers\_js/adapter.ts:153](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/transformers_js/adapter.ts#L153)

Instance availability probe (honours an injected `isAvailable`).

#### Returns

`boolean`

***

### preload()

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

Defined in: [src/batteries/generation/transformers\_js/adapter.ts:158](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/transformers_js/adapter.ts#L158)

Eagerly loads (and caches) the model + processor so the first `generate` call is fast. Idempotent.

#### Returns

`Promise`<`void`>

***

### reset()

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

Defined in: [src/batteries/generation/transformers\_js/adapter.ts:163](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/transformers_js/adapter.ts#L163)

Drops the cached model/processor and in-flight load so the next call reloads.

#### Returns

`void`

***

### isAvailable()

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

Defined in: [src/batteries/generation/transformers\_js/adapter.ts:138](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/generation/transformers_js/adapter.ts#L138)

Whether this battery is available. transformers.js is environment-neutral (Node + browser), so
this is `true` whenever the runtime can import the peer — there is no WebGPU requirement.

#### Returns

`boolean`
