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

# nemo_curator.stages.interleaved.pdf.nemotron_parse.postprocess

CPU postprocess stage: parse model output, align images, build interleaved rows.

## Module Contents

### Classes

| Name                                                                                                                             | Description                                                               |
| -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| [`NemotronParsePostprocessStage`](#nemo_curator-stages-interleaved-pdf-nemotron_parse-postprocess-NemotronParsePostprocessStage) | CPU stage: parse raw model output and build the final interleaved schema. |

### API

```python
class nemo_curator.stages.interleaved.pdf.nemotron_parse.postprocess.NemotronParsePostprocessStage(
    proc_size: tuple[int, int] = (2048, 1664),
    min_crop_px: int = DEFAULT_MIN_CROP_PX,
    name: str = 'nemotron_parse_postprocess',
    resources: nemo_curator.stages.resources.Resources = (lambda: Resources(cpus=2.0...
)
```

Dataclass

**Bases:** [ProcessingStage\[InterleavedBatch, InterleavedBatch\]](/nemo-curator/nemo_curator/stages/base#nemo_curator-stages-base-ProcessingStage)

CPU stage: parse raw model output and build the final interleaved schema.

Reads page images from `binary_content` and raw Nemotron-Parse output
from `text_content`, then constructs one row per element (text, image,
table, metadata) in the interleaved schema.

Floater reordering (Pictures/Captions) is applied automatically for
Nemotron-Parse v1.1 and skipped for v1.2+, based on the `model_path`
stored in task metadata by the inference stage.

## Parameters

proc\_size
Default model processor size `(height, width)`.  Overridden at
runtime by `task._metadata["proc_size"]` when available.
min\_crop\_px
Minimum pixel dimension for image crops.  Smaller crops (typically
degenerate bboxes) are filtered out.

```python
nemo_curator.stages.interleaved.pdf.nemotron_parse.postprocess.NemotronParsePostprocessStage.inputs() -> tuple[list[str], list[str]]
```

```python
nemo_curator.stages.interleaved.pdf.nemotron_parse.postprocess.NemotronParsePostprocessStage.outputs() -> tuple[list[str], list[str]]
```

```python
nemo_curator.stages.interleaved.pdf.nemotron_parse.postprocess.NemotronParsePostprocessStage.process(
    task: nemo_curator.tasks.InterleavedBatch
) -> nemo_curator.tasks.InterleavedBatch | None
```