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

# usyd-community/vitpose-plus-large

> 2D human pose estimation with 17 COCO keypoints per person.

2D human pose estimation (ViT-L, 434M). Accepts one `image_url` or one
`video_url`; no text-only input and no `document_url`. `pose` is the only
method. Each detected person returns a `person` label, a normalized bounding
box, and 17 normalized COCO keypoints (`kpts_xy`).

On a `video_url`, the model tracks pose on every frame; the `video_fps` request
parameter sets the detector cadence (default 10).

## Output by method

| Method           | Payload kind | Image `content.object`        | Payload                                                                  |
| ---------------- | ------------ | ----------------------------- | ------------------------------------------------------------------------ |
| `pose` (default) | json         | `vitpose_plus.pose.keypoints` | One region per detected person, with `bbox_xywh`, `label`, and `kpts_xy` |

## Request

<CodeGroup>
  ```bash CLI theme={"theme":{"light":"github-light","dark":"dark-plus"}}
  vlmrun gw chat http://images.cocodataset.org/val2017/000000000785.jpg \
    -m usyd-community/vitpose-plus-large --method pose
  ```

  ```python Python [expandable] theme={"theme":{"light":"github-light","dark":"dark-plus"}}
  from openai import OpenAI

  client = OpenAI(
      base_url="https://gateway.vlm.run/v1/openai",
      api_key="<VLMRUN_API_KEY>",
  )

  response = client.chat.completions.create(
      model="usyd-community/vitpose-plus-large",
      messages=[
          {
              "role": "user",
              "content": [
                  {
                      "type": "image_url",
                      "image_url": {
                          "url": "http://images.cocodataset.org/val2017/000000000785.jpg"
                      },
                  },
              ],
          }
      ],
      extra_body={"method": "pose"},
  )

  print(response.choices[0].message.content)
  ```

  ```bash cURL [expandable] theme={"theme":{"light":"github-light","dark":"dark-plus"}}
  curl https://gateway.vlm.run/v1/openai/chat/completions \
    -X POST \
    -H "Authorization: Bearer $VLMRUN_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "usyd-community/vitpose-plus-large",
      "method": "pose",
      "messages": [
        {
          "role": "user",
          "content": [
            {
              "type": "image_url",
              "image_url": {
                "url": "http://images.cocodataset.org/val2017/000000000785.jpg"
              }
            }
          ]
        }
      ]
    }'
  ```
</CodeGroup>

## Response

<Tabs>
  <Tab title="Text mode">
    A single image returns the json block alone, with no wrapper:

    ```json theme={"theme":{"light":"github-light","dark":"dark-plus"}}
    {
      "object": "vitpose_plus.pose.keypoints",
      "items": [
        {
          "bbox_xywh": [0.4376, 0.1015, 0.3409, 0.8184],
          "label": "person",
          "kpts_xy": [[0.5749, 0.1886], [0.5859, 0.1722], [0.5652, 0.1737], "..."]
        }
      ]
    }
    ```
  </Tab>

  <Tab title="JSON mode">
    The shared envelope, with one entry per input medium:

    ```json theme={"theme":{"light":"github-light","dark":"dark-plus"}}
    {
      "model": "usyd-community/vitpose-plus-large",
      "method": "pose",
      "data": [
        {
          "object": "image",
          "image_hash": "sha256:1433c58c...",
          "image_width": 640,
          "image_height": 425,
          "content": {
            "object": "vitpose_plus.pose.keypoints",
            "items": [
              {
                "bbox_xywh": [0.4376, 0.1015, 0.3409, 0.8184],
                "label": "person",
                "kpts_xy": [[0.5749, 0.1886], [0.5859, 0.1722], [0.5652, 0.1737], "..."]
              }
            ]
          }
        }
      ]
    }
    ```
  </Tab>
</Tabs>

`kpts_xy` lists the 17 COCO keypoints in order (nose, eyes, ears, shoulders,
elbows, wrists, hips, knees, ankles), each as a normalized `[x, y]` pair.
