Skip to main content
隨著 AI 的應用變廣,各類 AI 程序已逐漸普及。AI 已逐漸深入到人們的工作生活方方面面。而 AI 涉及的行業也越來越多,從最初的寫作,到醫療教育,再到現在的視頻。 Luma 是一個專業高質量的視頻生成平台,用戶只需上傳素材,即可根據不同風格和效果自動生成高質量視頻。該 AI 視頻生成器由來自知名科技公司的團隊成員開發,目標是無需複雜的編輯工具,讓每個人都能輕鬆製作出色的視頻。 然而 Luma 官方並沒有提供 API 的,AceDataCloud 提供了一套 Luma 的 API,模擬對接了 Suno 官方,可以方便快捷地生成想要的視頻。

申請和使用

要使用 Luma Videos API,首先可以到 Luma Videos Generation API 頁面點擊「Acquire」按鈕,獲取請求所需要的憑證: 如果你尚未登錄或註冊,會自動跳轉到登錄頁面邀請您來註冊和登錄,登錄註冊之後會自動返回當前頁面。 在首次申請時會有免費額度贈送,可以免費使用該 API。

基本使用

想要生成什麼視頻,可以任意輸入一段文字,比如我想生成一個關於宇航員穿梭於太空和火山之間的視頻,就可以輸入 Astronauts shuttle from space to volcano,如圖所示:

生成的代碼如下:

主要請求參數:
  • prompt:生成視頻的提示詞。
  • aspect_ratio:視頻寬高比,默認 16:9。
  • end_image_url:可選,指定尾幀。
  • enhancement:可選,清晰度增強開關。
  • loop:是否生成循環視頻,默認 false。
  • timeout:可選,超時秒數。
  • callback_url:異步回調地址。
可以點擊「Try」按鈕直接測試 API,稍等 1-2 分鐘,結果如下:
可以看到這時候我們就得到了這個視頻的相關信息,包括視頻ID、視頻鏈接、視頻封面等內容。 字段說明如下:
  • success:生成是否成功,如果成功則為 true,否則為 false
  • task_id:此處視頻生成任務的唯一ID
  • video_id:此處視頻生成任務產生的視頻唯一ID
  • prompt:此處視頻生成任務的關鍵詞
  • video_url:此處視頻生成任務的結果視頻鏈接
  • video_height:生成後的視頻封面圖片的高度
  • video_width:生成後的視頻封面圖片的寬度
  • state:此處視頻生成任務的狀態,如果任務完成的話則為 completed
  • thumbnail_url:生成後的視頻封面圖片的鏈接
  • thumbnail_width:生成後的視頻封面圖片的寬度
  • thumbnail_height:生成後的視頻封面圖片的高度

自定義首尾幀生成

如果想通過自定義視頻的首尾幀來生成視頻,可以輸入首尾幀的圖片鏈接: 這時候視頻首幀 start_image_url 字段可以傳入以下圖片作為視頻的首幀: 首幀 接下來我們要根據首尾幀、關鍵詞自定義生成視頻,就可以指定如下內容:
  • action:視頻生成任務的行為,通常是普通生成 generate 和擴展生成 extend,默認為 generate
  • start_image_url:指定生成視頻的首幀。
  • end_image_url:指定生成視頻的尾幀。
  • prompt:生成視頻的關鍵詞內容。
填寫樣例如下:

填寫完畢之後自動生成了代碼如下:

對應的代碼:
得到的結果如下:
最後得到的結果與上文的類似的,生成的視頻首幀包含了我們傳入的圖片,當然也可以同時傳入首尾幀圖片鏈接來生成視頻,只需要在上面的基礎上再加一個尾幀圖片即可,尾幀的圖片信息如下: 尾幀 填寫樣例如下:

最後得出如下結果:
結果與上文是類似的,生成的視頻同時包含了首幀與尾幀的圖片,這也就完成了自定義首尾幀來生成視頻。

視頻擴展功能

如果想對生成的視頻進行繼續生成的話,可以將參數 action 設置為 extend ,並且輸入需要繼續生成視頻的ID或者視頻鏈接,視頻ID和視頻鏈接的獲取是根據基本使用來獲取,如下圖所示:

這時可以看到視頻的ID為:
注意,這裡的視頻中 video_idvideo_url 是生成後視頻的ID和視頻鏈接,如果你不知道如何生成視頻,可以參考上文的基本使用來生成視頻。
要想繼續生成視頻的話必須上傳視頻鏈接或視頻的ID,下面演示使用視頻ID來進行擴展,接下來我們必須填關鍵詞自定義生成視頻,就可以指定如下內容:
  • action:此時擴展視頻的行為,在這應為 extend
  • prompt:需要擴展視頻的關鍵詞。
  • video_url:需要擴展生成視頻的鏈接。
  • video_id:需要擴展生成視頻的唯一ID。
  • end_image_url:擴展生成視頻可指定尾幀的圖片鏈接,可選參數。
填寫樣例如下:

填寫完畢之後自動生成了代碼如下:

對應的Python代碼:
點擊運行,可以發現會得到一個結果,如下:
可以看出該視頻是在需要擴展的視頻基礎上進行擴展的,結果內容與上文的是一致的,這也就實現歌曲的繼續生成功能。 當然我們也可以指定視頻的鏈接來進行擴展生成,填如下信息:

運行後得到了如下結果:
根據結果可以看出根據視頻鏈接也可以實現視頻擴展的功能。 最後我們還可以對擴展視頻中指定一個尾幀圖片來進行擴展,下面是尾幀圖片信息: 尾幀 接下來在上面的基礎上添加尾幀圖片信息,具體的如下所示:

點擊運行後得到如下信息:
可以看出,在上文擴展視頻的基礎上,還可以指定尾幀圖片來進行擴展。

異步回調

由於 Luma 生成視頻的時間相對較長,大約需要 1-2 分鐘,如果 API 長時間無響應,HTTP 請求會一直保持連接,導致額外的系統資源消耗,所以本 API 也提供了異步回調的支持。 整體流程是:客戶端發起請求的時候,額外指定一個 callback_url 欄位,客戶端發起 API 請求之後,API 會立馬返回一個結果,包含一個 task_id 的欄位資訊,代表當前的任務 ID。當任務完成之後,生成音樂的結果會通過 POST JSON 的形式發送到客戶端指定的 callback_url,其中也包括了 task_id 欄位,這樣任務結果就可以通過 ID 關聯起來了。 下面我們通過示例來了解下具體怎樣操作。 首先,Webhook 回調是一個可以接收 HTTP 請求的服務,開發者應該替換為自己搭建的 HTTP 伺服器的 URL。此處為了方便演示,使用一個公開的 Webhook 樣例網站 https://webhook.site/,打開該網站即可得到一個 Webhook URL,如圖所示:

將此 URL 複製下來,就可以作為 Webhook 來使用,此處的樣例為 https://webhook.site/0c87ca0e-cd74-4577-8d68-f2b80fbf8a13。 接下來,我們可以設置欄位 callback_url 為上述 Webhook URL,同時填入 prompt,如圖所示:

點擊運行,可以發現會立即得到一個結果,如下:
稍等片刻,我們可以在 https://webhook.site/0c87ca0e-cd74-4577-8d68-f2b80fbf8a13 上觀察到生成歌曲的結果,如圖所示: 內容如下:
可以看到結果中有一個 task_id 欄位,其他的欄位都和上文類似,通過該欄位即可實現任務的關聯。