---
title: "List declared benchmark workloads and engine availability"
method: GET
path: "/v1/benchmark/workloads"
tags: ["Inference"]
---

# List declared benchmark workloads and engine availability

`GET /v1/benchmark/workloads`

## Request

- Base URL: `http://localhost:9998`
- URL: `http://localhost:9998/v1/benchmark/workloads`
- Auth: HTTP bearer

One entry per declared workload: the engine family, the engine id, the
model it would measure, whether the engine can run it now, the
provenance its rows would carry (`measured`, or `diagnostic` where the
evidence cannot qualify) and, when unavailable, the reason. Nothing is
loaded or measured by this call.

## Response `200`

The declared workloads with their current capability

- BenchCapability[]
  - `workload` string, required
  - `family` 'llm' | 'image' | 'tts' | 'stt' | 'upscale' | 'embedding' | 'rerank' | 'splat' | 'pose', required
  - `engineId` 'piper-engine' | 'piper-tts' | 'piper-stt' | 'piper-mlx-tts' | 'piper-mlx-llm' | 'apple-intelligence' | 'apple-vision-ocr' | 'embedding-server' | 'embedding-gemma' | 'coreml-upscale' | 'coreml-pose' | 'image-generation' | 'video-generation' | 'mesh-generation' | 'splat-generation' | 'cloud' | 'harness', required
  - `modelId` string, nullable, required
  - `available` boolean, required
  - `provenance` 'measured' | 'estimated' | 'historical' | 'diagnostic', nullable, required
  - `reason` string, nullable, required

## Other responses

- `503`: The benchmark adapters are not wired in this build

---

[API](https://skmtc.dev/modelpiper/apis/toolpiper-api.md) · [All operations](https://skmtc.dev/modelpiper/apis/toolpiper-api/llms.txt) · [OpenAPI document](https://skmtc.dev/modelpiper/apis/toolpiper-api/revisions/6722bf56385c?raw)
