> ## Documentation Index
> Fetch the complete documentation index at: https://docs.generalrobotics.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# graspgen

> Generate grasps using GraspGen

Generate grasps using GraspGen.

## Parameters

<ParamField body="aux_args" type="Dict[str, Any]" required>
  Auxiliary parameters (num\_grasps, gripper\_config, camera\_extrinsics).
</ParamField>

<ParamField body="depth_image" type="Union[str, Image.Image, np.ndarray, None]">
  Depth image (required if point\_cloud is None).
</ParamField>

<ParamField body="seg_image" type="Union[str, Image.Image, np.ndarray, None]">
  Segmentation mask (required if point\_cloud is None).
</ParamField>

<ParamField body="camera_intrinsics" type="Union[str, np.ndarray, None]">
  3x3 intrinsics matrix (required if point\_cloud is None).
</ParamField>

<ParamField body="point_cloud" type="Union[str, np.ndarray, Sequence[Sequence[float]], None]">
  Optional (N,3) point cloud as array/list/path to .npy. When provided, depth/seg/intrinsics are ignored and sent directly.
</ParamField>

<ParamField body="timeout" type="float | None">
  Optional HTTP timeout.
</ParamField>

## Returns

Dict with:

* grasps: Array of 4x4 grasp poses (N, 4, 4)
* confidence: Array of confidence scores (N,)
* latency\_ms: Optional server-reported latency in milliseconds

## Example

```python theme={null}
from grid_cortex_client import CortexClient, ModelType
import numpy as np
from PIL import Image
client = CortexClient()
K = np.eye(3)
aux = {"num_grasps": 128, "gripper_config": "single_suction_cup_30mm", "camera_extrinsics": np.eye(4)}
depth_image = np.load("depth.npy")
seg_image = np.array(Image.open("seg.png"))
out = client.run(ModelType.GRASPGEN, depth_image=depth_image, seg_image=seg_image,
                 camera_intrinsics=K, aux_args=aux)
print(out["grasps"].shape)  # (N, 4, 4)
print(out["confidence"].shape)  # (N,)
```

## Supported grippers

`gripper_config` accepts `"robotiq_2f_140"` (default), `"single_suction_cup_30mm"`, or `"franka_panda"`.

## Reading the result

The call returns a dict — index it by key:

```python theme={null}
from grid_cortex_client import CortexClient
import numpy as np
from PIL import Image

client = CortexClient()
K = np.eye(3)
aux = {"num_grasps": 128, "gripper_config": "single_suction_cup_30mm", "camera_extrinsics": np.eye(4)}
depth_image = np.load("depth.npy")
seg_image = np.array(Image.open("seg.png"))

res = client.run(
    model_id="graspgen",
    depth_image=depth_image,
    seg_image=seg_image,
    camera_intrinsics=K,
    aux_args=aux,
)
print(res["grasps"].shape)  # (N, 4, 4)
```


## Related topics

- [graspgen](/models/cortex/graspgen.md)
- [graspgenx](/models/cortex/graspgenx.md)
