List gpus
Lists the GPUs your org has linked with hanzo link that can take a studio.render step, each with whether it is free now.
GET /v1/studio/gpus
| Address | https://api.hanzo.ai/v1/studio/gpus |
| Method | GET |
| Operation | get_studio_gpus |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Lists the GPUs your org has linked with hanzo link that can take a
studio.render step, each with whether it is free now. With none online, a
studio.render step waits in the queue.
Request
2 fields.
| Field | In | Type | Required | Description |
|---|---|---|---|---|
limit | query | integer | — | Limit is how many rows one page holds, 1 to 100 (default 50). |
cursor | query | string | — | Cursor is the previous page's next. |
Response
| Status | Body | Meaning |
|---|---|---|
200 | studio.GpuList | ok |
default | problem-details | refused |
200 body — 8 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
data | body | studio.Gpu[] | — | |
data[].id | body | string | — | |
data[].machine | body | string | — | |
data[].name | body | string | — | Name is the device, as its worker reports it. |
data[].owner | body | string | — | Owner is org (linked by your org with hanzo link) or platform. |
data[].seen | body | string | — | Seen is its worker's last heartbeat. |
data[].status | body | string | — | Status is idle, busy or offline. |
data[].vram_mb | body | integer (int64) | — |
Failure carries the platform error shape — see Errors.
Examples
CLI
SDK
HTTP
MCP
hanzo studio gpus.ts
.py
.go
.rs
.java
import { Configuration, StudioApi } from 'hanzoai';
const api = new StudioApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getStudioGpus();from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import StudioApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = StudioApi(client).get_studio_gpus()cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)
resp, _, err := client.StudioAPI.GetStudioGpus(context.Background()).Execute()
if err != nil {
return err
}use hanzo_client::apis::{configuration::Configuration, studio_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = studio_api::get_studio_gpus(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.StudioApi;
ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));
var result = new StudioApi(client).getStudioGpus();curl https://api.hanzo.ai/v1/studio/gpus \
-H "Authorization: Bearer $HANZO_API_KEY"Tool studio, op get_studio_gpus — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.
curl -X POST https://api.hanzo.ai/v1/mcp \
-H "Authorization: Bearer $HANZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "studio",
"arguments": {
"op": "get_studio_gpus",
"input": {}
}
}
}'Was this page useful?
Broken link or missing step? Drop it in #docs on Discord or open a PR.