Skip to content

๐ŸŽฌ Video Model luma โ€‹

  • 2024.06.24 This site now supports the video model luma
  • luma has no official API; it is obtained through reverse engineering, similar to GPTs
  • Supports text-to-video and image-to-video
  • Billing is per generation, one video per request
  • Two pricing tiers: relax and pro โ€” see Version Endpoints
  • Default is relax (watermarked, queue required); pro has no watermark and no queue
  • How to use: visit https://luma.ddaiai.com and see the Online Test section below

Online Test 1. Visit https://luma.ddaiai.com (if blocked, try changing the subdomain prefix to suibian)


2. If it is blocked, you can change the address yourself: https://suibian.ddaiai.com โ€” replace suibian with something else, e.g. https://2024.ddaiai.com, all work

Version Endpoints โ€‹

Setup โ€‹

luma

Result โ€‹

Sample output luma

Luma API โ€‹

Create Video Task โ€‹

post https://api.openai-hk.com/luma/generations/

shell
curl 'https://api.openai-hk.com/luma/generations/' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer hk-ไฝ ็š„key' \
  --data '{"aspect_ratio":"16:9","expand_prompt":true,"image_url":"","user_prompt":"็‰นๆ–ฏๆ‹‰้ฃž้€Ÿๅœจๅ…ฌ่ทฏไธŠ"}'
curl 'https://api.openai-hk.com/luma/generations/' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer hk-ไฝ ็š„key' \
  --data '{"aspect_ratio":"16:9","expand_prompt":true,"image_url":"","user_prompt":"็‰นๆ–ฏๆ‹‰้ฃž้€Ÿๅœจๅ…ฌ่ทฏไธŠ"}'

Request body

json
{
  "aspect_ratio": "16:9",
  "expand_prompt": true,
  "loop": false,
  "image_url": "",
  "image_end_url": "",
  "user_prompt": "็‰นๆ–ฏๆ‹‰้ฃž้€Ÿๅœจๅ…ฌ่ทฏไธŠ",
  "resolution": "720p",
  "duration": "5s",
  "model_name": "ray-v1"
}
{
  "aspect_ratio": "16:9",
  "expand_prompt": true,
  "loop": false,
  "image_url": "",
  "image_end_url": "",
  "user_prompt": "็‰นๆ–ฏๆ‹‰้ฃž้€Ÿๅœจๅ…ฌ่ทฏไธŠ",
  "resolution": "720p",
  "duration": "5s",
  "model_name": "ray-v1"
}
FieldTypeDescription
user_promptstringPrompt text
image_urlstringKeyframe start image URL, supports base64
image_end_urlstringKeyframe end image URL, supports base64
aspect_ratiostringVideo aspect ratio
expand_promptbooleanWhether to expand the prompt
loopbooleanWhether to loop (seamless start-to-end)
resolutionstring720p or 1080p, default 720p
durationstringDuration: 5s or 10s
model_namestringModel: ray-v1 ray-v2 ray-v3 (shown as ray1.6 ray2 ray3 officially)

Response body

json
{
  "created_at": "2024-06-24T03:40:47.505420Z",
  "estimate_wait_seconds": "",
  "id": "50deb9e0-d135-4173-a530-82ed3449a7b9",
  "liked": "",
  "prompt": "็‰นๆ–ฏๆ‹‰้ฃž้€Ÿๅœจๅ…ฌ่ทฏไธŠ",
  "state": "pending",
  "video": {
    "height": 0,
    "thumbnail": "",
    "url": "",
    "download_url": "",
    "width": 0
  }
}
{
  "created_at": "2024-06-24T03:40:47.505420Z",
  "estimate_wait_seconds": "",
  "id": "50deb9e0-d135-4173-a530-82ed3449a7b9",
  "liked": "",
  "prompt": "็‰นๆ–ฏๆ‹‰้ฃž้€Ÿๅœจๅ…ฌ่ทฏไธŠ",
  "state": "pending",
  "video": {
    "height": 0,
    "thumbnail": "",
    "url": "",
    "download_url": "",
    "width": 0
  }
}

Extend Video (extend) โ€‹

post https://api.openai-hk.com/luma/generations/{id}/extend

shell
curl 'https://api.openai-hk.com/luma/generations/50deb9e0-d135-4173-a530-82ed3449a7b9/extend' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer hk-ไฝ ็š„key' \
  --data '{ "expand_prompt":true,"image_url":"","user_prompt":"ๅŽ้ข่ทŸ็€ไธ€่พ†ๅก่ฝฆ"}'
curl 'https://api.openai-hk.com/luma/generations/50deb9e0-d135-4173-a530-82ed3449a7b9/extend' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer hk-ไฝ ็š„key' \
  --data '{ "expand_prompt":true,"image_url":"","user_prompt":"ๅŽ้ข่ทŸ็€ไธ€่พ†ๅก่ฝฆ"}'

Request body

json
{
  "expand_prompt": true,
  "loop": false,
  "image_url": "",
  "image_end_url": "",
  "user_prompt": "ๅŽ้ข่ทŸ็€ไธ€่พ†ๅก่ฝฆ"
}
{
  "expand_prompt": true,
  "loop": false,
  "image_url": "",
  "image_end_url": "",
  "user_prompt": "ๅŽ้ข่ทŸ็€ไธ€่พ†ๅก่ฝฆ"
}
FieldTypeDescription
image_urlstringKeyframe start image URL, supports base64
image_end_urlstringKeyframe end image URL, supports base64
aspect_ratiostringVideo aspect ratio
expand_promptbooleanWhether to expand the prompt
loopbooleanWhether to loop (seamless start-to-end)

Response body

json
{
  "created_at": "2024-06-24T03:40:47.505420Z",
  "estimate_wait_seconds": "",
  "id": "50deb9e0-d135-4173-a530-82ed3449a7b9",
  "liked": "",
  "prompt": "็‰นๆ–ฏๆ‹‰้ฃž้€Ÿๅœจๅ…ฌ่ทฏไธŠ",
  "state": "pending",
  "video": {
    "height": 0,
    "thumbnail": "",
    "url": "",
    "download_url": "",
    "width": 0
  }
}
{
  "created_at": "2024-06-24T03:40:47.505420Z",
  "estimate_wait_seconds": "",
  "id": "50deb9e0-d135-4173-a530-82ed3449a7b9",
  "liked": "",
  "prompt": "็‰นๆ–ฏๆ‹‰้ฃž้€Ÿๅœจๅ…ฌ่ทฏไธŠ",
  "state": "pending",
  "video": {
    "height": 0,
    "thumbnail": "",
    "url": "",
    "download_url": "",
    "width": 0
  }
}

Get Watermark-Free Video URL โ€‹

  • Only supported in the pro version
  • The relax version can also call this endpoint, but the video will still have a watermark
  • The returned URL has an expiry time โ€” download and save the file promptly

get https://api.openai-hk.com/pro/luma/generations/{id}/download_video_url

shell
curl 'https://api.openai-hk.com/luma/generations/50deb9e0-d135-4173-a530-82ed3449a7b9/download_video_url' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer hk-your-key'
curl 'https://api.openai-hk.com/luma/generations/50deb9e0-d135-4173-a530-82ed3449a7b9/download_video_url' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer hk-your-key'

Response body

json
{
  "url": "https://dc53a917a6f427706a8ca3ecc7d70ea4.r2.cloudflarestorage.com/ai-lumalabs-storage-private/lit_lite_inference_im2vid_v1.0/410586f1-f2b9-447a-9651-66e502cf10da/410586f1-f2b9-447a-9651-66e502cf10da_raw_video_1_video0593ab596eb51488a8f5e00fcb5401b93.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=60bf44f30d45b472f9dd032de33e15d1%2F20240630%2Fauto%2Fs3%2Faws4_request&X-Amz-Date=20240630T165615Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=205ac50f173f7f6b260bc5026b9f6b3719c7c690f27fccec8cce0b4b43491750"
}
{
  "url": "https://dc53a917a6f427706a8ca3ecc7d70ea4.r2.cloudflarestorage.com/ai-lumalabs-storage-private/lit_lite_inference_im2vid_v1.0/410586f1-f2b9-447a-9651-66e502cf10da/410586f1-f2b9-447a-9651-66e502cf10da_raw_video_1_video0593ab596eb51488a8f5e00fcb5401b93.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=60bf44f30d45b472f9dd032de33e15d1%2F20240630%2Fauto%2Fs3%2Faws4_request&X-Amz-Date=20240630T165615Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=205ac50f173f7f6b260bc5026b9f6b3719c7c690f27fccec8cce0b4b43491750"
}

Get Task Status โ€‹

get https://api.openai-hk.com/luma/generations/{id}

shell
curl 'https://api.openai-hk.com/luma/generations/50deb9e0-d135-4173-a530-82ed3449a7b9' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer hk-your-key'
curl 'https://api.openai-hk.com/luma/generations/50deb9e0-d135-4173-a530-82ed3449a7b9' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer hk-your-key'

Response body

json
{
  "created_at": "2024-06-24T03:40:47.505420Z",
  "estimate_wait_seconds": "",
  "id": "50deb9e0-d135-4173-a530-82ed3449a7b9",
  "liked": "",
  "prompt": "็‰นๆ–ฏๆ‹‰้ฃž้€Ÿๅœจๅ…ฌ่ทฏไธŠ",
  "state": "processing",
  "video": {
    "height": 0,
    "thumbnail": "",
    "url": "",
    "download_url": "pro็‰ˆๆœฌๆ— ๆฐดๅฐๅœจ่ฟ™ไธชๅœฐๅ€, ๆณจๆ„ไฟๅญ˜่ฟ™ไธชๅœฐๅ€ๅฏ่ƒฝ่ฟ‡ๆœŸๅคฑๆ•ˆ",
    "width": 0
  }
}
{
  "created_at": "2024-06-24T03:40:47.505420Z",
  "estimate_wait_seconds": "",
  "id": "50deb9e0-d135-4173-a530-82ed3449a7b9",
  "liked": "",
  "prompt": "็‰นๆ–ฏๆ‹‰้ฃž้€Ÿๅœจๅ…ฌ่ทฏไธŠ",
  "state": "processing",
  "video": {
    "height": 0,
    "thumbnail": "",
    "url": "",
    "download_url": "pro็‰ˆๆœฌๆ— ๆฐดๅฐๅœจ่ฟ™ไธชๅœฐๅ€, ๆณจๆ„ไฟๅญ˜่ฟ™ไธชๅœฐๅ€ๅฏ่ƒฝ่ฟ‡ๆœŸๅคฑๆ•ˆ",
    "width": 0
  }
}
  • When state is completed, the task is done โ€” video.download_url will contain a link
  • When state is failed, generation has failed
  • Differences between pro and relax versions:
    1. The video at download_url has no watermark; note that this URL may expire
    2. pro version requires no queue wait