import httpx
from urllib.parse import quote
model_id = quote("paddleocr/pp-ocrv6", safe="")
response = httpx.get(
f"https://gateway.vlm.run/v1/models/{model_id}",
headers={"Authorization": "Bearer <VLMRUN_API_KEY>"},
)
print(response.json())
curl "https://gateway.vlm.run/v1/models/paddleocr%2Fpp-ocrv6" \
-H "Authorization: Bearer $VLMRUN_API_KEY"
const modelId = encodeURIComponent("paddleocr/pp-ocrv6");
const response = await fetch(`https://gateway.vlm.run/v1/models/${modelId}`, {
headers: { Authorization: "Bearer <VLMRUN_API_KEY>" },
});
console.log(await response.json());
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"architecture": {
"input_modalities": [
"<string>"
],
"output_modalities": [
"<string>"
],
"modality": "<string>"
},
"capabilities": {
"max_images": 1,
"max_videos": 0,
"supports_text_only": true,
"supports_document_url": false,
"supports_json_schema": false,
"supported_input_types": [
"<string>"
]
},
"pricing": {
"prompt": 0,
"completion": 0,
"input_cache_read": 0,
"input_cache_write": 0,
"image": 0
},
"hf_model_id": "<string>",
"task": "chat",
"context_length": 123,
"aliases": [
"<string>"
],
"methods": [
"<string>"
],
"supported_parameters": [
"<string>"
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}API Reference
Get Model
Retrieve a single VLM Run Gateway model and its capabilities
GET
/
v1
/
models
/
{model_id}
import httpx
from urllib.parse import quote
model_id = quote("paddleocr/pp-ocrv6", safe="")
response = httpx.get(
f"https://gateway.vlm.run/v1/models/{model_id}",
headers={"Authorization": "Bearer <VLMRUN_API_KEY>"},
)
print(response.json())
curl "https://gateway.vlm.run/v1/models/paddleocr%2Fpp-ocrv6" \
-H "Authorization: Bearer $VLMRUN_API_KEY"
const modelId = encodeURIComponent("paddleocr/pp-ocrv6");
const response = await fetch(`https://gateway.vlm.run/v1/models/${modelId}`, {
headers: { Authorization: "Bearer <VLMRUN_API_KEY>" },
});
console.log(await response.json());
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"architecture": {
"input_modalities": [
"<string>"
],
"output_modalities": [
"<string>"
],
"modality": "<string>"
},
"capabilities": {
"max_images": 1,
"max_videos": 0,
"supports_text_only": true,
"supports_document_url": false,
"supports_json_schema": false,
"supported_input_types": [
"<string>"
]
},
"pricing": {
"prompt": 0,
"completion": 0,
"input_cache_read": 0,
"input_cache_write": 0,
"image": 0
},
"hf_model_id": "<string>",
"task": "chat",
"context_length": 123,
"aliases": [
"<string>"
],
"methods": [
"<string>"
],
"supported_parameters": [
"<string>"
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Send
Authorization: Bearer vlmrun for anonymous access. See
Rate Limits for per-tier quotas, which this route shares
with the inference routes. For the full catalog, use List Models
or see Models.
model_id is a path parameter, so any / in the id (e.g. paddleocr/pp-ocrv6)
must be percent-encoded as %2F. An unencoded slash is read as two path
segments and returns 404.
import httpx
from urllib.parse import quote
model_id = quote("paddleocr/pp-ocrv6", safe="")
response = httpx.get(
f"https://gateway.vlm.run/v1/models/{model_id}",
headers={"Authorization": "Bearer <VLMRUN_API_KEY>"},
)
print(response.json())
curl "https://gateway.vlm.run/v1/models/paddleocr%2Fpp-ocrv6" \
-H "Authorization: Bearer $VLMRUN_API_KEY"
const modelId = encodeURIComponent("paddleocr/pp-ocrv6");
const response = await fetch(`https://gateway.vlm.run/v1/models/${modelId}`, {
headers: { Authorization: "Bearer <VLMRUN_API_KEY>" },
});
console.log(await response.json());
Response fields
This endpoint returns a flat, single-model detail object, richer than the entries inGET /v1/openai/models:
| Field | Description |
|---|---|
id | Preferred public model id. |
name, description | Human-readable catalog metadata. |
hf_model_id | Upstream Hugging Face repo id, when the model is open-weight. |
task | chat, embed, or transcribe. |
context_length | Maximum context length, when defined. |
architecture | input_modalities, output_modalities, and a summary modality string. |
capabilities | Same shape as on List Models: max images/videos, accepted input types. |
aliases, methods | Accepted request ids and supported method values. |
supported_parameters | Request fields this model actually honors (a model may ignore fields like temperature or top_p that don’t apply to it). |
pricing | USD per 1M units: prompt, completion, input_cache_read, and input_cache_write per 1M tokens, and image per 1M image-token equivalents. See Pricing. |
pricing and supported_parameters are only available here, not on the
list endpoint. Fetch a single model’s detail before you build cost
estimates or validate which request fields it will respect.Related
List Models
Full catalog in one call.
Pricing
How to read the
pricing object, and what each mode bills.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
Successful Response
Flat JSON response for GET /v1/models/{model_id}.
Internal catalog fields such as provider are intentionally omitted.
Declared input capabilities exposed via GET /v1/openai/models.
Describes how many images / videos a model accepts, whether it supports
text-only prompts, and whether it can constrain generation to a JSON
schema, so clients can validate a request before sending it. None
means unlimited (no cap on that input type).
Hide child attributes
Hide child attributes
Available options:
chat, embed, transcribe