動画生成のDream Machineで注目されるLuma AIがAPIを公開 APIを使ってカスタムツールをつくる方法

Dream MachineのLuma AIがAPIを公開

動画生成領域で注目されるプラットフォーム「Dream Machine」を開発するLuma AIが、同プラットフォームのAPIを公開した。これにより、個人の開発者からスタートアップ、大企業まで、幅広いユーザーがDream Machineの技術を自社のアプリケーションやサービスに統合できるようになった。

Dream Machine APIは、テキストから動画を生成する機能や、静止画を動画に変換する機能を提供。さらに、キーフレーム制御、ビデオの拡張やループ作成、カメラモーション制御、様々なアスペクト比での出力など、高度な機能も備えている。

本記事では、このAPIを活用した動画生成カスタムツールの作成方法を紹介したい。今回は、マーケティング分野で活用できるツールを作ってみたい。具体的には、任意のプロダクト写真から、スマホ向けの縦長ループ動画を生成するツールを作成する。

必須となるのはPythonと統合開発環境VS Codeだが、非プログラマー向けの解説を充実させ、マーケティング担当者などが実践できる内容を目指す。

ステップは以下の通り:
1:Python、VS Codeと必須パッケージのインストールと仮想環境構築
2:APIキーの格納ファイル作成とAPIキー取得
3:Dream Machine APIを統合するコード
4:コードの実行と結果の解説

※筆者の環境(Mac mini )をベースに解説を進めるが、Windows向けの解説が必要な際には適宜解説を追加する。

ステップ1:Python、VS Codeと必須パッケージのインストールと仮想環境構築

まず、Pythonがインストールされていない場合、https://www.python.org/downloads/ よりPythonをインストールする。

VS Codeがインストールされていない場合、https://code.visualstudio.com/ よりインストールする。

次にプロジェクトディレクトリを作成する。

ターミナルで以下のコマンドを実行し、プロジェクトディレクトリを作成。

 “`bash
   mkdir luma_ai_project
   cd luma_ai_project
   “`

その後「仮想環境」を作成し、有効化する。仮想環境を構築することで、プロジェクトごとに異なるバージョンのパッケージをインストールでき、マシン全体での不整合を防ぐことが可能となる。仮想環境構築は、アプリ開発においては必須プラクティスとなっている。

   “`bash
   python -m venv luma_venv
   source luma_venv/bin/activate  # macOS/Linux
   # または
   luma_venv\Scripts\activate  # Windows
   “`

ターミナルでのコマンドは以下のような流れになっていれば問題ないはずだ。

ターミナルにおけるコマンドの流れの例

次に仮想環境内で、Luma AIなど必要なライブラリをインストールする。

   “`bash
   pip install lumaai requests python-dotenv
   “`

ステップ2:APIキーの格納ファイル作成とAPIキー取得

次に「.env」ファイルを作成し、APIキーを追加する。

プロジェクトのルートディレクトリに.envファイルを作成し、以下の内容を追加する。your_luma_ai_api_key_hereとyour_imgbb_api_key_hereは、後に取得する実際のAPIキーを入力する(以下画像参照)

  “`
   LUMAAI_API_KEY=your_luma_ai_api_key_here
   IMGBB_API_KEY=your_imgbb_api_key_here
   “`

.envファイルとは、一般的にAPIキーなどセンシティブな情報を格納するために作成される。

Luma AIのAPIキーは以下リンクでユーザー/支払い登録を完了すると取得できる。

https://lumalabs.ai/dream-machine/api

Luma AI APIページ

※API利用には最低5ドル分のクレジットが必要になる。

IMGBBのAPIキーは以下リンクより取得する。こちらは無料で登録可能。

https://api.imgbb.com/

IMGBBとは、画像をホストするプラットフォーム。Luma AI APIでは、オンライン上にある画像を参照するため、IMGBBプラットフォームを利用する。他の画像ホスティングプラットフォームも利用可能だ。

IMGBB APIページ

ステップ3:Dream Machine APIを統合するコード

VS Codeで以下のPythonコードを「generate_video.py」というファイル名で保存する。これは、Luma AI APIのドキュメントを参考に、今回の事例向けに筆者がカスタマイズしたコードとなる。

以下でコードの役割を解説したい。

1. ツールの準備:
“`python
import os
from dotenv import load_dotenv
from lumaai import LumaAI
import requests
import time
import sys
import base64
“`

これは、プログラムが使用する様々なツールを呼び出す部分。ファイル操作、API通信、時間管理などに必要なツールを準備している。

2. 環境設定:
“`python
load_dotenv()
os.environ[“LUMAAI_API_KEY”] = os.getenv(“LUMAAI_API_KEY”)

client = LumaAI()
“`

プログラムの正常動作に必要な設定を行っている。プロジェクトディレクトリ内で先ほど作成した.envファイルからAPIキーを読み込む部分となる。

3. メイン機能の定義:
“`python
def create_social_media_video(image_path, prompt):
    # …(関数の中身)
“`

この関数がプログラムの主要なタスクを担う。画像とテキスト指示(プロンプト)を受け取り、それを基に動画を作成する。

4. 画像のアップロード機能:
“`python
def upload_image_to_imgbb(image_path):
    # …(関数の中身)
“`

画像をインターネット上にアップロードする機能。これによりLumaAIが画像を利用できるようになる。

5. メインの実行部分:
“`python
if __name__ == “__main__”:
    # …(メインの処理)
“`

プログラムの開始点である。必要な設定を確認し、画像と指示を用いて動画作成プロセスを開始する。

このプログラムの全体的な流れは以下の通りだ:

1. 必要な設定の確認
2. 指定画像のインターネットへのアップロード
3. アップロードした画像とユーザーの指示を使用し、LumaAIへの動画作成依頼
4. 作成された動画のダウンロードと保存

これにより静止画からソーシャルメディア用の動画を自動生成することが可能となるのだ。

ステップ4:コードの実行と結果の解説

任意の写真を動画にするには、上記コードの110行目を変更する必要がある。

  image_path = “/Users/genhosoya/Projects/luma_ai/images/image_01.JPG”

筆者の場合、プロジェクトディレクトリにimagesフォルダを作成し、そこにimage_01.JPGという画像ファイルを格納した。

image_01.JPG

このイメージをソーシャルメディア用の動画に変換する。

使用するプロンプトはコードの111行目。今回は以下のプロンプトを使用するが、目的によりカスタマイズするのが好ましい。

“Transform this image into a vibrant, eye-catching video with subtle motion and a zoom-in effect”

この画像とプロンプトで、上記コードを実行すると、同じimagesフォルダ内に、動画(MP4)ファイルが作成される。

ここでは直接動画を表示できないので、GIFに変換したものを提示しておく。

静止画から生成された動画(実際はMP4形式)

今回は基本のプロンプトを使用したが、目的によりどのようなプロンプトが最適なのか、いくつか試行錯誤することが求められる。

ちなみにこの動画生成では、0.34ドルのコストが発生した。特に大量に作成する際には、APIページのダッシュボードでコスト推移を確認することが重要となる。

Luma AI API利用の管理画面
https://lumalabs.ai/dream-machine/api/usage

APIを使う利点は、他のAPIと連携させさまざまなタスクを自動化できる点にある。

たとえば、EコマースプラットフォームAPIと連携させ、商品画像から自動的に動画広告を作成する機能、季節やトレンドに合わせて商品プロモーション動画を自動生成する機能、顧客の購買履歴に基づいてパーソナライズされた商品紹介動画を生成する機能などを作成することも不可能ではない。

Luma AIのAPI公開により、どのようなアプリケーションが登場するのか、今後の展開を楽しみにしたい。

文:細谷元(Livit

モバイルバージョンを終了