見出し画像

最先端のAIサービスを駆使して(GPT-4o,DallE3,ElevenLabs,D-iD)、自分のAIが喋るYoutube用のShortMovieを自動生成してみた。

結果

こんなのできました。
Script Source: Github

サービスの解説

GPT-4o

OpenAIのLLM。
https://openai.com/index/hello-gpt-4o/

Dall-E 3

OpenAIの画像生成モデル。
https://openai.com/index/dall-e-3/

Eleven Labs

ハイクオリティなカスタム音声モデルを審査とかなしで簡単に作れるSaaS。
AzureとかGCPにも似たようなサービスがありますが、
審査を通すまで画面がすごい面倒だったので、こちらを代わりに利用しました。

というかAzureに関しては、モデルのトレーニングまではできて、
結構クオリティの高いモデルが作れていたんですが、
審査が弾かれて、デプロイができなくて、結局使えませんでした。悲しす。

ElevenLabsは、漢字がちょっと弱いので、
そこはAzure、GCPのほうがいいんだろうなぁ。って勝手に思ってます。

https://elevenlabs.io/

D-ID

音声を静止画にリップシンクしてくれるSaaS。
類似SaaSがいくつかありましたが、
D-IDが一番安くて、使いやすい気がします。
Liteプランで、Creditの量だけ、従量課金にしてくれれば、
もっといいんですが。

実装方法

Pythonで実装しました。

処理の流れは、

1. GPT-4oのAPIでショート動画の台本と、Dall-E 3での画像生成用のプロンプトを作成してもらう。
2. Dall-E 3のAPIでショート動画用の画像を生成。
3. 台本のテキストをもとに、D-iDのAPIで映像を作成。この時、オプションでElenvenLabsの音声生成を有効にすれば、D-iD側で自動的にElevenLabsのカスタムモデルを利用した音声が作成され、映像にマージされる。
4. 最後にmoviepyで、映像に字幕と画像をマージして、書き出す。

詳細は、Githubのコードでも見てください。

感想

これほど簡単に自分のAIアバターを使ったショートムービーを
完全自動で作れるのは感動しました。

本当は、Youtubeまでのアップロードも自動化したかったんですが、
Youtubeに動画をAPI経由でアップロードするには、
OAuth2.0でユーザー側での認証が必要なので、そこがまず面倒でした。

んで、何とか力業でトークンだけ取得して、
プログラムで動画をアップロードしたら、
直後に動画がポリシー違反で非公開になりロックされました。
なので結局、Youtubeへの自動アップロードは諦めました。

同じ動画を手動でアップロードした場合は、
全く問題なかったので、不思議です。

もしかすると、API経由での動画アップロードは、
GCP側の認証の設定をProductionレベルにまでしないとダメとか、
あるいは、AI生成っぽいコンテンツは、そもそもAPI経由で
アップロードできないのかも。

今度時間あったら、そこらへんも調査してみようと思います。

この記事が気に入ったらサポートをしてみませんか?