---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/media/forge/functions/forgeMediaTools.md
---

# Function: forgeMediaTools()

```ts
function forgeMediaTools(
  pipeline: MediaPipeline,
  options: ForgeMediaToolsOptions,
): Record<string, Tool>;
```

Defined in: [src/batteries/media/forge.ts:652](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/forge.ts#L652)

Forge agent tools over a configured media pipeline.

## Parameters

| Parameter  | Type                                                                | Description                             |
| ---------- | ------------------------------------------------------------------- | --------------------------------------- |
| `pipeline` | [`MediaPipeline`](../../interfaces/MediaPipeline.md)                | A pipeline from `createMediaPipeline`.  |
| `options`  | [`ForgeMediaToolsOptions`](../interfaces/ForgeMediaToolsOptions.md) | Surface, resolver, gate, and overrides. |

## Returns

[`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)<`string`, [`Tool`](../../../../forge/classes/Tool.md)>

The minted tools, keyed by name.

## Remarks

The minted set follows the pipeline's configured engines: in the composite surface the
`media_query` grammar text only advertises available verbs; in the granular surface a tool
is minted only for verbs whose engine (if any) is configured. Either way `list_media` is
included — it is the model's entry point for discovering `media_id` values.

The returned record is keyed by tool name so consumers can register selectively or pass
`Object.values(tools)` to `TurnRunnerConfig.tools`.
