!pip install vlmrun
from vlmrun.client import VLMRun
client = VLMRun(api_key="<VLMRUN_API_KEY>")
response = client.hub.get_schema(domain="document.invoice")
import { VlmRun } from "vlmrun";
const client = new VlmRun({ apiKey: "<VLMRUN_API_KEY>" });
const response = await client.hub.getSchema({ domain: "document.invoice" });
console.log(response);
{
"domain": "<string>",
"description": "<string>",
"schema_version": "<string>",
"schema_hash": "<string>",
"gql_stmt": "<string>",
"json_schema": {},
"json_sample": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Get schema for domain
Get the JSON schema for a given domain (document.invoice, document.receipt, etc).
!pip install vlmrun
from vlmrun.client import VLMRun
client = VLMRun(api_key="<VLMRUN_API_KEY>")
response = client.hub.get_schema(domain="document.invoice")
import { VlmRun } from "vlmrun";
const client = new VlmRun({ apiKey: "<VLMRUN_API_KEY>" });
const response = await client.hub.getSchema({ domain: "document.invoice" });
console.log(response);
{
"domain": "<string>",
"description": "<string>",
"schema_version": "<string>",
"schema_hash": "<string>",
"gql_stmt": "<string>",
"json_schema": {},
"json_sample": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}!pip install vlmrun
from vlmrun.client import VLMRun
client = VLMRun(api_key="<VLMRUN_API_KEY>")
response = client.hub.get_schema(domain="document.invoice")
import { VlmRun } from "vlmrun";
const client = new VlmRun({ apiKey: "<VLMRUN_API_KEY>" });
const response = await client.hub.getSchema({ domain: "document.invoice" });
console.log(response);
Description
This endpoint returns the JSON schema for a given domain, as defined in the VLM Run Hub.Body
Request model for the hub schema: /v1/hub/schema
The domain to get the schema for (e.g. document.invoice).
The VLM generation config to be used for //generate.
Hide child attributes
Hide child attributes
Additional user instructions appended to the application or skill prompt for this request.
The detail level to use for processing multimodal data.
auto, hi, lo The overridden JSON schema to use for the model. To be used instead of the response model.
List of agent skills to enable for this generation request.
Hide child attributes
Hide child attributes
The type of the skill. Use 'skill_reference' for DB-stored skills referenced by id/name. Use 'inline' to provide the skill as a base64-encoded zip bundle.
The unique identifier of the skill — a UUID or a name string (e.g., 'pillow', 'batch-processing').
Human-readable skill name for lookup (e.g., 'invoice-extraction'). Alternative to skill_id. Deprecated in favour of skill_id.
The version of the skill — an integer (e.g. 2) or 'latest'.
DEPRECATED: Use 'skill_version' instead. The version of the skill.
Human-readable name for the inline skill (used for discovery and logging).
Short description of what the inline skill does.
Source payload for inline skills. Contains the base64-encoded zip bundle with type, media_type, and data fields.
Hide child attributes
Hide child attributes
Base64-encoded zip bundle containing the skill files.
Encoding type for the inline skill data. Currently only 'base64' is supported.
"base64"MIME type of the skill bundle. Must be 'application/zip'.
DEPRECATED: Use 'source.data' instead. Base64-encoded zip bundle containing the skill files (inline skills only).
The GraphQL statement to use for the application. If provided, the response model will be generated from the GraphQL statement.
The maximum number of retries to use for the application.
The maximum number of tokens to use for the application.
The temperature to use for the application.
Include confidence scores in the response (included in the _metadata field).
Include grounding in the response (included in the _metadata field).
Include keyframes in the video transcription response.
Duration in seconds for each video segment when chunking a video for transcription. Defaults to 150.0s.
x >= 1Number of frames to sample per video segment for captioning. Defaults to 8.
x >= 1Model ID to use for video segment captioning (e.g. 'vlmrun-orion-1:fast'). When omitted, the server default is used.
How to pass video to the captioning model: 'frames' extracts N JPEG frames per segment, 'native_video' sends the mp4 clip directly via video_url for models with native video understanding. Defaults to 'native_video' for Qwen deployment models, 'frames' for others.
frames, native_video When True, transcribe the audio track to align segment boundaries. When False (default), skip ASR and use fixed-duration video segments only (visual-only captioning).
Plain-text chat transcript (prior turns + current request) used to ground video captioning / transcription on what the user wants extracted.
0-indexed page indices to process for document files. If None, all pages are processed.
Reuse cached representations of document/video content across calls. When True (default), the file is cached after the first call so repeated queries against the same file skip re-transmitting its contents. Set to False to always send the full content.
Delivery tier for the request. 'standard'/'default' uses baseline rates, 'flex' applies a 50% discount with higher latency, 'priority' applies a 1.8x premium. When omitted (or 'auto'), the server default ('standard') applies. The chosen tier drives both billing and the latency/availability SLO.
auto, default, standard, flex, priority Response
Successful Response
Response model for the hub schema: /v1/hub/schema
The domain to get the schema for.
The description of the domain.
The specific version of the schema.
The sha256 hash of the schema.
The GraphQL statement for the domain.
The JSON schema for the domain.
A sample JSON object that matches the schema.