> This page is for version 1.0.0 (Latest) (default).
> For other versions, use one of these documentation indexes:
> - 1.0.0 (Latest) (default): https://docs.nvidia.com/nim/harmonizer/1.0.0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nim/harmonizer/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nim/harmonizer/_mcp/server.

# Request Parameters

> Configure image inputs, temporal context, output encoding, and returned frames for Harmonizer requests.

Harmonizer NIM exposes request parameters for selecting the processing mode, the
output format, and which processed frames are returned. Harmonizer is a
single-step diffusion model, so there are no probabilistic sampling controls
such as temperature or top-p; the controls below shape the input and output contract
and the temporal behavior instead.

The release profile uses bfloat16 (BF16) precision and a deterministic single
denoising pass at fixed
diffusion timestep `250`. The timestep and related diffusion setup are
server-side model settings; Harmonizer exposes no request-level sampler or
scheduler controls.

## Image Inputs

Every request carries an ordered `images` list with at least one image. Each
image is a base64-encoded PNG or JPEG (HTTP) or compressed `bytes` (gRPC), or
a raw `uint8` RGB tensor. Encoded-image dimensions are derived while decoding
the payload. Raw tensors provide their dimensions in `tensor.shape` and can
use `HWC` or `CHW` layout. Raw tensor data is always RGB `uint8` in the
`[0, 255]` range.

Image order is significant: the temporal lane treats the list as a frame
sequence and builds autoregressive context from previously generated outputs.

The NIM runs inference only at the model resolution of `1024x576`. Inputs can
use any positive resolution. The runtime resizes each input directly to the
model resolution before inference, then resizes the corresponding output back
to that input's original resolution. This direct resize does not preserve
aspect ratio, letterbox, or crop. Use 16:9 inputs to avoid geometric distortion
during inference.

Use PNG or raw tensor input when possible. For transport and codec performance
guidance, refer to the [Support Matrix](/nim/harmonizer/support-matrix).

## Parameters

The request-level `parameters` object accepts the following controls.

| Name             | Type    | Default | Description                                                                                                                                                                                                      |
| ---------------- | ------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `output_format`  | string  | `png`   | Output encoding. One of `png`, `jpeg`, or `raw_tensor`.                                                                                                                                                          |
| `context_length` | integer | `0`     | Temporal context length. `0` selects the independent `V=1` image lane. `4` selects the rolling temporal lane (current frame plus four previously generated outputs). This NIM release supports only `0` and `4`. |
| `return_policy`  | string  | `all`   | Which processed frames to return. `all` returns one output per input. `exclude_context` drops the first `context_length` warmup outputs. `last` returns only the final processed output.                         |

## Operating Shapes

The lane and return policy together cover the required operating shapes:

```text
1 image,  context_length=0, return_policy=all             -> 1 independent output
n images, context_length=0, return_policy=all             -> n independent outputs
n images, context_length=4, return_policy=all             -> n outputs, warmup included
n images, context_length=4, return_policy=last            -> 1 final temporal output
n images, context_length=4, return_policy=exclude_context -> n-4 outputs
```

With `context_length=4` the first frames run `V=1` until four previously
generated outputs are available, after which the temporal `V=5` path is used.
A final single temporal output is therefore represented as five images with
`context_length=4` and `return_policy=last`.

## Validation Rules

The following rules apply to every request:

* `context_length` must be `0` or `4`.
* When `return_policy=exclude_context`, the number of input images must be
  greater than `context_length`.
* `return_policy=last` requires at least one input image.
* Each input image must carry exactly one of `data` (encoded image) or
  `tensor` (raw `uint8` tensor).
* Unknown request fields are rejected.

Requests that violate these rules are rejected with a client error. For the
full request and response schema, refer to the [API Reference](/nim/harmonizer/api-reference).