---
url: 'https://adk.nht.io/api/@nhtio/adk/batteries/interfaces/GeneratedMediaOutput.md'
description: >-
  One piece of media a model GENERATED as turn output — the descriptor a {@link
  MediaOutputExtractorFn} returns for the adapter to persist + attach to the
  assistant {@link @nhtio/adk!Message}.
---

# Interface: GeneratedMediaOutput

Defined in: [src/batteries/llm/chat\_common/types.ts:302](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/types.ts#L302)

One piece of media a model GENERATED as turn output — the descriptor a
[MediaOutputExtractorFn](../llm/transformers_js/type-aliases/MediaOutputExtractorFn.md) returns for the adapter to persist + attach to the assistant
[@nhtio/adk!Message](../../common/classes/Message.md).

## Remarks

The LLM batteries are multimodal-IN, text-OUT by default: the tested open-weight chat checkpoints
emit only text, so no media output is produced unless a consumer wraps a media-emitting model AND
supplies an extractor. The framework contract already supports the output direction —
`Message.attachments` is symmetric across roles and `ctx.storeMediaBytes` persists generated bytes —
so this descriptor is all the adapter needs: it calls `storeMediaBytes` with `bytes`, builds a
`Media.toolGenerated({ kind, mimeType, filename, reader })` from the returned reader, and attaches it.

## Properties

| Property                                   | Type                                                | Description                                                                        | Defined in                                                                                                                                    |
| ------------------------------------------ | --------------------------------------------------- | ---------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|  `bytes`        | `Uint8Array`                                        | The generated media bytes.                                                         | [src/batteries/llm/chat\_common/types.ts:308](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/types.ts#L308) |
|  `filename?` | `string`                                            | Optional filename for the attachment; the adapter supplies a default when omitted. | [src/batteries/llm/chat\_common/types.ts:310](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/types.ts#L310) |
|  `kind`          | `"document"` | `"audio"` | `"image"` | `"video"` | Media modality (`'image'`/`'audio'`/`'video'`/`'document'`).                       | [src/batteries/llm/chat\_common/types.ts:304](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/types.ts#L304) |
|  `mimeType`  | `string`                                            | Concrete MIME type of the generated bytes (e.g. `'audio/wav'`, `'image/png'`).     | [src/batteries/llm/chat\_common/types.ts:306](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/types.ts#L306) |
