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


![autumn.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/4e81b0b5-ff0e-60d2-c8a9-95d26e94e839.jpeg)

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

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

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

以下が**HeyGen**のサイトです。

https://app.heygen.com/


# 動画と音声の登録
**HeyGen**のサイトでユーザー登録を行い、自分の動画を登録します。音声も動画作成とともに自動的に登録されるため、APIを使って生成したアバターに発話させる準備が整います。

ユーザ登録方法については、YouTubeなどで沢山に出ているので、本記事での説明は省略いたします。

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

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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/b41e0db3-bd4e-cbf5-782f-e589c8a927d6.png)

**ubuntu**が起動すると、以下のような状態になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/b88a3534-4e7d-957d-38e9-05189857b6e6.png)
次に、**HeyGen** APIコールに必要な`curl`や`npm`などのインストールをしていきます。


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

```dosbatch:
apt install -y nodejs npm
```

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

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

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

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

```dosbatch:
apt install -y curl
```

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

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

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



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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/6c72cd7c-82d9-4568-643c-86682afae1e6.png)

## 動画登録(Video)
まずは、**HeyGen**に動画を登録します。

**MyPage**画面の左側の「**Avatars**」をクリックし、それから右側の「**Add a new look**」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/5d20b1af-1b76-3a75-eda4-16f5b2c5be71.png)


今回は、これから動画撮影をしようと思いますので、「**Quick Try**」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/990970d9-0d52-dd10-dff3-68a436c0d4e0.png)

次に「**Turn on Cam & Mic**」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/9494f34c-30e4-9291-cde4-18c50a04c77b.png)

パソコンのカメラが起動しますので、マイク調整などをしながら、「**Next**」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/cd55e066-a447-a3d6-8a9c-33319305027c.png)

「**Record a 30s video foottage**」の画面に移りますので、「**Freestyle**」が選択されていることを確認し、「**Start a 30 Recording**」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/0a104468-15f9-3d74-5caf-ada75d4cf91f.png)

すると、カウントダウンが始まり、ビデオ録画が開始されます。
開始されましたら、声を出していろいろ話をしましょう。**HeyGen**では、その内容を分析してアバターを作成します。可能な限り沢山しゃべったほうが良いかもしれません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/e7b0220c-e94f-1a99-73c7-7d84c0da08b5.png)

録画が完了し左側の「**Avatars**」をクリックすると、動画が完成されていることが分かります。私の場合、動画作成までに1時間程度かかりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/ecec7277-0213-af76-fcde-d23e0a968f78.png)

後ほどAPIコールで利用するため、「**Avatar ID**」をコピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/898efd10-44df-bf3a-833d-07ee6b0c8f20.png)



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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/4d00d3f1-8d32-0c05-d9cf-7cdee0d80918.png)

後ほどAPIで利用するため、「**Voice ID**」をコピーします。必要であれば、「テキストアプリ」などに一時的に書き込んで下さい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/b0b87ce7-2520-20eb-b66c-20d3cc5a87e9.png)


## アバター作成
完成したアバターの動画を確認してみます。
英語で話しているようなのですが、上手くいっているようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/0eeeccb6-69cb-beca-b912-d59f486b1056.png)


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

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

### Quick Start サイト
以下が、**Qlick Start サイト**です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/6942142b-df34-d8f2-a802-847e28e43e0c.png)

### APIキー
APIをコールするには、APIキーが必要となります。
ここではAPIキーの取得方法について説明します。
まず、**MyPage**の左上側に自身のユーザ名が記載されているので、そこをクリックします。それから下部に現れる「**Space settings**」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/3a29b18b-0949-05d8-9718-ed61fbf771a6.png)

すると、左下部に「**API**」が表示されるので、クリックをすると、**API**に関する情報が表示されます。
表示された**Trial Token**タブをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/1abae5eb-bf98-7b5c-dd78-f649f8842517.png)

**API token**がアスタリスク(*************…)で表示されるので、右側の**Click**ボタンをクリックしてAPIキーをコピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/71f8d1ad-3138-7310-d7e5-bbf4a4f68309.png)

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


# APIコール
次は**HeyGen**の**Quick Start**を参考にして、確認をしていきます。

## Create Your First Video
これが、**HeyGen**の**Quick Start**のサイトで示されいる「**Create your First Video**」です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/0b1ca33d-7067-d791-eb14-6f18ee656298.png)

### リクエスト
まず、「**APIキー**」「**Avatarキー**」「**Voiceキー**」を基に、動画を作成します。以下、`curl`コマンドです。
```json:
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
}'
```
今回アバターは「俺はジャイアン、ガキ大将」と話すはずです。


### レスポンス
```json:
{"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 キー**」を基に、以下のリクエストを実行します。
```json:
curl -X GET 'https://api.heygen.com/v1/video_status.get?video_id= <Video ID>' -H 'X-Api-Key: <APIキー>'
```

### レスポンス
「**video_url**」が返却されるので、次のAPIコールに利用します。
```json:
{"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`ファイルを作成します。
```json:
curl <video_url> --output first_video.mp4
```
これで、`mp4`形式のファイルが完成しました。
後はダブルクリックをして、動画を確認します。


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

https://youtu.be/mZ5g_ayUbdY


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

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

# 追記(2024/10/13)
アバターのしゃべる量が少なかったので、Yahooニュースをアバターに読ませてみました。
ご覧いただけると幸いです。

https://www.youtube.com/watch?v=WKfDLPPjIQQ

以下、アバターがしゃべった内容です。

### ニュース内容

大量閉店の「イトーヨーカドー」　2025年の店舗数はどうなる？　残る都道府県を検証
2024/10/12(土) 12:30配信

　2024年10月10日、コンビニ事業に集中すべくグループの再編を発表した「セブン＆アイ・ホールディングス」。企業名を変更するほか、コンビニ以外の事業を新たに設立した中間持株会社に分離させるとしています。分離する事業の一つが、傘下の「イトーヨーカ堂」が運営するスーパーマーケット「イトーヨーカドー」です。

　イトーヨーカドーでは、構造改革の一環として首都圏を中心とした都市部に集中するため、店舗の閉店がすでに進行中。2024年7月には、「クレヨンしんちゃん」に登場するスーパーのモデルにもなった春日部店の閉店が発表され、話題となりました。

　今後も、10月に閉店する千葉県の柏店をはじめ、2025年2月末までに16店舗の閉店が続く予定ですが、一段落を迎える2025年3月にはどのような出店状況になっているのでしょうか。