Skip to main content

Official Python SDK for VLM Run

Project description

VLM Run Logo

VLM Run Python SDK

Website | Platform | Docs | Blog | Discord

PyPI Version PyPI Version PyPI Downloads
License Discord Twitter Follow

The VLM Run Python SDK is the official Python SDK for VLM Run API platform, providing a convenient way to interact with our REST APIs.

🚀 Getting Started

Installation

pip install vlmrun

Installation with Optional Features

The package provides optional features that can be installed based on your needs:

  • Chat with Orion via the CLI (see vlmrun chat)

    pip install "vlmrun[cli]"
    
  • Video processing features (numpy, opencv-python):

    pip install "vlmrun[video]"
    
  • Document processing features (pypdfium2):

    pip install "vlmrun[doc]"
    
  • OpenAI SDK integration (for chat completions API):

    pip install "vlmrun[openai]"
    
  • All optional features:

    pip install "vlmrun[all]"
    

Basic Usage

from PIL import Image
from vlmrun.client import VLMRun
from vlmrun.common.utils import remote_image

# Initialize the client
client = VLMRun(api_key="<your-api-key>")

# Process an image using local file or remote URL
image: Image.Image = remote_image("https://storage.googleapis.com/vlm-data-public-prod/hub/examples/document.invoice/invoice_1.jpg")
response = client.image.generate(
    images=[image],
    domain="document.invoice"
)
print(response)

# Or process an image directly from URL
response = client.image.generate(
    urls=["https://storage.googleapis.com/vlm-data-public-prod/hub/examples/document.invoice/invoice_1.jpg"],
    domain="document.invoice"
)
print(response)

OpenAI-Compatible Chat Completions

The VLM Run SDK provides OpenAI-compatible chat completions through the agent endpoint. This allows you to use the familiar OpenAI API with VLM Run's powerful vision-language models.

from vlmrun.client import VLMRun

client = VLMRun(
    api_key="your-key",
    base_url="https://api.vlm.run/v1"
)

response = client.agent.completions.create(
    model="vlmrun-orion-1",
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)
print(response.choices[0].message.content)

For async support:

import asyncio
from vlmrun.client import VLMRun

client = VLMRun(api_key="your-key", base_url="https://api.vlm.run/v1")

async def main():
    response = await client.agent.async_completions.create(
        model="vlmrun-orion-1",
        messages=[{"role": "user", "content": "Hello!"}]
    )
    print(response.choices[0].message.content)

asyncio.run(main())

Installation: Install with OpenAI support using pip install vlmrun[openai]

CLI Chat with Skills

The vlmrun chat command supports skills — local directories containing a SKILL.md and optional assets that give the agent domain-specific expertise. Skills are sent inline with each request (no server-side upload required).

# Chat with an inline skill
vlmrun chat "Generate a youtube thumbnail for a video using the VLM Run brand colors" -k ./path/to/vlmrun-branding/

# Attach multiple skills (coming soon)
vlmrun chat "Analyze this invoice" -i invoice.pdf -k ./accounting-skills/ -k ./invoice-extraction/

To create a persistent server-side skill, use vlmrun skills upload ./my-skill/.

Claude Code

Install the VLM Run CLI skill directly in Claude Code via the plugin marketplace in the vlm-run/skills repository:

  1. Register the repository as a plugin marketplace:
/plugin marketplace add vlm-run/skills
  1. Install the skill:
/plugin install vlmrun-cli-skill@vlm-run/skills
  1. Configure your API key and base URL using the CLI (get your key from app.vlm.run):
vlmrun config init
vlmrun config set --api-key <your-api-key>
vlmrun config show
  1. Verify the skill is loaded by asking Claude Code (requires restart):
What skills are available in the /vlmrun-cli-skill?

🔗 Quick Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vlmrun-0.5.8.tar.gz (80.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vlmrun-0.5.8-py3-none-any.whl (84.9 kB view details)

Uploaded Python 3

File details

Details for the file vlmrun-0.5.8.tar.gz.

File metadata

  • Download URL: vlmrun-0.5.8.tar.gz
  • Upload date:
  • Size: 80.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vlmrun-0.5.8.tar.gz
Algorithm Hash digest
SHA256 bccf28ce9beb6a70f563aef6ba99f2767622e13eb9e92fbd532d90bf1b19fe34
MD5 13bb5a03b4b9ff3dccd808c9047cc76a
BLAKE2b-256 70d3723bf2e37f3c36ee7bfbc62b67ad1e0cb50a9c7b94fa9efd832f6c5ead1d

See more details on using hashes here.

File details

Details for the file vlmrun-0.5.8-py3-none-any.whl.

File metadata

  • Download URL: vlmrun-0.5.8-py3-none-any.whl
  • Upload date:
  • Size: 84.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vlmrun-0.5.8-py3-none-any.whl
Algorithm Hash digest
SHA256 b1a755228e7c9e75f846b1b41291ac6f54c153178f2046abef7dd4ad18dfa74c
MD5 b8bc19d388b1ec15242b59655560819a
BLAKE2b-256 a2df22907336fb964217910d73727a03df01037bd518d6f0c60f7349e6497874

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page