The vlmrun gateway command (alias vlmrun gw) runs OpenAI-compatible OCR and
vision-language models on the VLM Run Gateway
(https://gateway.vlm.run/v1), using the same VLMRUN_API_KEY as the rest of
the CLI. Unlike vlmrun chat, it is a raw passthrough: no Files
API upload, no Orion agent.
Every input is a local file path or an http(s) URL. URLs pass by
reference; local files are inlined as base64 data: URLs. The CLI picks the
content part from the media type:
gw chat needs a file, a URL, or -p/--prompt. OCR models such as
zai-org/glm-ocr and paddleocr/pp-ocrv6 reject text-only input, so use -p
alone only with chat models like qwen/qwen3.5-0.8b.
Model ids are the full <org>/<name> reported by vlmrun gw models. Short
aliases (for example pp-ocrv6 for paddleocr/pp-ocrv6) also work.
Health
Check gateway reachability. The command exits non-zero when the check fails.
Models
List models, or detail one with runnable examples:
The default method is marked *. --json returns the raw catalog records, and
adds a commands array on a detail view. See Gateway Models
for the maintained catalog.
Embed
Embed text, images, or video with a gateway embedding model. Each file and each
-t/--text becomes its own vector; --join combines them into one (at most one
file). File inputs must be images or video: use -t for text.
Without --json the CLI prints one row per input with the vector’s
dimensionality and first four components, under a
model · T:<total> tokens · <latency>s footer.
qwen/qwen3-vl-embedding-2b returns 2048 dimensions by default;
--dimensions truncates that vector.
Options
Transcribe
Transcribe audio, or a video whose audio track is transcribed:
Pass either a file or --url, not both. The transcript prints in a Transcript
panel with a model · <format> · <latency>s footer.
Options
Command Reference
Configuration
The OpenAI-compatible surface is that base URL plus /openai, which is the
base_url to give an OpenAI SDK client directly. Gateway requests default to a
600 second timeout instead of the CLI’s 120, since multi-page OCR runs long;
--timeout overrides it either way.
See the Gateway documentation for the full model
catalog and methods reference, and
client.gateway for the Python SDK
equivalent.