Gemini×Pythonで作る!全自動かつ「超・人間くさい」ブログ運営システムの裏側【第4回:4コマ漫画サムネイルの自動生成】

連載第4回。ブログの「顔」となるアイキャッチ(サムネイル)画像についてです。

フリー素材からの脱却

よくある自動化ブログでは、UnsplashやO-DANなどのAPIから適当なフリー素材を引っ張ってきます。しかし技術者たるもの、そこで妥協したくありません。いかにもな外国人の笑顔やキーボードの写真は、読者に「またこの手の量産型ブログか」という無意識の拒否反応を与えます。

本システムでは、記事の内容を反映した4コマ漫画の画像生成プロンプトをAIに作らせ、完全にオリジナルのアイキャッチ画像を生成します。

記事の要約とプロンプトの動的構築

まず、生成された記事本文のHTMLからテキストを抽出し、先頭の600文字程度をGeminiに渡して要約させます。そして、第1回で紹介した `blogs.yml` から、そのブログ専用の画風設定(`manga_config`)を読み込みます。

```python

manga_config = plan.get('blog_config', {}).get('manga_config', {})
manga_characters = manga_config.get('characters', 'a woman and a quirky AI robot')
manga_style = manga_config.get('style', 'colored manga style using a limited palette of 3 pastel colors')
manga_author = manga_config.get('author', 'friendly, clean shounen manga art style')
```

これらを組み合わせて、画像生成AI(MidjourneyやDALL-E)向けの英語プロンプトを構築します。

```python
manga_prompt_instruction = f"""
記事タイトル: {extracted_title}
記事の要約: {body_summary}

以下のテンプレートに従い、[TOPIC]部分だけを書き換えて英語のプロンプトを出力せよ:
"A safe-for-work 4-panel Japanese manga comic strip (yonkoma style) about [TOPIC]. Drawn in a {manga_author}. Panel 1: setup scene with two characters ({manga_characters}). Panel 2: rising action with comedic misunderstanding. Panel 3: surprising twist related to [TOPIC]. Panel 4: funny resolution with both characters reacting. Clean lineart, family-friendly, {manga_style}."
"""
```

ブログごとに劇的に変わる世界観

この仕組みにより、ブログごとに全く異なる世界観のアイキャッチが全自動で生成されます。

  • 投資ブログの場合: 真面目なスーツ姿の投資家と解説役のフクロウが、ビジネス書風のクリーンなスタイルでNISAの解説をする4コマ。
  • 深夜のお悩み相談ブログの場合: バーのマスターと悩める客が、セピア調の劇画タッチで人間関係を語る4コマ。

画像生成モデルは驚異的なスピードで進化していますが、単にプロンプトを手打ちするのではなく、この「コンテキスト(文脈)を理解して適切なプロンプトを動的に組み立てる層(オーケストレーション)」をPythonで作っておくことが、今の時代におけるAIエンジニアの真の遊びであり、腕の見せ所だと思っています。

いよいよ次回は最終回。「収益化(楽天アフィリエイト)と完全自動投稿」の仕組みについて解説します。