AntigravityでNotebookLMの重い画像を一括軽量化

(以下、Geminiを利用しつつブログを書いています。ですので、ちょっと誇張した書きっぷりになっています)
最近、NotebookLMのインフォグラフィック機能を使っているのですが、一つ困ったことがありました。

それは、出力されるPNGファイルのファイルサイズが重いこと。

Mattermostに貼り付けるためにも、JPEGへ一括変換して軽量化したい……。そう思い、Googleの「Antigravity」を使って、自分専用の変換ツールを爆速で作ってみました。

今回の目的:最低限の「画像変換ツール」

欲しい機能はシンプルです。

  • 大量のPNGをガサッとJPEGに変換。
  • 透過部分は白背景にする(JPEGは透過できないため)。
  • Windowsで直感的に動く(ドラッグ&ドロップ対応)。

Antigravityへの「Vibe」な指示

Antigravityを立ち上げ、以下のプロンプトを入力しました。まさに「やりたいこと」をそのまま伝えただけです。

「Windowsで動く、PNGからJPEGへの一括変換ツールを作って。背景が透明なPNGは白背景にしてから保存するようにして。UIは最新のWindowsっぽいモダンな感じ(CustomTkinterなど)で、フォルダをドラッグ&ドロップするか、ボタンで選択できるようにしたい。最終的に配布可能なexeにするところまでリードして」

Antigravityが作成したプロジェクトタスクのリスト

開発開始!しかし、一筋縄ではいかないのが「開発」

指示を出して数分、Antigravityは意気揚々と「PNGからJPEGへの一括変換ツールが完成しました!」と、実行ファイル app.exe を提示してくれました。

「おぉ、早い!」と早速起動してみたものの、ここでエラーが発生。

AttributeError: module 'tkinterdnd2.TkinterDnD' has no attribute '_retrieve'

ドラッグ&ドロップ用のライブラリ周りで不具合が出ていたようです。

AIエージェントとの「二人三脚」デバッグ

エラーログをそのまま伝えて修正を指示。エージェントが自律的にコードを書き換え、ついに正常に動作するツールが出来上がりました。

さらに「使い勝手」をアップデート

最初に完成したツールは「フォルダごと」のドロップには対応していましたが、「特定のファイルだけを選んでドロップ」することができませんでした。

そこで、追加で以下のリクエストを投げました。

「Folderだけでなく、選択した複数ファイルをDrag&Dropで変換できるようにしたい。Folderの機能はそのまま残す。」

すると、今回も数分で改修。そして、Antigravityからこんな返答が。

「再ビルドを実行する前に、現在開いている app.exe を閉じていただけますでしょうか? (閉じられた後に教えていただければ、ビルドを開始します)」

まるでマネージャーとエンジニアがいるかのようなやり取りです。実行ファイルを閉じ、ビルドを指示すると、要望通りの「フォルダもファイルもOK」なツールが完成しました!

まとめ:AIと作る「自分専用」ツールの可能性

今回かかった時間は、デバッグを含めても30分ほどです。

  • NotebookLMの大きなPNG問題を解決。
  • CustomTkinterによるモダンなWindows UI。
  • PyInstallerによる単一exe化で、配布も楽々。

プログラミングの細かな知識がなくても、「何を作りたいか」というビジョンさえあれば、Antigravityがそれを形にしてくれる。まさに「重力(開発の苦労)」から解放されたような体験でした。←(注:ここらあたりの記述がAIっぽい誇張ですね)

皆さんも、ちょっとした「不便」をAIと一緒に解決してみてはいかがでしょうか?

タイトルとURLをコピーしました