---
url: 'https://adk.nht.io/api/@nhtio/adk/common/interfaces/RawMedia.md'
description: 'Plain input object supplied to [`Media`](https://adk.nht.io/api/@nhtio/adk/common/classes/Media) at construction time.'
---

# Interface: RawMedia

Defined in: [lib/classes/media.ts:91](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/media.ts#L91)

Plain input object supplied to [Media](../classes/Media.md) at construction time.

## Remarks

Validated against `rawMediaSchema` before the `Media` instance is created.

## Properties

| Property                                              | Type                                                                                                                                             | Description                                                                                                                                                                                                                                                                                             | Defined in                                                                                                |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
|  `filename`             | `string`                                                                                                                                         | Filename used by providers that key on it (e.g. OpenAI `file.filename`).                                                                                                                                                                                                                                | [lib/classes/media.ts:103](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/media.ts#L103) |
|  `id?`                        | `string`                                                                                                                                         | Stable unique identifier for this media instance. Required for strict symmetry with `Message.id` and `ToolCall.id`. When omitted, a fresh UUIDv6 is assigned at construction time.                                                                                                                      | [lib/classes/media.ts:97](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/media.ts#L97)   |
|  `kind`                     | `"audio"` | `"document"` | `"image"` | `"video"`                                                                                              | The media kind. See [MediaKind](../type-aliases/MediaKind.md).                                                                                                                                                                                                                                          | [lib/classes/media.ts:99](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/media.ts#L99)   |
|  `mimeType`             | `string`                                                                                                                                         | The MIME type of the underlying bytes.                                                                                                                                                                                                                                                                  | [lib/classes/media.ts:101](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/media.ts#L101) |
|  `modalityHazard` | `"inert"` | `"extractable-instructions"` | `"opaque-perceptual"`                                                                               | Modality hazard declared at construction time. Required — there is NO default. See [MediaModalityHazard](../type-aliases/MediaModalityHazard.md).                                                                                                                                                       | [lib/classes/media.ts:115](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/media.ts#L115) |
|  `reader`                 | [`MediaReader`](MediaReader.md)                                                                                                                  | Re-openable byte source. See [@nhtio/adk!MediaReader](MediaReader.md).                                                                                                                                                                                                                                  | [lib/classes/media.ts:105](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/media.ts#L105) |
|  `source?`                | `string`                                                                                                                                         | Optional provenance pointer (URL, tool name, etc.) for audit / events.                                                                                                                                                                                                                                  | [lib/classes/media.ts:117](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/media.ts#L117) |
|  `stash?`                  | [`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)<`string`, [`MediaStashEntry`](MediaStashEntry.md)> | Free-form per-instance metadata register. Middleware pipelines append to this — typically with a text description, transcript, caption, or alt-text — so downstream code that cannot consume the media natively has a model-readable fallback. No keys are reserved by the framework. Defaults to `{}`. | [lib/classes/media.ts:124](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/media.ts#L124) |
|  `trustTier`           | `"first-party"` | `"third-party-public"` | `"third-party-private"`                                                                             | Trust tier declared at construction time. Required — there is NO default. See [MediaTrustTier](../type-aliases/MediaTrustTier.md).                                                                                                                                                                      | [lib/classes/media.ts:110](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/media.ts#L110) |
