🖼️

Gemini 3を使って絵日記を生成できるCLIツール「enikki」を作りました

に公開

私は長い間、毎日Web上に日記を書いています(紙の日記から含めると30年以上は書いています)。

https://kentarokuribayashi.com/journal

npakaさんが「そらみ と へにへに のゆるふわAI研究所」という漫画連載をしているのを見て、AIに絵日記風のマンガを生成できるとふだんの日記と違う表現ができるかも?と思って、CLIツールenikkiを作りました。

enikkiとは

enikkiは、テキストで入力したストーリーから絵日記風のマンガを自動生成するCLIツールです。GoogleのGemini 3を使って、脚本生成から画像生成までを一気通貫で行います。

https://github.com/kentaro/enikki

主な特徴は以下の通りです:

  • 対話型UI: ストーリー、スタイル、コマ数などを対話形式で入力できます
  • 19種類のスタイルプリセット: 4コマ漫画、少年漫画、少女漫画、Webtoon、アメコミなど
  • ステップごとの確認: 脚本・画像それぞれで確認・再生成が可能です
  • キャラクター画像の参照: 登場させたいキャラクターの画像(典型的には自分の写真)を指定して、絵日記に登場させられます

インストール

PyPIに公開しているので、uvx を使えばインストール不要で実行できます:

uvx enikki --help

pipでインストールする場合:

pip install enikki
enikki --help

セットアップ

enikkiを使うには、Google AI APIキーが必要です。

  1. https://aistudio.google.com/app/apikey からAPIキーを取得します
  2. 環境変数に設定します:
export GEMINI_API_KEY="your-api-key-here"

これだけでOKです(GOOGLE_API_KEYでも動作します)。

また、設定ファイル(config.toml)を使った詳細な設定も可能です。デフォルトのスタイルやアスペクト比、出力ディレクトリなどを指定できます。詳しくは ドキュメント を参照してください。

使い方

基本的な使い方(対話モード)

uvx enikki run

対話形式で以下を入力していきます:

  1. スタイル選択(4コマ漫画、エッセイ漫画風など)
  2. ストーリー概要の入力
  3. アスペクト比の選択
  4. コマ数の選択
  5. キャラクター画像の指定(オプション)

日本語UIで使いたい場合は --lang ja オプションを付けてください:

uvx enikki --lang ja run

Quick モード(コマンドライン指定)

対話なしでコマンドラインから直接生成することもできます。スクリプトや自動化に便利です:

uvx enikki quick "今日は猫カフェに行きました。たくさんの猫に囲まれて幸せでした。" \
  --style yonkoma \
  --panels 4 \
  --ratio 1:1

主なオプション:

  • --style : スタイル名(例:yonkoma, essay, webtoon
  • --panels : コマ数(1, 2, 3, 4, 6, 8)
  • --ratio : アスペクト比(9:16, 3:4, 1:1, 4:3, 16:9
  • --character : キャラクター画像のパス
  • --output : 出力ディレクトリ

利用可能なスタイル一覧は uvx enikki styles で確認できます。

生成フロー

生成は3ステップで進みます。

Step 1: 脚本生成

ストーリー概要から、各コマの視覚描写・セリフ・感情などを含む脚本を生成します。



脚本が気に入らなければ、追加指示を与えて再生成できます。

Step 2: 画像生成

脚本をもとに、マンガ画像を生成します。

画像も同様に、追加指示を与えて再生成したり、別のスタイルで再生成したりできます。

Step 3: 保存

完成した画像が自動的に開き、ファイルとして保存されます。

実際に生成してみる

タイトルは「Gemini 3を使って絵日記を生成できるCLIツールを作った」、ストーリーは以下の通りのものを入れてみます。

僕は長い間、毎日Web日記を書いている。
AIを使ったら絵日記が書けるかも?
Claude Codeでバイブコーディングだ!
絵日記を生成できるCLIツールができた!

例1: 4コマ漫画

例2: ゆるふわ日常系

例3: 少女漫画風

例4: ホラー漫画風

もうちょっと複雑な例

以下のポストのように、ストーリーやコマ数などを変更することで、もうちょっと複雑なレポート風の絵日記も作れます。

https://x.com/kentaro/status/1996639172220862616

利用可能なスタイル

19種類のスタイルプリセットを用意しています。ものによってはあんまりそれっぽくならないかもしれません。

カテゴリ スタイル
日本漫画 4コマ漫画、少年漫画風、少女漫画風、青年漫画風、ゆるふわ日常系、ホラー漫画風
Web漫画 Webtoon風、SNS漫画風、エッセイ漫画風
海外コミック アメコミ風、バンドデシネ風、マンファ風
アート・実験系 ピクセルアート風、水彩画風、浮世絵風、フィルムノワール風
教育・ビジネス インフォグラフィック風、学習漫画風、ビジネス漫画風

一覧は uvx enikki styles コマンドで確認できます。

APIコスト

enikkiはGoogle Gemini 3 APIを使用しています。1回のマンガ生成(4コマ)にかかるおおよその料金は以下の通りです。

処理 入力トークン 出力トークン 料金
脚本生成 約1,500 約500 約 $0.009
画像生成 約800 約1,120 約 $0.14
合計 - - 約 $0.15(約22円)

再生成を行うと追加料金が発生するので、脚本をしっかり確認してから画像生成に進むのがコツです。

技術的な話

使用技術

  • CLI: Typer + Rich + InquirerPy
  • AI: Google Gemini 3 (gemini-3-pro-preview, gemini-3-pro-image-preview)
  • 画像処理: Pillow

脚本生成

脚本生成では、ストーリー概要とスタイル情報をもとに、各コマの詳細を生成します。出力は以下のような情報を含みます。

  • タイトル
  • 概要
  • 各コマの視覚描写、セリフ、キャラクターの感情、カメラアングル

画像生成

画像生成では、脚本の情報をプロンプトに変換してGemini 3に渡します。プロンプトには以下を含めています。

  • スタイル指定(プリセットごとのプロンプト接頭辞・接尾辞)
  • パネルレイアウトの指示(日本の漫画スタイル、右から左への読み順)
  • キャラクター一貫性の指示
  • 各コマの詳細描写

キャラクター画像を指定した場合は、その画像も一緒に送信して参照させています。

まとめ

enikkiを使えば、日々の出来事を手軽に絵日記風のマンガにできます。AIの力を借りることで、いつもの日記をちょっと違った表現にすることができます。楽しいのでぜひ試してみてください!

uvx enikki --lang ja run

https://github.com/kentaro/enikki

GitHubで編集を提案
GMOペパボ株式会社

Discussion