Nano Banana・Genspark・まじん式―全部惜しいから、Claude Codeで自作した
AIプレゼン自動作成、2026年になってもまだ100点がない
プレゼン資料の自動生成って、2026年3月の今になっても、個人的にはまだ100点のものがない。
何が問題かというと、「見た目がリッチなプレゼンを作る方法」と「後から編集できるファイルで出力する方法」が、両立しないのだ。片方を取ればもう片方が犠牲になる。ずっとこのジレンマを抱えてきた。
で、いろいろ試して、いろいろ不満で、最終的に自分でツールを作った。Claude Codeに作ってもらった、が正確だけど。この記事は、そこに至るまでの経緯と、作ったツールの話です。
ちなみに、この三連休(3月20日〜22日)はテンプレート作成作業で完全に潰れました。
既存の方法を全部試した結果
Nano Banana:見た目は最高、でも画像だから編集できない
GoogleのNano Banana(画像生成AI)を使ったプレゼン作成は、見た目のリッチさという点では文句なし。図解やインフォグラフィックのクオリティは本当にすごい。
ただし致命的な問題がある。出力が「画像」なのだ。つまり、できあがったスライドの文字を後から直したり、レイアウトをちょっと調整したり、ということが一切できない。画像だから。
しかも、修正したい箇所があって再生成をかけても、祈りは届かずに、全然違うところがわけわかんないように変更されちゃう。「ここだけ直して」が通じないことがある。
プレゼン資料って、最終的には人間が手を入れて微調整するものだと思っているので、編集不可は正直キツい。

Genspark:編集できるけど、手直しが多くてやってらんない
次に試したのがGensparkのAIスライド機能。
編集可能なファイルを出してくれるんだけど、文字サイズが異様に小さかったり、レイアウトが崩れていたり、結局手直しする箇所が出てくる。
それに、安いとは言えクレジットは消費するので、ちょっと実行する時に尻込みしちゃう。モノは悪くないんだけどさ。

Gensparkは、2026年3月現在、Plusプラン以上に加入しているとClaude Opusを含むAIチャットがクレジット消費なしで無制限に使えるから大好きなんだけどね。
本当にGensparkっていうのは太っ腹で最高な会社だと思う。お世辞抜きで。でも絶対赤字なんじゃないのこんなことやってたら。

Claude Codeで直接パワポ生成:クレジット消費がえぐい
Claude Codeにpython-pptxなどのライブラリを使わせて直接PowerPointファイルを生成させる方法もある。これなら編集可能なpptxファイルが出力される。
ただ、毎回ゼロからAIにスライドの構成もデザインも全部考えさせるので、Claude Codeの使用量がものすごい勢いで消費される。20ドルのプランだとすぐ利用上限に引っかかっちゃう。
それに、Claude Codeを動かせる環境であり続けないと、この手法は使えない。

「まじん式」に光明を見た──でも、あと一歩だった
そこに来て一つ面白いアプローチを見つけた。「まじん式」だ。
まじん式は、GeminiとGAS(Google Apps Script)を使ってGoogleスライドを自動生成するプロンプト+ツールで、noteで公開されている。SNSでもかなり話題になったので知っている人も多いと思う。
このまじん式で素晴らしいと思ったのが、「内容を考えるAI」と「機械的に当てはめるツール」を分離するという設計思想。AIには構成や文面を考えさせて、できあがったデータを決まりきったテンプレートに機械的に流し込む。この分離によって、AIの消費量が最小限で済むし、出力の安定性も上がる。
ただ、まじん式には一つ課題があった。デザインテンプレートを変更する方法が、少なくとも私の承知している限り無いこと。見た目を変えようと思ったら、GASのプログラムを書き換えなきゃいけないのだと思う。私のような素人からすると、そんなことはできない。
「ここさえ変わればいいのに」と思った。まじん式の設計思想はそのまま活かして、テンプレート部分だけプログラムの外に出せないか。そうすれば、テンプレートの追加も削除もデザイン変更も、PowerPointを開いて編集するだけで済む。
この発想が、今回のツール開発の出発点になった。

作ったもの:「テンプレート外出し方式」のパワポ自動生成ツール
考え方はシンプル。3つの役割を完全に分離する。

AIの仕事: プレゼンの構成を考えて、JSONとして出力する。どのページにどんなタイトルを置いて、どんな本文を入れて、どんなグラフを載せるか──内容面の一切をAIが担当する。
テンプレートの仕事: 見た目のデザインを担当する。事前にPowerPointファイルとして用意しておく。各スライドの中に{タイトル}とか{本文}のようなプレースホルダーを置いておく。
ツールの仕事: AIが出力したJSONを読み取り、テンプレートのプレースホルダーを機械的に置換して、完成したPowerPointファイルを出力する。ここに「考える」要素は一切ない。
この方式のメリットは明確で、テンプレートがただのPowerPointファイルだから、誰でも簡単に編集・追加・削除ができる。だってPowerPointを開いて普通に編集するだけだから。プログラムの知識は要らない。

そしてもう一つ。「脳みそを使って考えるAI」と「機械的に流し込むだけの部分」を分けたことで、クレジット消費の最適化ができる。AIに使わせるのは「構成を考えてJSONを出力する」部分だけ。デザインのレンダリングをAIにやらせないから、毎回のクレジット消費がグッと減る。あとGenspark経由でClaudeを呼べばクレジット消費しないので実質無料。Genspark最高!

もちろんこのツール、私はプログラマーではないので自分じゃ作れない。Claude Codeに作ってもらった。今月は100ドルプランに入っているので、このプランをしゃぶり尽くそうということで開発を進めた。
実際にこのツールで生成した38ページのデモ用プレゼンは、以下からダウンロードできます。
テンプレに流し込んで、画像は指示通り差し替えただけ。画像生成指示が無かったプレースホルダー(灰色の長方形)が残ってたり、文字が被ってるのも敢えてそのままですが、どのレベルのものが一発で出るのかご覧いただけると思います。
使い方の流れ:ボタン3回でプレゼンが出てくる
実際の操作はこんな感じ。
ツールを起動すると、すでに登録されているテンプレートがサムネイルと共に並んでいる。使いたいテンプレートをクリックしてボタンを押すと、そのテンプレートの中にどんなページ構成があるか(タイトルスライド、箇条書きスライド、グラフスライド、など)を分析したテキストが出てくる。

次に「プロンプトを生成」ボタンを押すと、AIに相談するためのプロンプトが生成される。このプロンプトには、さっき分析した「このテンプレートで使えるページ構成」の情報も含まれているから、AIはテンプレートの制約を理解した上で構成を考えてくれる。
このプロンプトをClaude(チャット)に渡して、プレゼンの元素材と一緒に相談する。骨子で満足できるものになったら、JSONファイルを出力させる。JSONの構造もプロンプトの中でしっかり定義してあるから、フォーマットは安定する。
できあがったJSONをツールに貼り付けて「プレゼン生成」ボタンを押したら、1秒とかからずにプレゼンテーションが完成する。簡単。

地味に効いてる工夫たち

文字溢れを検知してフォントサイズを自動縮小
プレゼンでありがちなのが、テキストがプレースホルダーの枠からはみ出す問題。AIが生成した文章が想定より長いと、文字がスライドの外に飛び出してしまう。
これに対して、プレースホルダーごとに許容する行数と最小フォントサイズを個別に設定できるようにした。文字が溢れそうだったら自動で検知して、フォントサイズを段階的に縮小して枠内に収める処理が入っている。
ただ、パワポのテキストボックスって、行の高さが必要最小限な高さ(プレースホルダーが「{本文}」だと1行で足りちゃうので、1行分の高さ)のみに自動調整されてしまうので、プレースホルダーの種類によって「実際のテキストボックスのサイズは無視して、幅はそのまま、n行分のテキストまで許容する」という処理を挟んでる。このn行の部分はGUIから変更可能。
棒グラフ・折れ線・円グラフの生成に対応
テンプレートの段階で棒グラフ、折れ線グラフ、円グラフの3種類を用意しておいて、AIがJSONを作る段階で、グラフの中に正しい数字データを流し込んでくれる。本当にPowerPoint上でグラフとして作ってくれるので、後から数値を編集することもできる。
画像は手動差し替え──ただし「どんな画像を入れるか」の指示書はAIが作る
さすがにツール内での画像自動生成は対応していない。ここは割り切りポイント。API叩いてNano Banana呼び出したらいっぱいお金かかりそうだし。ただ、どこにどういう画像を入れればいいのかを自分で考えるのは面倒くさい。
そこで、画像を置くべき場所には灰色の長方形を配置しておいて、その中に「こういう画像を用意してください」という説明文をAIに書かせるようにした。この指示書をNano Bananaにコピペすれば、いい感じの画像が生成される。画像生成と編集可能なパワポ、それぞれの得意分野をいいとこ取りするわけだ。
この指示だけまとめたリストも、JSONの後に合わせて出力してもらえるようプロンプトでお願いしてある。
インタラクティブモードと読み原稿モード
ちょっとした拡張機能として、インタラクティブなプレゼンを想定した「インタラクティブモード」と、読み上げ原稿を生成する「読み原稿モード」も付けてある。
インタラクティブプレゼンだと、途中のページで選択肢を表示して、押されたボタンに応じて飛ばすスライドを考えるので、骨子の設計が変わるからプロンプトをそれ用に差し替えてる。
読み上げ原稿は、毎回出力するとJSONの文字数が増えちゃうので、必要ないときはオフにすることでJSONの生成失敗率が下がるんじゃないかなという祈りを込めた機能。
テンプレートを作る補助ツールも作った
テンプレートを新しく作りたいとき、手作業でプレースホルダーを一個一個配置していくのは骨が折れる。Canvaなどで見つけた良いデザインのパワポをベースに、テンプレート化する作業をClaude Codeに任せたい。
ただ、いろいろ試したのだが、Claudeに直接テンプレ化したいパワポを渡して「これテンプレにして」っていうだけだと、うまくいかない。Claudeには目がついてないから。パワポの中のデータ(XMLやシェイプの座標情報)を扱うことはできるけど、「見た目がどうなっているか」を視覚的にチェックすることはClaude自身ではできない。
試行錯誤した結果、PPTXを「全ページ個別の画像」と「シェイプの一覧テキスト」に分解して、両方をClaude Codeに渡すやり方にたどり着いた。画像で渡してあげれば、画像を分析する方法で視覚的なチェックができる。これが今のところのベストプラクティス。
この補助ツールのおかげで、外出前に「あのフォルダに入ってるやつ上から順に全部テンプレにしといて」ってClaude Codeに指示して、順次実行を自律的にさせておくことができた。帰ってきたら「あ、なんかできてる」という状態。まだ全部チェックしてないけど。

まだ課題だらけだけど、動くからヨシ
正直に言うと、課題は山積みだ。

まず、AIの選択肢がClaude一択に近い。38ページ分のプレゼンの情報を整理したJSONって、それなりに長い。Geminiは出力してくるテキストの長さがClaudeと比べてかなり短いので、長文JSONをうまく出力できるかは疑問。
実行環境は今のところ私のMacBook Proでしか動かさないことを前提に構築してある。将来的には.appとか.exeとかに対応できるようにしたいけど、まだそこまでは手が回っていない。
テンプレート作成にはLibreOfficeが要る(PPTXから画像への変換に必要)し、補助ツールを使ったテンプレ作成はClaude契約が前提になる。あと今整備したテンプレートの元データがCanvaのデザインなので、権利関係でそのまま配布はできない。
いろんなスライドパターンに対応しようとすると、テンプレートのページ数が膨大になる。実際、今回のデモ用に作ったテンプレートは40ページちょいになった。しょうがないんだけどね。
でもまあ、よく言うじゃないですか。”Done is better than perfect”って。とりあえず動いたから、一旦これで動かしてみています。
Claude Codeで開発した感想:マジで神
改めて思うけど、Claude Codeマジで神だと思う。
私はプログラマーじゃない。でも、「こういうツールが欲しい」「ここをこう直して」「あのフォルダのファイル全部処理しといて」──こういう指示を出すだけで、Claude Codeが自律的にコードを書いて、テストして、修正して、ファイルを操作してくれる。
今月は100ドルプランに入っているから、しゃぶり尽くす勢いで使い倒した。外出前に作業を指示して、帰ってきたら成果物ができている。この体験は本当にすごい。
ということで、今回作ったツールを使えば、リッチな見た目と編集可能なファイル形式を両立しつつ、クレジット消費もJSON生成のチャット分だけで済ませることができる。脳みそを使って考えるAIと、機械的に流し込むだけの部分を分ける──この考え方を採用したことで実現できた。まだまだ粗削りだけど、ゼロからパワポを作るのとは雲泥の差だと思っている。
ツール配布はまだできないけど、Claude codeによる開発事例とプレゼン自動生成の方針の共有でした。

