About luma-video
A skill for generating and extending videos through AceDataCloud's Luma Dream Machine API. It supports text prompts and reference images, with configurable aspect ratios and asynchronous task polling.
Key features
- 01Generate videos from text prompts
- 02Guide generation with start or end images
- 03Extend previously generated videos
- 04Choose from several aspect ratios
- 05Configure looping and prompt enhancement
- 06Poll asynchronous generation tasks
Use cases
- 01Create a video from a scene description
- 02Animate a scene using reference images
- 03Continue a completed video with a new prompt
- 04Generate looped video backgrounds
MCP support
The README lists an MCP server available through `pip install mcp-luma` or the hosted endpoint `https://luma.mcp.acedata.cloud/mcp`.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ acedatacloud/ skills --skill luma-videoAfter installing, type/luma-videoin Claude Code to confirm it loaded.
Details
From the project READMELuma Video Generation
Generate AI videos through AceDataCloud's Luma Dream Machine API.
First-time setup
- Install the official Skill with
clawhub install @acedatacloud/luma. Check that the ClawHub publisher is @acedatacloud. - Sign in at AceDataCloud → Applications, open General application, and check Luma access, balance, and current pricing. Copy its API key, or select Manage Keys → Create for a separate key. Copy the key value without
Bearer; aplatform-...management token is not a service API key. - If you enable Allowed APIs restrictions, include
/luma/videosand/luma/tasks. Advanced workflows below may call additional routes. - On the OpenClaw Gateway host, put
ACEDATACLOUD_API_TOKEN=your_api_key_herein~/.openclaw/.env, then restart the Gateway and start a new session. For a direct terminal test, runexport ACEDATACLOUD_API_TOKEN="your_api_key_here"in that shell. Never put the key in a prompt or commit an.envfile. - Run the Quick Start below. If this workflow returns a task ID, query that same task until it finishes; do not submit the same billable request again just to check progress.
Illustrated key setup, first run, and troubleshooting · Token details
Quick Start
curl -X POST https://api.acedata.cloud/luma/videos \
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"prompt": "a drone flying over a mountain lake at sunrise", "action": "generate", "async": true}'
Async: See async task polling. Poll via
POST /luma/taskswith{"id": "..."}.
Workflows
1. Text-to-Video
Generate video purely from a text description.
POST /luma/videos
{
"prompt": "a timelapse of flowers blooming in a garden",
"action": "generate",
"aspect_ratio": "16:9",
"loop": false,
"enhancement": true
}
2. Image-to-Video
Use start and/or end reference images to guide generation.
POST /luma/videos
{
"prompt": "the scene comes alive with gentle wind",
"action": "generate",
"start_image_url": "https://example.com/scene.jpg",
"end_image_url": "https://example.com/scene-end.jpg",
"aspect_ratio": "16:9"
}
3. Extend a Video
Continue an existing video with a new prompt.
POST /luma/videos
{
"action": "extend",
"video_id": "existing-video-id",
"prompt": "the camera continues forward through the forest"
}
Aspect Ratios
| Ratio | Use Case |
|---|---|
16:9 | Landscape (default) — YouTube, TV |
9:16 | Portrait — TikTok, Instagram Stories |
1:1 | Square — Social media |
4:3 | Classic — Presentations |
21:9 | Ultra-wide — Cinematic |
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
prompt | string | — | Text description of the video (required) |
action | string | "generate" | "generate" or "extend" |
aspect_ratio | string | "16:9" | Video aspect ratio |
loop | bool | false | Create seamless loop |
enhancement | bool | true | Enhance prompt for better results |
start_image_url | string | — | Reference image for first frame |
end_image_url | string | — | Reference image for last frame |
video_id | string | — | ID of video to extend (alternative to video_url) |
video_url | string | — | URL of video to extend (alternative to video_id) |
timeout | number | — | Timeout in seconds for the API to return data |
callback_url | string | — | Webhook URL for async notifications |
Gotchas
enhancement: true(default) improves prompt quality but may alter your intent — set tofalsefor literal prompts- Start/end image URLs must be publicly accessible
loop: truecreates seamless looping video — good for backgrounds and social media- Extend requires either
video_idorvideo_urlfrom a previously completed generation - Video generation takes 1–5 minutes depending on complexity
- Both start and end images are optional — you can use just one for partial guidance
MCP:
pip install mcp-luma| Hosted:https://luma.mcp.acedata.cloud/mcp| See all MCP servers