> This page is for GenMol, version 1.0.0.
> For other versions, use one of these documentation indexes:
> - 2.0.0 (Latest) (default): https://docs.nvidia.com/nim/bionemo/genmol/2.0.0/llms.txt
> - 1.0.1: https://docs.nvidia.com/nim/bionemo/genmol/1.0.1/llms.txt
> - 1.0.0: https://docs.nvidia.com/nim/bionemo/genmol/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/bionemo/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nim/bionemo/_mcp/server.

# NIM Endpoints


## Molecular Generation

Endpoint path: `/generate`

### Input Parameters

* `smiles (string)`: Required. SAFE/SMILES text with masks as the molecular template for generation.
* `num_molecules (integer, 1~1000)`: Optional (default: 30). Number of molecules to be generated.
* `temperature (float, 0.01~10.0)`: Optional (default: 1.0). Temperature factor to scale the predicted probits before being passed to the SoftMax function.
* `noise (float, 0.0~2.0)`: Optional (default: 0.0). Scale of randomness added to the probability confidences on all predicted tokens.
* `step_size (integer, 1~10)`: Optional (default: 1). Number of tokens to be unmasked for each inference step.
* `scoring (enum, QED or LogP)`: Optional (default QED). Method to be used to score and rank the generated molecules.
* `unique (boolean)`: Optional (default: false). Only unique molecules will be returned if true is set.

### Outputs

The output of the endpoint is a JSON response with two fields:

* `status`: `success` or `failed`. If it is `success`, a field of `molecules` listing all generated molecules will be returned; otherwise, a field of `error` will be returned as a text message explaining the reason for the failure.
* `molecules`: if the request is successfully processed, this field contains a list of molecules, each of which is a dictionary with fields of `smiles` and `score` for each generated molecule, ranked by the chosen scoring method.

### Example

```
curl --request POST --url "http://127.0.0.1:8000/generate" \
  --header "Content-Type: application/json"\
  --data '{
    "smiles": "[C@H]1O[C@@H](CO)[C@H](O)[C@@H]1O.[*{15-15}]",
    "num_molecules": "5",
    "temperature": "2.0",
    "noise": "1.0",
    "step_size": "1",
    "scoring": "QED"
  }'
```

**Return**

```
{"status":"success","molecules":[{"smiles":"OC[C@@H]1O[CH][C@@H](O)[C@H]1O","score":0.397},{"smiles":"OC[C@@H]1O[CH][C@@H](O)[C@H]1O","score":0.397},{"smiles":"OC[C@@H]1O[CH][C@@H](O)[C@H]1O","score":0.397},{"smiles":"OC[C@@H]1O[CH][C@@H](O)[C@H]1O","score":0.397},{"smiles":"OC[C@@H]1O[CH][C@@H](O)[C@H]1O","score":0.397}]}
```

## Readiness Check

Endpoint path: `/v1/health/ready`

### Input Parameters

None

### Outputs

The output of the endpoint is a JSON response containing a value indicating the readiness of the microservice. When the NIM is ready, it returns the response `{"status":"ready"}`.

### Example

```
curl http://127.0.0.1:8000/v1/health/ready
```

**Return**

```
true
```

## List Models and Versions

Endpoint path: `/v1/models`

### Input Parameters

None

### Outputs

The output of the endpoint is a JSON response containing a list of available models supported by this NIM, for example, `{"available_models":["GenMol-1.0.0"]}`.

### Example

```
curl http://127.0.0.1:8000/v1/models
```

**Return**

```
{"available_models":["GenMol-1.0.0"]}
```


## API Reference

Endpoint path: `/docs`

### Input Parameters

None

### Outputs

This endpoint provides a detailed OpenAPI schema for this NIM. Open a web browser and direct to the URL `http://127.0.0.1:8000/docs` to view the page.