Skip to main content

Video Generation APIs

Thin Python wrappers around current video generation HTTP APIs and official SDKs. Model names and paths follow vendor docs as of early 2026 (verify in each provider’s console if a call fails).

Note: the examples below import this repository's wrapper modules directly.

Files

Module Provider Notes
openai_video.py OpenAI Videos / Sora-class API — videos.create / create_and_poll (no model argument in wrapper; account default applies).
runway_video.py Runway Developer API — text_to_video / image_to_video, X-Runway-Version: 2024-11-06.
google_veo_video.py Google Gemini Veo 3.1 — google-genai, poll operations.get.
luma_video.py Luma Dream Machine API — POST .../generations/video, requires model (ray-2, ray-flash-2).
bytedance_video.py BytePlus / Volcengine ModelArk video tasks — POST .../contents/generations/tasks, Bearer ARK_API_KEY.
meta_video.py Meta No public Movie Gen API — raises NotImplementedError.

Setup

Use the project virtualenv (recommended):

cd /path/to/openvideogen
python3 -m venv .venv
source .venv/bin/activate
pip install openai python-dotenv requests google-genai

Install from PyPI:

pip install openvideogen

Copy .env.example to .env and fill in keys.

Usage

OpenAI

from openai_video import generate_video_openai

job = generate_video_openai(
    "A calico cat playing a piano on stage",
    seconds="8",
    size="1280x720",
    wait=False,  # True → create_and_poll until completed/failed
)
print(job.id, job.status)

Runway

from runway_video import generate_video_runway

result = generate_video_runway(
    "A serene landscape with mountains and a river at sunset",
    turbo=True,   # gen4_turbo vs gen4.5
    ratio="1280:720",
    duration=5,
)

Google Veo

from google_veo_video import generate_video_veo

video = generate_video_veo(
    "A bustling city street during a rainy night",
    aspect_ratio="16:9",
    duration_seconds=8,
    resolution="1080p",  # optional: 720p, 1080p, 4k
    # reference_image_paths=["./ref1.png", "./ref2.png"],  # optional, local files
)
print(getattr(video, "uri", video))

Luma

from luma_video import generate_video_luma

video = generate_video_luma(
    "A futuristic cityscape with flying cars",
    model="ray-2",
    aspect_ratio="16:9",
    resolution="720p",
    duration="5s",
)

BytePlus / Volcengine (Seedance)

Set BYTEDANCE_ARK_MODEL (or model= argument) to the model id or endpoint id from the Ark console.

from bytedance_video import create_bytedance_video_task, generate_video_bytedance

task = create_bytedance_video_task("A cartoon character dancing in a park")
# or poll until a terminal status:
# result = generate_video_bytedance("...", character_reference="https://...")

Meta

generate_video_meta is intentionally not implemented — there is no public Movie Gen REST API for arbitrary keys.

PyPI Release Flow

This repository is configured to publish to PyPI from GitHub Releases via trusted publishing.

  1. Update version in pyproject.toml (for example 0.1.1).
  2. Create a GitHub Release with a tag that matches the version exactly. Tags like v0.1.1 are also accepted.
  3. The workflow in .github/workflows/pypi-publish.yml builds and validates distributions, then publishes to PyPI.

One-Time Setup

  1. In PyPI, create project openvideogen (or publish once manually to create it).
  2. In PyPI project settings, add a trusted publisher for this GitHub repo: owner/repo: this repository workflow: pypi-publish.yml environment: pypi
  3. In GitHub repo settings, create environment pypi (optional protections recommended).

Release files for openvideogen 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openvideogen 0.2.0
File Size Uploaded
openvideogen-0.2.0.tar.gz 10.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openvideogen 0.2.0
File Interpreter ABI Platform
openvideogen-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 22.2 kB

Release files / openvideogen-0.2.0.tar.gz

Download URL openvideogen-0.2.0.tar.gz
Size 10.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b23fcd5479fce528a62f38c64cb5051bc8f3f30315ec5ad3abafaf73fa413492
BLAKE2b-256 checksum
How to use checksums
58848632e91143e8c267e7c9af9a7c085ce8e9646abb53329a5af1e535408782
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.

Transparency log

Release files / openvideogen-0.2.0-py3-none-any.whl

Download URL openvideogen-0.2.0-py3-none-any.whl
Size 11.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a4880e722f6da49077d07e1b8d9b17c42642fc81cfd5454ad81ec5e98ddb8d4e
BLAKE2b-256 checksum
How to use checksums
e020083fe32ff0ddf57dc181e89ab56af42de91758d87711dbc21cc94f608a0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page