Generate AI videos through AceDataCloud's Luma Dream Machine API.
clawhub install @acedatacloud/luma. Check that the ClawHub publisher is @acedatacloud.Bearer ; a platform-... management token is not a service API key./luma/videos and /luma/tasks. Advanced workflows below may call additional routes.ACEDATACLOUD_API_TOKEN=your_api_key_here in ~/.openclaw/.env, then restart the Gateway and start a new session. For a direct terminal test, run export ACEDATACLOUD_API_TOKEN="your_api_key_here" in that shell. Never put the key in a prompt or commit an .env file.Illustrated key setup, first run, and troubleshooting · Token details
bash
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": "..."}.
Generate video purely from a text description.
json
POST /luma/videos
{
"prompt": "a timelapse of flowers blooming in a garden",
"action": "generate",
"aspect_ratio": "16:9",
"loop": false,
"enhancement": true
}
Use start and/or end reference images to guide generation.
json
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"
}
Continue an existing video with a new prompt.
json
POST /luma/videos
{
"action": "extend",
"video_id": "existing-video-id",
"prompt": "the camera continues forward through the forest"
}
RatioUse Case16:9Landscape (default) — YouTube, TV9:16Portrait — TikTok, Instagram Stories1:1Square — Social media4:3Classic — Presentations21:9Ultra-wide — Cinematic
ParameterTypeDefaultDescriptionpromptstring—Text description of the video (required)actionstring"generate"``"generate" or "extend"``aspect_ratiostring"16:9"Video aspect ratioloopboolfalseCreate seamless loopenhancementbooltrueEnhance prompt for better resultsstart_image_urlstring—Reference image for first frameend_image_urlstring—Reference image for last framevideo_idstring—ID of video to extend (alternative to video_url)video_urlstring—URL of video to extend (alternative to video_id)timeoutnumber—Timeout in seconds for the API to return datacallback_urlstring—Webhook URL for async notifications
enhancement: true (default) improves prompt quality but may alter your intent — set to false for literal promptsloop: true creates seamless looping video — good for backgrounds and social mediavideo_id or video_url from a previously completed generationMCP:
pip install mcp-luma| Hosted:https://luma.mcp.acedata.cloud/mcp| See all MCP servers