Python SDK
The VCursor Python SDK offers a clean, idiomatic interface for integrating video generation capabilities into your Python applications.
Installation
bash
1pip install vcursor-cli
Quick Start
Synchronous usage for simple scripts and straightforward integrations.
main.py
1from vcursor import VCursor23client = VCursor(api_key="your_api_key")45# Submit a video generation task6resp = client.submit("a cat playing piano in a jazz club")7print(f"Task started: {resp.task_id}")89# Wait for completion with progress callback10result = client.wait_for_completion(11 resp.task_id,12 on_progress=lambda p: print(f"{p.data.progress}%")13)1415print(f"Video URL: {result.data.products.url}")
Async Usage
Use VCursorAsync for high-performance asyncio applications such as FastAPI servers or Discord bots.
async_example.py
1import asyncio2from vcursor import VCursorAsync34async def main():5 async with VCursorAsync(api_key="your_api_key") as client:6 resp = await client.submit("sunset timelapse over mountains")7 print(f"Task: {resp.task_id}")89 result = await client.wait_for_completion(resp.task_id)10 if result.data.status == "completed":11 print(result.data.products.url)1213asyncio.run(main())
Agent Mode
Trigger complex workflows using the Agent API.
complex_task.py
1# Submit a complex request that requires planning and assets2resp = client.submit_agent("Create a 15s social media ad for my sneakers")3task_id = resp.get("task_id")45# The agent takes care of the rest6result = client.wait_for_agent_completion(task_id)7print(f"Agent Output: {result.video_url}")
Concurrency Limiting
Check your current rate limits or throttle client-side requests.
python
1# Check current rate limit status2status = client.check_concurrency("standard")3print(f"Standard: {status.summary['standard'].used}/{status.summary['standard'].limit}")45# Client-side limit (capped at server limit)6client = VCursor(api_key="your_api_key", max_concurrency=10)