> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vlm.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting Started

> How to get started with the VLM Run Python SDK

You can use the [VLM Run Python SDK](https://pypi.org/project/vlmrun/) to interact with the [VLM Run](https://vlm.run) API.

## Installation

### Basic Installation

You can install the basic Python SDK using pip:

```bash theme={"theme":{"light":"github-light","dark":"dark-plus"}}
pip install vlmrun --upgrade
```

Need specific features? Choose an optional dependency pack:

```bash theme={"theme":{"light":"github-light","dark":"dark-plus"}}
# For video processing
pip install "vlmrun[video]"

# For document processing
pip install "vlmrun[doc]"

# For all features
pip install "vlmrun[all]"
```

## Set Up Authentication

Grab your API key from the [VLM Run dashboard](https://app.vlm.run) and set it as an environment variable:

```bash theme={"theme":{"light":"github-light","dark":"dark-plus"}}
# On Linux/macOS
export VLMRUN_API_KEY="your-api-key"

# On Windows
set VLMRUN_API_KEY=your-api-key
```

## Your First API Call

Let's process an image to extract structured data:

```python theme={"theme":{"light":"github-light","dark":"dark-plus"}}
from vlmrun.client import VLMRun

# Initialize the client
client = VLMRun()

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

# Check if processing completed
if response.status == "completed":
    # `response.response` is returned as a dictionary by default,
    # so access fields with `.get()` or `[ ]` indexing.
    invoice = response.response
    print(f"Invoice #: {invoice.get('invoice_number')}")
    print(f"Total: ${invoice.get('total_amount')}")
```

## What's Next?

With the client initialized, you can now:

* Process other media types (documents, audio, video)
* Use different domains for specialized extraction
* Upload and manage files
* Create custom extraction schemas

Check out the [SDK Overview](/sdk-reference/components/overview) for key concepts or jump into the [Client Reference](/sdk-reference/components/client) for detailed examples.

## Quick Examples

### Process a Document

```python theme={"theme":{"light":"github-light","dark":"dark-plus"}}
# Extract data from a PDF
response = client.document.generate(
    url="https://storage.googleapis.com/vlm-data-public-prod/hub/examples/document.invoice/invoice_1.jpg",
    domain="document.invoice"
)
```

### Transcribe Audio

```python theme={"theme":{"light":"github-light","dark":"dark-plus"}}
# Transcribe an audio file
response = client.audio.generate(
    url="https://storage.googleapis.com/vlm-data-public-prod/examples/audio/sample.mp3",
    domain="audio.transcription"
)
```

### Process a Local Image

```python theme={"theme":{"light":"github-light","dark":"dark-plus"}}
# Using a local file
from PIL import Image
image = Image.open("invoice.jpg")

response = client.image.generate(
    images=[image],
    domain="document.invoice"
)
```
