Skip to main content

VCursor SDK & CLI - Generate videos from text, images, and URLs using AI

Project description

VCursor Python SDK & CLI

Generate videos from text, images, and URLs using AI.

Installation

pip install vcursor

Quick Start

As a library (embedded in code)

from vcursor import VCursor

client = VCursor(api_key="vk-...")

# Submit a video generation task
resp = client.submit("a cat playing piano in a jazz club")

# Wait for completion with progress callback
result = client.wait_for_completion(
    resp.task_id,
    on_progress=lambda p: print(f"{p.data.progress}%")
)

print(result.data.products.url)

Async usage

import asyncio
from vcursor import VCursorAsync

async def main():
    async with VCursorAsync(api_key="vk-...") as client:
        resp = await client.submit("sunset timelapse over mountains")
        result = await client.wait_for_completion(resp.task_id)
        print(result.data.products.url)

asyncio.run(main())

Concurrency limiting

The server enforces per-user rate limits based on subscription tier:

Tier Standard Requests Agent Requests Window
Free 3 1 Lifetime
Pro 30/hr 5/hr Rolling 1h
Plus 120/hr 15/hr Rolling 1h
# Check current rate limit status
status = client.check_concurrency("standard")
print(f"Standard: {status.summary['standard'].used}/{status.summary['standard'].limit}")
print(f"Agent:    {status.summary['agent'].used}/{status.summary['agent'].limit}")

# Client-side limit (capped at server limit)
client = VCursor(api_key="vk-...", max_concurrency=10)

As a CLI

# Authenticate
vcursor login

# Generate a video
vcursor generate "a cat playing piano"

# Agent mode
vcursor generate --agent "create a 30s commercial"

# Check concurrency status
vcursor concurrency

# With concurrency limit
vcursor generate --max-concurrency 2 "sunset timelapse"

API Reference

VCursor / VCursorAsync

Method Description
submit(prompt, **kw) Submit a standard video generation task
get_progress(task_id) Get task progress
wait_for_completion() Poll until task completes
cancel_task(task_id) Cancel a running task
submit_agent(message) Submit an agent mode task
get_agent_progress() Get agent task progress
wait_for_agent_completion() Poll until agent task completes
check_concurrency() Check concurrency limit status

Configuration

Config is stored in ~/.vcursor/config.json (shared with the Node.js CLI).

Environment variables:

  • VCURSOR_API_KEY - API key
  • VCURSOR_SERVER - Server URL

License

MIT

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

vcursor_cli-1.0.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

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

vcursor_cli-1.0.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file vcursor_cli-1.0.0.tar.gz.

File metadata

  • Download URL: vcursor_cli-1.0.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vcursor_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 150a253789580b2aaa2dbc3090e7826b92f9e1af517cc1f1392c42d90db643e1
MD5 382622c0dbd47e5707ecbb9b51a702b6
BLAKE2b-256 feb4059414dcdb118ae1a6015b3d2d2e0e1777a04e28326f56b64123ba16ec73

See more details on using hashes here.

Provenance

The following attestation bundles were made for vcursor_cli-1.0.0.tar.gz:

Publisher: python-publish.yml on JThh/vcursor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vcursor_cli-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: vcursor_cli-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vcursor_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c89ea625c408ddae92fa3c7fa1fc15a2b251d3c23e927503af0d54346a44c0fa
MD5 eb88424e0eb7562e3cd1b01221bf405f
BLAKE2b-256 c8a4c6b2ad4d0b22c89895f19ea3b2f3a7a124d1c034ffcbce500936f0ecc5fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for vcursor_cli-1.0.0-py3-none-any.whl:

Publisher: python-publish.yml on JThh/vcursor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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