🐷

生成AIを活用したアバターの可能性: HeyGenで未来のインタラクティブ体験を試す

2024/10/09に公開

autumn.jpg

はじめに

最近では、生成AIを活用したさまざまなサービスが続々と登場し、これらを組み合わせることで、今は想像もつかないような革新的なアイデアが生まれる可能性を感じています。今回はその中でも、HeyGenというサービスを試してみたので、ご紹介します。

HeyGenは、撮影した動画や音声データをもとに、AIがアバターを通じて発話したり、インタラクティブな対話が可能になるプラットフォームです。私は特に、将来的にコールセンター業務などをアバターを使ったチャット形式に置き換えることで、コスト削減が実現できるのではないかと期待しています。

今回は、自分の動画と音声を基にHeyGenを使い、私が実際に発したことのない言葉をアバターに話させることに挑戦してみました。

以下がHeyGenのサイトです。

https://app.heygen.com/

動画と音声の登録

HeyGenのサイトでユーザー登録を行い、自分の動画を登録します。音声も動画作成とともに自動的に登録されるため、APIを使って生成したアバターに発話させる準備が整います。
ユーザ登録方法については、YouTubeなどで沢山に出ているので、本記事での説明は省略いたします。

環境設定

私はWindowsパソコンを使用していますが、Linux系のOSをお使いの方は、WSLやnpmのインストールが不要なので、より簡単に設定が可能です。

WSLの設定

まず、Windows 11WSL(Windows Subsystem for Linux)のUbuntuを利用します。PowerShellにてUbuntuを起動し、必要なツールをインストールします。

PowerShellを開き、ターミナル画面上部の「\/」ボタンをクリックし「Ubuntu」を選択します。するとubuntuが起動します。

image.png

ubuntuが起動すると、以下のような状態になります。
image.png
次に、HeyGen APIコールに必要なcurlnpmなどのインストールをしていきます。

npmのインストール

Ubuntuにモジュールをインストールするために、npmコマンドを使います。しかし、デフォルトではWSLUbuntunpmがインストールされていないため、以下のコマンドを実行してnpmをインストールします。

apt install -y nodejs npm

以下の記事を参考にさせて頂きました。@nouernetさんありがとうございます。

https://qiita.com/nouernet/items/d6ad4d5f4f08857644de

記事ではsudo apt install -y nodejs npmと記載されていましたが、sudoが認識されなかったため、今回はsudoを省略しました。

次に、APIコールを実行するため、curlコマンドのインストールをします。

apt install -y curl

こちらは、以下の記事を参考にさせて頂きました。「あんらぶぎーくどっとこむ」さん、ありがとうございます!

https://anlovegeek.com/ubuntu-install-curl/

これで必要な環境が整いました。

HeyGenへの登録

次に、HeyGenへのユーザー登録と設定を行います。

私の確認したところ、以下の手順で「アバターが話す動画」をダウンロードすることができます。
(もし間違っている点があれば、ご指摘いただけると幸いです…)

image.png

動画登録(Video)

まずは、HeyGenに動画を登録します。

MyPage画面の左側の「Avatars」をクリックし、それから右側の「Add a new look」をクリックします。
image.png

今回は、これから動画撮影をしようと思いますので、「Quick Try」をクリックします。
image.png

次に「Turn on Cam & Mic」をクリックします。
image.png

パソコンのカメラが起動しますので、マイク調整などをしながら、「Next」をクリックします。
image.png

Record a 30s video foottage」の画面に移りますので、「Freestyle」が選択されていることを確認し、「Start a 30 Recording」をクリックします。
image.png

すると、カウントダウンが始まり、ビデオ録画が開始されます。
開始されましたら、声を出していろいろ話をしましょう。HeyGenでは、その内容を分析してアバターを作成します。可能な限り沢山しゃべったほうが良いかもしれません。
image.png

録画が完了し左側の「Avatars」をクリックすると、動画が完成されていることが分かります。私の場合、動画作成までに1時間程度かかりました。
image.png

後ほどAPIコールで利用するため、「Avatar ID」をコピーします。
image.png

音声登録

次に、アバターが話す音声を登録します。
画面左側の「AI Voice」をクリックすると、既に音声が出来上がっていました。先ほどの「動画登録(Video)」で動画を作成した時点で、音声も同時に自動作成されているようです。

image.png

後ほどAPIで利用するため、「Voice ID」をコピーします。必要であれば、「テキストアプリ」などに一時的に書き込んで下さい。
image.png

アバター作成

完成したアバターの動画を確認してみます。
英語で話しているようなのですが、上手くいっているようです。
image.png

APIコール

今度は既に作成した「アバター」や「音声」を適用し、APIをコールしてアバターがしゃべる動画を作成します。APIなどのサンプルは以下のサイトを参考にしました。

https://docs.heygen.com/docs/quick-start

Quick Start サイト

以下が、Qlick Start サイトです。
image.png

APIキー

APIをコールするには、APIキーが必要となります。
ここではAPIキーの取得方法について説明します。
まず、MyPageの左上側に自身のユーザ名が記載されているので、そこをクリックします。それから下部に現れる「Space settings」をクリックします。
image.png

すると、左下部に「API」が表示されるので、クリックをすると、APIに関する情報が表示されます。
表示されたTrial Tokenタブをクリックします。
image.png

API tokenがアスタリスク(*************…)で表示されるので、右側のClickボタンをクリックしてAPIキーをコピーします。
image.png

これで、これから必要になる「APIキー」「Avatarキー」「Voiceキー」の3つがそろいました。

APIコール

次はHeyGenQuick Startを参考にして、確認をしていきます。

Create Your First Video

これが、HeyGenQuick Startのサイトで示されいる「Create your First Video」です。
image.png

リクエスト

まず、「APIキー」「Avatarキー」「Voiceキー」を基に、動画を作成します。以下、curlコマンドです。

curl -X POST 'https://api.heygen.com/v2/video/generate' -H 'X-Api-Key: <APIキー>' -H 'Content-Type: application/json' -d '{
  "video_inputs": [
    {
      "character": {
        "type": "avatar",
        "avatar_id": "<アバターID>",
        "avatar_style": "normal"
      },
      "voice": {
        "type": "text",
        "input_text": "俺はジャイアン、ガキ大将",
        "voice_id": "<ボイスID>"
      },
      "background": {
        "type": "color",
        "value": "#008000"
      }
    }
  ],
  "dimension": {
    "width": 1280,
    "height": 720
  },
  "aspect_ratio": "16:9",
  "test": true
}'

今回アバターは「俺はジャイアン、ガキ大将」と話すはずです。

レスポンス

{"data":null,"error":{"code":"invalid_parameter","message":"Voice not found: <VideoID>"}}
・VideoID

レスポンスで取得した「video ID」を、次に送信APIで利用します。

Wait for the Video

先ほどの「Create Your First Video」から取得した「Video ID」を基に、以下のリクエストをUbuntuで実行します。

リクエスト

Video ID」「API キー」を基に、以下のリクエストを実行します。

curl -X GET 'https://api.heygen.com/v1/video_status.get?video_id= <Video ID>' -H 'X-Api-Key: <APIキー>'

レスポンス

video_url」が返却されるので、次のAPIコールに利用します。

{"code":100,"data":{"callback_id":null,"caption_url":"","duration":3.95075,"error":null,"gif_url":"https://resource2.heygen.ai/video/gifs/*******.gif",
"id":"+++++++","status":"completed",
"thumbnail_url":"https://files2.heygen.ai/aws_pacific/avatar_tmp/******/******.jpeg?Expires=**********",
"video_url":"<Viedo URL>",
"video_url_caption":null},"message":"Success"}

Download the video

前章の「Video URL」を基に、mp4ファイルを作成します。

curl <video_url> --output first_video.mp4

これで、mp4形式のファイルが完成しました。
後はダブルクリックをして、動画を確認します。

動画確認

今回、顔は伏せさせていただいたのですが、私のアバターが話す動画をアップしました。
前述のJSONから、「俺はジャイアン、ガキ大将」という言葉をアバターがしゃべっているかと思います。
これは、私はしゃべっていません、アバターがしゃべっています。

https://youtu.be/mZ5g_ayUbdY

おわりに

初めてアバターを使ってみて、その将来性を強く感じました。冒頭で述べたように、コールセンター業務への応用はもちろん、介護分野でも活躍できる可能性があるのではないでしょうか。これほどリアルなアバターであれば、インタラクティブな会話を通じて、高齢者とアバターがコミュニケーションを続けることも期待できます。

最後までご覧いただき、ありがとうございました。

Discussion