Catalog PyPI
PACKAGE EXPLORERView in registry

acedata-luma-cli

PyPI

CLI tool for Luma Dream Machine AI Video Generation via AceDataCloud API

acedataaiclicommand-linegenerationlumavideo
Versions collected1
Direct dependencies15From release 2026.3.17.0
Last observed20 Oct, 18:06 UTC

README

Version 2026.3.17.0 documentation

Luma CLI

PyPI version PyPI downloads Python 3.10+ License: MIT CI

A command-line tool for AI video generation using Luma through the AceDataCloud API.

Generate AI videos directly from your terminal — no MCP client required.

Features

  • Video Generation — Generate videos from text prompts with multiple models
  • Image-to-Video — Create videos from reference images- Video Extension — Extend existing videos
  • Multiple Models — luma
  • Task Management — Query tasks, batch query, wait with polling
  • Rich Output — Beautiful terminal tables and panels via Rich
  • JSON Mode — Machine-readable output with --json for piping

Quick Start

1. Get API Token

Get your API token from AceDataCloud Platform:

  1. Sign up or log in
  2. Navigate to the Luma API page
  3. Click "Acquire" to get your token

2. Install

# Install with pip
pip install acedata-acedata-luma-cli

# Or with uv (recommended)
uv pip install acedata-acedata-luma-cli

# Or from source
git clone https://github.com/AceDataCloud/LumaCli.git
cd LumaCli
pip install -e .

3. Configure

# Set your API token
export ACEDATACLOUD_API_TOKEN=your_token_here

# Or use .env file
cp .env.example .env
# Edit .env with your token

4. Use

# Generate a video
luma generate "A test video"

# Generate from reference image
luma image-to-video "Animate this scene" -i https://example.com/photo.jpg

# Extend a video
luma extend <video-id>

# Check task status
luma task <task-id>

# Wait for completion
luma wait <task-id> --interval 5

# List available models
luma models

Commands

CommandDescription
luma generate <prompt>Generate a video from a text prompt
luma image-to-video <prompt> -i <url>Generate a video from reference image(s)
luma extend <video_id>Extend an existing video
luma task <task_id>Query a single task status
luma tasks <id1> <id2>...Query multiple tasks at once
luma wait <task_id>Wait for task completion with polling
luma modelsList available Luma models
luma configShow current configuration
luma aspect-ratiosList available aspect ratios

Global Options

--token TEXT    API token (or set ACEDATACLOUD_API_TOKEN env var)
--version       Show version
--help          Show help message

Most commands support:

--json          Output raw JSON (for piping/scripting)
--model TEXT    Luma model version (default: luma)

Available Models

ModelVersionNotes
lumaStandardStandard quality video generation (default)

Configuration

Environment Variables

VariableDescriptionDefault
ACEDATACLOUD_API_TOKENAPI token from AceDataCloudRequired
ACEDATACLOUD_API_BASE_URLAPI base URLhttps://api.acedata.cloud
LUMA_DEFAULT_MODELDefault modelluma
LUMA_REQUEST_TIMEOUTTimeout in seconds1800

Development

Setup Development Environment

git clone https://github.com/AceDataCloud/LumaCli.git
cd LumaCli
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev,test]"

Run Tests

pytest
pytest --cov=luma_cli
pytest tests/test_integration.py -m integration

Code Quality

ruff format .
ruff check .
mypy luma_cli

Docker

docker pull ghcr.io/acedatacloud/acedata-acedata-luma-cli:latest
docker run --rm -e ACEDATACLOUD_API_TOKEN=your_token \
  ghcr.io/acedatacloud/acedata-acedata-luma-cli generate "A test video"

Project Structure

LumaCli/
├── luma_cli/                # Main package
│   ├── __init__.py
│   ├── __main__.py            # python -m luma_cli entry point
│   ├── main.py                # CLI entry point
│   ├── core/                  # Core modules
│   │   ├── client.py          # HTTP client for Luma API
│   │   ├── config.py          # Configuration management
│   │   ├── exceptions.py      # Custom exceptions
│   │   └── output.py          # Rich terminal formatting
│   └── commands/              # CLI command groups
│       ├── video.py           # Video generation commands
│       ├── task.py            # Task management commands
│       └── info.py            # Info & utility commands
├── tests/                     # Test suite
├── .github/workflows/         # CI/CD (lint, test, publish to PyPI)
├── Dockerfile                 # Container image
├── deploy/                    # Kubernetes deployment configs
├── .env.example               # Environment template
├── pyproject.toml             # Project configuration
└── README.md

Luma CLI vs MCP Luma

FeatureLuma CLIMCP Luma
InterfaceTerminal commandsMCP protocol
UsageDirect shell, scripts, CI/CDClaude, VS Code, MCP clients
OutputRich tables / JSONStructured MCP responses
AutomationShell scripts, pipingAI agent workflows
Installpip install acedata-acedata-luma-clipip install mcp-luma

Both tools use the same AceDataCloud API and share the same API token.

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing)
  5. Open a Pull Request

Development Requirements

  • Python 3.10+
  • Dependencies: pip install -e ".[all]"
  • Lint: ruff check . && ruff format --check .
  • Test: pytest

License

This project is licensed under the MIT License — see the LICENSE file for details.

Downloads & popularity

1downloads
1-day window · source-reported counts20 Oct 2026
1890
2026-07-23: 2 · observed 2026-10-21T09:07:10.9081476Z · period 2026-07-23–2026-07-232026-07-27: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-07-27–2026-07-272026-08-01: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-01–2026-08-012026-08-02: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-02–2026-08-022026-08-03: 4 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-03–2026-08-032026-08-04: 3 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-04–2026-08-042026-08-06: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-06–2026-08-062026-08-07: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-07–2026-08-072026-08-09: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-09–2026-08-092026-08-13: 2 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-13–2026-08-132026-08-14: 4 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-14–2026-08-142026-08-17: 4 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-17–2026-08-172026-08-18: 18 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-18–2026-08-182026-08-20: 4 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-20–2026-08-202026-08-23: 4 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-23–2026-08-232026-08-24: 8 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-24–2026-08-242026-08-28: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-28–2026-08-282026-08-31: 2 · observed 2026-10-21T09:07:10.9081476Z · period 2026-08-31–2026-08-312026-09-01: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-09-01–2026-09-012026-09-03: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-09-03–2026-09-032026-09-06: 2 · observed 2026-10-21T09:07:10.9081476Z · period 2026-09-06–2026-09-062026-09-07: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-09-07–2026-09-072026-09-09: 2 · observed 2026-10-21T09:07:10.9081476Z · period 2026-09-09–2026-09-092026-09-10: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-09-10–2026-09-102026-09-12: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-09-12–2026-09-122026-09-18: 3 · observed 2026-10-21T09:07:10.9081476Z · period 2026-09-18–2026-09-182026-09-24: 2 · observed 2026-10-21T09:07:10.9081476Z · period 2026-09-24–2026-09-242026-09-26: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-09-26–2026-09-262026-09-27: 4 · observed 2026-10-21T09:07:10.9081476Z · period 2026-09-27–2026-09-272026-09-28: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-09-28–2026-09-282026-09-29: 2 · observed 2026-10-21T09:07:10.9081476Z · period 2026-09-29–2026-09-292026-09-30: 5 · observed 2026-10-21T09:07:10.9081476Z · period 2026-09-30–2026-09-302026-10-01: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-10-01–2026-10-012026-10-06: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-10-06–2026-10-062026-10-07: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-10-07–2026-10-072026-10-08: 2 · observed 2026-10-21T09:07:10.9081476Z · period 2026-10-08–2026-10-082026-10-09: 3 · observed 2026-10-21T09:07:10.9081476Z · period 2026-10-09–2026-10-092026-10-10: 2 · observed 2026-10-21T09:07:10.9081476Z · period 2026-10-10–2026-10-102026-10-13: 2 · observed 2026-10-21T09:07:10.9081476Z · period 2026-10-13–2026-10-132026-10-19: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-10-19–2026-10-192026-10-20: 1 · observed 2026-10-21T09:07:10.9081476Z · period 2026-10-20–2026-10-20
23 Jul20 Oct

pypistats · 41 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-20 – 2026-10-2012026-10-21T09:07:10.9081476Z
2026-10-19 – 2026-10-1912026-10-21T09:07:10.9081476Z
2026-10-13 – 2026-10-1322026-10-21T09:07:10.9081476Z
2026-10-10 – 2026-10-1022026-10-21T09:07:10.9081476Z
2026-10-09 – 2026-10-0932026-10-21T09:07:10.9081476Z
2026-10-08 – 2026-10-0822026-10-21T09:07:10.9081476Z
2026-10-07 – 2026-10-0712026-10-21T09:07:10.9081476Z
2026-10-06 – 2026-10-0612026-10-21T09:07:10.9081476Z
2026-10-01 – 2026-10-0112026-10-21T09:07:10.9081476Z
2026-09-30 – 2026-09-3052026-10-21T09:07:10.9081476Z
2026-09-29 – 2026-09-2922026-10-21T09:07:10.9081476Z
2026-09-28 – 2026-09-2812026-10-21T09:07:10.9081476Z
2026-09-27 – 2026-09-2742026-10-21T09:07:10.9081476Z
2026-09-26 – 2026-09-2612026-10-21T09:07:10.9081476Z
2026-09-24 – 2026-09-2422026-10-21T09:07:10.9081476Z
2026-09-18 – 2026-09-1832026-10-21T09:07:10.9081476Z
2026-09-12 – 2026-09-1212026-10-21T09:07:10.9081476Z
2026-09-10 – 2026-09-1012026-10-21T09:07:10.9081476Z
2026-09-09 – 2026-09-0922026-10-21T09:07:10.9081476Z
2026-09-07 – 2026-09-0712026-10-21T09:07:10.9081476Z
2026-09-06 – 2026-09-0622026-10-21T09:07:10.9081476Z
2026-09-03 – 2026-09-0312026-10-21T09:07:10.9081476Z
2026-09-01 – 2026-09-0112026-10-21T09:07:10.9081476Z
2026-08-31 – 2026-08-3122026-10-21T09:07:10.9081476Z
2026-08-28 – 2026-08-2812026-10-21T09:07:10.9081476Z
2026-08-24 – 2026-08-2482026-10-21T09:07:10.9081476Z
2026-08-23 – 2026-08-2342026-10-21T09:07:10.9081476Z
2026-08-20 – 2026-08-2042026-10-21T09:07:10.9081476Z
2026-08-18 – 2026-08-18182026-10-21T09:07:10.9081476Z
2026-08-17 – 2026-08-1742026-10-21T09:07:10.9081476Z
2026-08-14 – 2026-08-1442026-10-21T09:07:10.9081476Z
2026-08-13 – 2026-08-1322026-10-21T09:07:10.9081476Z
2026-08-09 – 2026-08-0912026-10-21T09:07:10.9081476Z
2026-08-07 – 2026-08-0712026-10-21T09:07:10.9081476Z
2026-08-06 – 2026-08-0612026-10-21T09:07:10.9081476Z
2026-08-04 – 2026-08-0432026-10-21T09:07:10.9081476Z
2026-08-03 – 2026-08-0342026-10-21T09:07:10.9081476Z
2026-08-02 – 2026-08-0212026-10-21T09:07:10.9081476Z
2026-08-01 – 2026-08-0112026-10-21T09:07:10.9081476Z
2026-07-27 – 2026-07-2712026-10-21T09:07:10.9081476Z
2026-07-23 – 2026-07-2322026-10-21T09:07:10.9081476Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
2026.3.17.017 Mar 202615

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
acedatacloud/lumacli

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:06 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:271be4305b621c5f26689545a3c141e71bceccfd48faad301a2b4f08319310ff