
What Video Gen Client Does
Video Gen Client provides one async Python client for several video-generation providers: Seedance from ByteDance, Kling from Kuaishou, MiniMax/Hailuo, and Wan from Alibaba. Instead of working with separate provider integrations, you can discover available models, submit generation tasks, check their status, and download results through a unified command-line interface or web application.
The project is designed as integration code around provider APIs. Because those APIs and their model IDs can change independently, provider adapters may require updates over time.
Supported Providers and Models
The client currently lists the following provider families and API model IDs:
- Seedance: version 2.5 uses
doubao-seedance-2.5; version 2.0 usesdoubao-seedance-2-0-260128; the 2.0 Mini and 2.0 Fast tiers usedoubao-seedance-2-0-mini-260615anddoubao-seedance-2-0-fast-260128. - Kling: Kling 3.0 and 3.0 Omni use
kling-v3andkling-v3-omni. Other listed models includekling-v2-6,kling-v2-5-turbo, andkling-v2-1-master. - MiniMax/Hailuo: H3 uses
MiniMax-H3, while version 2.3 usesMiniMax-Hailuo-2.3andMiniMax-Hailuo-2.3-Fast. - Wan: Wan 3.0 uses
wan3.0. Wan 2.7, 2.6, and 2.5 provide specialized text-to-video, image-to-video, reference-to-video, or preview model IDs.
Install and Configure the Client
- Clone the repository:
git clone https://github.com/letorig/video-generator-client cd video-generator-client - Create a virtual environment:
python -m venv .venv - Activate the environment. On Windows, run:
On macOS or Linux, run:.venv\Scripts\activatesource .venv/bin/activate - Install the package with web support:
pip install -e ".[web]" - Add provider credentials: Copy
.env.exampleto.env, then add credentials for the providers you plan to use. The README does not prescribe a single credential set, so configure only the services required by your workflows.
Generated output is saved to the output folder when using the CLI.
Use the Command-Line Interface
After installation, the video-gen command provides the main workflow for discovering providers, selecting models, starting generation tasks, and checking results.
Discover Providers and Models
Start by viewing available commands and providers:
video-gen --help
video-gen providersTo inspect models for a provider, pass its provider name to the models command:
video-gen models wanGenerate a Video
Submit a text-to-video request with a prompt, provider, model, and duration:
video-gen generate wan --prompt "A snowy forest at dawn" --model 2.1 --duration 5The command submits the task through the selected provider and saves the resulting output in the output folder. Use the provider and model values exposed by the project when building your own commands, since provider model availability can change.
Check Task Status
For asynchronous generation workflows, query a task with its provider and task ID:
video-gen status wan TASK_IDReplace TASK_ID with the identifier returned by the generation workflow.
Run the Web Interface
The project includes a web interface directly in the Python package. There is no npm, Node.js, or separate frontend build step. FastAPI serves the HTML interface and exposes JSON endpoints for provider discovery, video generation, task polling, and MP4 downloads.
Start the server with the default host and port:
video-gen serveYou can specify a host and port explicitly:
video-gen serve --host 127.0.0.1 --port 8000For a server with reload enabled, use:
video-gen serve --host 0.0.0.0 --port 9000 --reloadWeb UI Capabilities
The interface supports provider and model selection, text-to-video and image-to-video inputs, negative prompts, duration, aspect ratio, and resolution controls. It also provides live task-status polling, video preview, MP4 download, and in-memory task history for the current server session.
Practical Workflow Tips
- Inspect before generating: Run
video-gen providersandvideo-gen models PROVIDERbefore choosing a provider or model. - Keep credentials scoped: Add only the provider credentials needed for your current workflow to the
.envfile. - Use asynchronous task tracking: Generation can be monitored with the
statuscommand and the web interface's live polling. - Choose the interface that fits your workflow: The CLI is convenient for scripts and terminal-based jobs, while the web UI provides interactive controls and previews.
- Expect integration maintenance: Provider APIs and model IDs are independent of this SDK and may change, so verify adapters and model catalogs when a provider updates its service.
Project Structure
The repository separates the client, command-line interface, web server, model catalog, provider adapters, static web assets, examples, tests, and utility code:
src/video_gen/
├── client.py
├── cli.py
├── web.py
├── catalog.py
├── static/index.html
├── providers/
└── utils/Configuration is represented by .env.example, while packaging and installation settings are defined in pyproject.toml. The repository also contains examples/, tests/, and an optional mcp_server/ directory.
Conclusion
Video Gen Client gives Python developers a unified way to work with multiple video-generation providers. Install it in a virtual environment, configure the required credentials, discover supported models, and submit tasks through the CLI or bundled FastAPI web UI. For production use, monitor provider changes because model IDs and API behavior may evolve independently of the client.
