Skip to navigation

Request Parameters

View as Markdown

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.

Parameters

The request-level parameters object accepts the following controls.

NameTypeDefaultDescription
output_formatstringpngOutput encoding. One of png, jpeg, or raw_tensor.
context_lengthinteger0Temporal 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_policystringallWhich 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:

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.