Metadata-Version: 2.4
Name: vidcontext
Version: 0.1.0
Summary: Python SDK for the VidContext video intelligence API
Project-URL: Homepage, https://www.vidcontext.com
Project-URL: Documentation, https://api.vidcontext.com/docs
Project-URL: Source, https://github.com/cold-reboot/vidcontext
Project-URL: Issues, https://github.com/cold-reboot/vidcontext/issues
Author-email: VidContext <support@vidcontext.com>
License-Expression: MIT
Keywords: ai,analysis,api,sdk,vidcontext,video,video-intelligence
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia :: Video
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: httpx<1.0.0,>=0.27.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: respx>=0.22; extra == 'dev'
Description-Content-Type: text/markdown

# vidcontext

Python SDK for the [VidContext](https://www.vidcontext.com) video intelligence API.

Analyze any video and get structured text output — context summaries, ad breakdowns, competitor analysis, and more.

## Install

```bash
pip install vidcontext
```

## Quick start

```python
import vidcontext

# Uses VIDCONTEXT_API_KEY env var
result = vidcontext.analyze("video.mp4", mode="context")
print(result.result)
```

## Async usage

```python
from vidcontext import VidContext

async with VidContext(api_key="vc_...") as client:
    result = await client.analyze("video.mp4", mode="ad")
    print(result.result)
```

## Sync usage

```python
from vidcontext import SyncVidContext

with SyncVidContext(api_key="vc_...") as client:
    result = client.analyze("video.mp4", mode="context")
    print(result.result)

    credit_info = client.get_credits()
    print(f"Credits: {credit_info.credits}")
```

## Fire-and-forget

```python
job = vidcontext.submit("video.mp4", mode="editor")
print(job.job_id)  # Check status later
```

## Analysis modes

| Mode | Output |
|------|--------|
| `context` | Scene-by-scene description for AI agents |
| `editor` | Shot list with timecodes for video editors |
| `analysis` | Deep content analysis with themes and structure |
| `ad` | Ad performance breakdown with scores |
| `ecommerce` | Product and UX analysis for online stores |
| `training` | Training/educational content evaluation |
| `ugc` | User-generated content quality assessment |
| `competitor` | Competitive intelligence from video content |

## Account methods

```python
with SyncVidContext() as client:
    profile = client.get_profile()
    credits = client.get_credits()
    usage = client.get_usage()
    packs = client.get_credit_packs()
    keys = client.list_api_keys()
```

## Error handling

```python
from vidcontext import VidContextError, AuthenticationError, JobTimeoutError

try:
    result = vidcontext.analyze("video.mp4")
except AuthenticationError:
    print("Bad API key")
except JobTimeoutError:
    print("Processing took too long")
except VidContextError as e:
    print(f"API error: {e}")
```

## Requirements

- Python 3.10+
- `httpx` (installed automatically)

## Get an API key

Sign up at [vidcontext.com](https://www.vidcontext.com) and go to Developer settings.
