USYD Community
ViTPose+ Large
About
ViTPose+ Large is a 434M open-weight model from USYD Community. 2D human pose estimation (ViT-L, 434M). It accepts text, images, and video. Released January 12, 2025.
Parameters
434M
Published parameter count.
License
Apache-2.0
License on the weights.
Pricing
Token rates are US dollars per 1M tokens. Image rates are per 1K images. Audio rates are per 1M audio seconds.
| Rate | Price |
|---|---|
| Input / 1M | $3.90 |
| Cached input / 1M | $3.90 |
| Output / 1M | $0 |
Compare
ViTPose+ Large is the smallest pose model here, at 434M, and the one that accepts video.
| Model | What it does | Price | Parameters | Context |
|---|---|---|---|---|
| ViTPose+ Large | 2D human pose estimation (ViT-L, 434M). | $3.90 / 1M input | 434M | — |
| HaMeR | Transformer-based 3D hand mesh recovery with ViTPose-H detection. | $3.90 / 1M input | — | — |
Benchmarks
Published scores for ViTPose+ Large, from the ViTPose repository.
Performance
Latency is the end-to-end round trip. Throughput is completion tokens divided by that time. It is a request rate, not decode speed.
Latency
11,823 ms
Throughput
—
Requests
272
Examples

2D pose estimation
ViTPose-Plus emits 17 keypoints per person, COCO schema.
{"poses":[{"keypoints":[[x,y,c], 17 of...]}], ...}
Supported inputs
- textIgnored
A text part beside the media is accepted and ignored. A request with no media part is a
400. - image_urlYes
One per request. A second
image_urlpart is a400. - video_urlYes
One clip. Pose is tracked on every sampled frame; the top-level
video_fpssets the detector cadence (default 10). - document_urlNo
Not accepted.
poseis the only method.- Each detected person returns a
personlabel, a normalized bounding box, and 17 normalized COCO keypoints (kpts_xy).
Methods
Methods this model serves. Payload shapes are in the docs.
| Method | Returns |
|---|---|
| pose (default) | One region per detected person, with bbox_xywh, label, and kpts_xy |
Estimate cost
Estimate. An hour of video is 15 frames a minute at 256 tokens a frame, plus the audio in that request, and 500 output tokens a minute.
$1,347.84
Quick start
Call this model on the OpenAI-compatible gateway. The model id is already filled in.
Response
A single image returns the json block alone, with no wrapper:
{
"object": "img.pose.kpts",
"items": [
{
"bbox_xywh": [0.4387, 0.1035, 0.3395, 0.8176],
"label": "person",
"kpts_xy": [[0.573, 0.1872], [0.584, 0.1706], [0.5639, 0.1738], "..."],
"kpts_score": [0.9638, 0.9702, 0.9541, "..."]
}
],
"kpts_labels": ["nose", "left_eye", "right_eye", "..."]
}
kpts_xy lists the 17 COCO keypoints in order, and kpts_labels on the container names them once for every item: nose, the eyes, the ears, the shoulders, elbows, wrists, hips, knees and ankles. Each [x, y] pair is normalized against the frame, and a joint may fall outside 0-1 when the model places it past the edge. kpts_score is the model's raw per-joint confidence, in the same order.
On a video_url, video_fps at the top level of the request sets the detector cadence (default 10). frames lists every sampled frame, including frames with nobody in them, so a gap in items is distinguishable from a frame that was never read.
