38
39

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

身の回りの困りごとを楽しく解決! by Works Human IntelligenceAdvent Calendar 2023

Day 10

スライド作成で画像を探し回るのが面倒なので生成AIで解消してみた【テンプレ公開】

Last updated at Posted at 2023-12-10

資料のスライドにイメージ画像などを挿入したい場合はどうしていますか?

いらすとやを重宝されている人も多いかも知れません。

ただ、いちいちスライドに合ったイメージの画像を探すのも面倒です。

OpenAIがDALL-E3を発表して画像生成AIのクオリティも向上してきました。

そこで、Googleスライド上でサクッとプロンプト入力してDALL-E3で画像生成してスライドに挿入できるようにしてみました。

Google Apps Scriptでスクリプトを配置して、OpenAIのAPIキーさえ用意すれば誰でも利用可能ですので、やり方を解説します。

Youtube動画でも導入手順を解説しています↓

(追記1)APIキーの取り扱いを心配される声を見かけたので、APIキーが秘匿されていることを記述で追加しました。

(追記2)多くの方にいいね・ストックいただいたので、なぜ本件に取り組んだかWhyを追記しました

必要なもの(使うもの)

  • Googleスライド(無料)
  • Google Apps Script(無料)
  • OpenAI APIキー(有料)

唯一有料なOpenAIのAPIキーはDALL-E3での画像生成をするのに必要です。

1つの画像を生成するのに約6円ほどかかります。
※仮にスライド作成で試行錯誤含めて30回ほど画像生成すると、API利用料は約180円です。

OpenAIのAPIキーの取得手順は以下の記事で解説しています。

導入手順

導入手順は以下の3Stepです。

  1. Google Apps Scriptのスクリプト
  2. スクリプト実行の初回認証
  3. OpenAIのAPIキー設定

すでにOpenAIのAPIキーが準備できていれば、おそらく5分ぐらいでセットアップは完了します。

Google Apps Scriptのスクリプト配置

1.Googleスライドのファイルを開き、Apps Scriptのエディタを開きます。

2.下記にソースコードがあるのでコピペして、貼り付けます。

※最初にあったmyfunctionは削除

3.Apps Scriptのエディタを閉じて、Googleスライドを再度読み込みます。

 ※するとメニューバーの右端に「DALL-E3」というカスタムメニューが表示されます。

スクリプト実行の初回認証

1.メニューバーに「DALL·E3>初回認証」を選択します。

2.Google Apps Scriptの認証画面で各種権限を許可します。
※認証ができたかどうかは再度「DALL·E3>初回認証」を選択して「認証されています」と出ればOKです。

OpenAIのAPIキー設定

1.OpenAIのAPIの管理画面からAPIキーを取得しておきます。

2.メニューバーの「DALL·E3>APIキー設定(初回のみ)」を選択します。

3.取得したAPIキーを入力してOKをクリックします。

以上の各種手順でセットアップ完了です。これでGoogleスライドで画像生成できるようパワーアップしました。

生成画像をスライドに挿入してみる

実際にGoogleスライド上で画像生成を試してみます。

メニューバー「DALL-E3>画像生成」を選択すると、プロンプト入力を求められるので、生成したい画像のイメージをテキスト入力します。

※画像生成するのに少し時間がかかります。

画像生成が完了すると、メッセージが出るので、OKを押すと生成した画像がスライドに挿入されます。

ChatGPTやBingAIでも画像生成はできるものの、いちいちタブ切り替えて、画像をコピペしなくても、Googleスライドで完結するので効率化が図れます。

(追記)APIキーは本人のみ利用できる領域に保存

はてなブックマークのコメントでAPIキーの流出を心配するコメントをいただきましたので、補足です。

本手順でセットしたAPIキーは、実行したGoogleアカウントのユーザーに紐づく形で保存されます。
※Google Apps Script(GAS)のユーザープロパティに保存

共同編集のGoogleスライドで、ユーザーAがAPIキーを設定しても、共同編集者のユーザーBはAPIキーを参照できず画像生成を実行できません。

そのため、共同編集者が画像生成しまくってAPI利用料が高騰したり、APIキーを抜き取られてることもないので、安心してお使いください。

このやり方の注意点

今回紹介したGoogleスライド上で画像生成できるようにする方法は効率的ですが、不便なポイントもあります。

  • 新しいGoogleスライドや他のスライドで毎回作業が必要

アドオンと違ってGoogle Apps Scriptのスクリプト配置が各ファイルごとに必要です。

(´-`).。oO(アドオンを作って配布するのはめちゃくちゃ大変なので断念しました。)

少しセットアップの省力化案を用意しました。

スクリプトを配置してメニューから画像生成が実行できるGoogleスライドのテンプレートファイルを用意しました↓

GoogleスライドでDALL·E3利用(配布テンプレート)

上記テンプレートをコピーして新規作成すれば、スクリプトは配置済みなので、初回認証とAPIキーのセットだけで済みます。

(追記)なぜスライドでDALL-E3を使えるようにした?

多くの方にいいね・ストックいただきましたので、なぜGoogleスライドでDALL-E3による画像生成できるようにしたか、Whyを説明します。

今回取り組んだ理由は以下3つです。

  • スライドからDALL-E3で画像生成したかった
  • DALL-E3が使えるアドオンがなかった
  • APIキーを渡すアドオンは使いたくなかった

そもそもの動機はスライドからDALL-E3を使いたかったのが一番の理由です。

有償版であるChatGPT PlusまたはBingのImage CreaterならDALL-E3が使えますが、スライドに生成画像を挿入するまでに以下の作業が必要です。

  1. ChatGPT Plus(or Image Creater)を開く
  2. 生成したい画像のプロンプトを入力
  3. 生成された画像をコピー
  4. Googleスライドに貼り付け

今回作ったスクリプトだとGoogleスライドでプロンプト入力すればスライドに挿入されるので、実質2.だけで済むので、かなり効率化されます。

DALL-E3が使えるアドオンがあればよかったのですが、製作した2023年11月下旬時点ではまだDALL-E3のアドオンがなかったので自作してしまおうと考えました。

ただ、あと作ってから気づいたのですが、DALL-Eの画像生成のアドオンはOpenAIのAPIキーを求めるものが多いです。

ただ、APIキーは本来かなり秘匿性の高い情報です。

他の人に漏れるとOpenAIのAPIが利用できてAPI使用料が発生するので損害も生じます。

もちろんアドオンが悪用するとは思いませんが、やろうと思えばできてしまうことに気づき、そのリスクが大きいと感じました。

今回の方法はスクリプトは公開しているので、テンプレート利用の場合でもスクリプト内部でどういった処理がされているか丸見えです(もちろんAPIキーを外部に送信する処理はありません)。

利用者にしかAPIキーが参照できないよう秘匿できる点は大きなメリットと考えています。

前述したとおり、公開した画像生成できるGoogleスライドのテンプレートはAPIキーをセットしたユーザーしか画像生成できません。

他ユーザーにはAPIキーが閲覧できnので、ぜひ安心してテンプレートをご活用いただければと思います。

終わりに

今回、Google Apps ScriptでGoogleスライド上からDALL-E3の画像生成をできるようにしてみました。

最新版のDALL-E3はかなり高精度な画像が作れるので、スライドのイメージ画像として十分に使えます。

いちいちChatGPTやBing AIからDALL-E3を使うよりもスライド上で実行できて、スライドに挿入までされるので便利です。

スライド生成時に画像生成を活用している方はぜひ試してみて下さい。

38
39
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
38
39

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?