Skip to main content

VLOEX SDK - Video generation as a computing primitive

Project description

VLOEX Python SDK

Official Python SDK for VLOEX - Turn text into professional videos with AI.

PyPI version Python 3.7+ License: MIT


📦 Installation

pip install vloex

Requirements: Python 3.7 or higher


🚀 Quick Start

Step 1: Get Your API Key

  1. Sign up at vloex.com
  2. Go to DashboardAPI Keys
  3. Click Create New Key
  4. Copy your key (starts with vs_live_...)

Step 2: Create Your First Video

from vloex import Vloex

# Initialize with your API key
vloex = Vloex('vs_live_your_key_here')

# Create a video
video = vloex.videos.create(
    script="Hello! This is my first AI-generated video."
)

print(f"✅ Video created: {video['id']}")
print(f"📊 Status: {video['status']}")

Step 3: Get Your Video

import time

# Wait for video to complete
while True:
    status = vloex.videos.retrieve(video['id'])

    if status['status'] == 'completed':
        print(f"🎉 Video ready: {status['url']}")
        break

    if status['status'] == 'failed':
        print(f"❌ Failed: {status.get('error')}")
        break

    time.sleep(5)  # Check again in 5 seconds

That's it! Your video is ready to share.


📖 Usage

Basic Video Generation

from vloex import Vloex

vloex = Vloex('vs_live_your_key_here')

# Simple text to video
video = vloex.videos.create(
    script="We just launched version 2.0 with dark mode!"
)

With Custom Options (Coming Soon)

video = vloex.videos.create(
    script="Welcome to our product demo!",
    options={
        'avatar': 'lily',              # Only supported avatar
        'voice': 'enthusiastic',       # Only supported voice
        'background': 'modern_office'  # Only supported background
    }
)

# More avatars, voices, and backgrounds coming soon!

Using Environment Variables

import os
from vloex import Vloex

# Set environment variable
# export VLOEX_API_KEY='vs_live_...'

vloex = Vloex(os.getenv('VLOEX_API_KEY'))
video = vloex.videos.create(script="...")

With Webhooks (Get Notified When Ready)

video = vloex.videos.create(
    script="Your video content here",
    webhook_url="https://your-app.com/webhook"
)

# Your code continues immediately
# We'll POST to your webhook when the video is ready

📚 API Reference

vloex.videos.create()

Create a new video.

Parameters:

  • script (str, required) - The text script for your video
  • webhook_url (str, optional) - URL to receive completion notification
  • webhook_secret (str, optional) - Secret for webhook HMAC signature
  • options (dict, optional) - Customize avatar, voice, background (coming soon)
    • avatar: 'lily' (only supported option)
    • voice: 'enthusiastic' (only supported option)
    • background: 'modern_office' (only supported option)

Returns:

{
    'id': 'abc-123-def-456',
    'status': 'pending',
    'created_at': '2025-01-04T12:00:00Z',
    'estimated_completion': '2025-01-04T12:05:00Z'
}

vloex.videos.retrieve(id)

Get video status and URL.

Parameters:

  • id (str, required) - Video job ID

Returns:

{
    'id': 'abc-123-def-456',
    'status': 'completed',  # or 'pending', 'processing', 'failed'
    'url': 'https://...',   # Video URL when completed
    'duration': 12.5,       # Video length in seconds
    'created_at': '...',
    'updated_at': '...'
}

💡 Examples

Example 1: Simple Video

from vloex import Vloex

vloex = Vloex('vs_live_your_key_here')

video = vloex.videos.create(
    script="Check out our new features!"
)

print(f"Video ID: {video['id']}")

Example 2: GitHub Release Announcement

from vloex import Vloex
import requests

# Fetch latest release
release = requests.get(
    'https://api.github.com/repos/vercel/next.js/releases/latest'
).json()

# Create announcement video
vloex = Vloex('vs_live_your_key_here')

video = vloex.videos.create(
    script=f"Next.js {release['tag_name']} is here! {release['body'][:200]}"
)

print(f"Release video: {video['id']}")

See more examples: examples/


⚠️ Error Handling

from vloex import Vloex, VloexError

vloex = Vloex('vs_live_...')

try:
    video = vloex.videos.create(script="Hello!")

except VloexError as e:
    if e.status_code == 401:
        print("Invalid API key")
    elif e.status_code == 429:
        print("Rate limit exceeded - wait a moment")
    elif e.status_code == 402:
        print("Quota exceeded - upgrade your plan")
    else:
        print(f"Error: {e.message}")

Common Errors:

Code Meaning What to Do
401 Invalid API key Check your key at vloex.com/dashboard
429 Too many requests Wait 60 seconds and try again
402 Quota exceeded Upgrade your plan
400 Bad request Check your script/parameters
500 Server error Retry in a few seconds

🔧 Advanced

Custom Timeout

vloex = Vloex(
    api_key='vs_live_...',
    timeout=60  # seconds
)

Custom API Endpoint

vloex = Vloex(
    api_key='vs_live_...',
    base_url='https://custom-api.example.com'
)

Debug Mode

import logging

logging.basicConfig(level=logging.DEBUG)
vloex = Vloex('vs_live_...')
# Prints all API requests

📚 Resources


🆘 Support


📄 License

MIT License

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

vloex-0.1.3.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

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

vloex-0.1.3-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file vloex-0.1.3.tar.gz.

File metadata

  • Download URL: vloex-0.1.3.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for vloex-0.1.3.tar.gz
Algorithm Hash digest
SHA256 d2472cdfc4086cfea0dd8ef987def666852bb52c52315f53c875e534dba7337c
MD5 3f7ddaf6bc41cf505e11a1b46cadacd4
BLAKE2b-256 a4a8487ce2903316d670a115027f3f3a2038fe650ed250def14b87a53e260a85

See more details on using hashes here.

File details

Details for the file vloex-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: vloex-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for vloex-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2316de0f58bd6b7f37f203a02cdaf440323273535c2b8335b8aba3e76e3ec590
MD5 0f11d923ad6466b032a7021990f6528a
BLAKE2b-256 43e2185d4b5f49fe3b341b7b8c98591338ad03e0401e8d27f0d3eb3d2ba4e2f7

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