Skip to main content
vlmrun gateway (alias vlmrun gw) runs OpenAI-compatible OCR and vision-language models. It calls the VLM Run Gateway at https://gateway.vlm.run/v1. It uses the same VLMRUN_API_KEY as the rest of the CLI. Unlike vlmrun chat, requests are 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 content part follows 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. Use -p alone only with chat models like qwen/qwen3.5-0.8b.
Model ids are the full <org>/<name> from vlmrun gw models. Short aliases work. pp-ocrv6 maps to paddleocr/pp-ocrv6.

Health

Exits non-zero when the check fails. The reply includes version and commit. See Health.

Models

The default method is marked *. --json returns the raw catalog records. A detail view adds a commands array. See Gateway Models for the catalog.

Embed

Each file and each -t / --text becomes its own vector. --join combines inputs into one vector. At most one file. File inputs must be images or video. Use -t for text.
Without --json, the CLI prints one row per input. Each row shows the vector’s dimensionality and first four components. The footer is model · T:<total> tokens · <latency>s. qwen/qwen3-vl-embedding-2b returns 2048 dimensions by default. --dimensions truncates that vector.

Options

Transcribe

Pass a file or --url. Not both. The transcript prints in a Transcript panel. The footer is model · <format> · <latency>s.

Options

Command Reference

Configuration

The OpenAI-compatible surface is the base URL plus /openai. Pass that URL as base_url to an OpenAI SDK client. Gateway requests default to a 600 second timeout. The CLI default is 120 seconds. --timeout overrides the gateway timeout. See the Gateway documentation for the model catalog, methods for the methods reference, and client.gateway for the Python SDK.