【AI×WordPress自動化連載】第4回 AI画像生成でアイキャッチ画像を自動作成・設定する

Python自動化

【AI×WordPress自動化連載】第4回 AI画像生成でアイキャッチ画像を自動作成・設定する

こんにちは!「AI×WordPress自動化連載」第4回へようこそ。

これまでの連載では、第1回で自動化の全体像、第2回でAIによる記事構成案の作成、第3回でAIを使った本文生成について解説してきました。もし読んでいない方は、ぜひそちらもチェックしてみてください。

今回のテーマは「AI画像生成によるアイキャッチ画像の自動作成・自動設定」です。記事のクオリティを左右する重要な要素でありながら、意外と手間がかかるのがアイキャッチ画像の準備ですよね。この作業をAIと自動化スクリプトで効率化する方法を、初心者の方にもわかりやすく解説していきます。

① なぜアイキャッチ画像の自動化が重要なのか

まずは「そもそもなぜアイキャッチ画像を自動化する必要があるのか」という点から確認しておきましょう。

アイキャッチ画像の役割

アイキャッチ画像は、SNSシェア時のサムネイルや検索結果、関連記事一覧などに表示される「記事の顔」とも言える存在です。クリック率(CTR)にも大きく影響するため、ブログ運営において非常に重要な要素です。

手動作成の課題

  • 毎回フリー素材サイトで画像を探す手間がかかる
  • 記事の内容にぴったり合う画像が見つからないことが多い
  • 著作権やライセンスの確認が必要
  • デザインソフトでの加工に時間がかかる

これらの課題は、AI画像生成を活用することで大幅に解消できます。記事の内容に合わせたオリジナル画像を、数十秒〜数分で生成できるようになるのです。

② AI画像生成ツール・APIの選び方

AI画像生成にはさまざまなサービスがありますが、自動化のしやすさという観点で代表的なものを紹介します。

主要なAI画像生成サービス

サービス名 特徴 API提供
OpenAI DALL-E 3 自然な文章プロンプトから高品質な画像を生成。ChatGPT APIとの連携も容易 あり
Stable Diffusion オープンソースで自由度が高く、ローカル環境でも実行可能 あり(複数の提供元)
Midjourney 芸術性の高い画像生成が得意だが、API連携はやや複雑 非公式経由で可能

自動化初心者におすすめなのはDALL-E 3 API

本連載ではこれまでOpenAIのAPIを活用してきた流れもあるため、今回も引き続きOpenAIのDALL-E 3 APIを使った方法を解説します。シンプルなコードで画像生成ができ、WordPressとの連携もスムーズに行えます。

③ 記事内容からプロンプトを自動生成する

AI画像生成で最も重要なのが「どんなプロンプト(指示文)を与えるか」です。ここでは記事タイトルや本文からアイキャッチ用のプロンプトを自動生成する流れを解説します。

プロンプト自動生成の考え方

第3回で生成した記事本文やタイトルを入力として、ChatGPT APIに「この記事に合うアイキャッチ画像のプロンプトを英語で生成してください」と指示することで、画像生成用のプロンプトを自動作成できます。

import openai

def generate_image_prompt(article_title, article_summary):
    response = openai.chat.completions.create(
        model="gpt-4o",
        messages=[
            {"role": "system", "content": "あなたはブログのアイキャッチ画像用プロンプトを作成するアシスタントです。"},
            {"role": "user", "content": f"""
以下の記事タイトルと要約をもとに、DALL-E 3用の画像生成プロンプトを英語で1つ作成してください。
写真風ではなく、シンプルでモダンなフラットイラスト風にしてください。

タイトル: {article_title}
要約: {article_summary}
"""}
        ]
    )
    return response.choices[0].message.content

prompt = generate_image_prompt(
    "AI画像生成でアイキャッチ画像を自動作成・設定する",
    "WordPressの記事にAIで生成した画像を自動設定する方法を解説"
)
print(prompt)

生成したプロンプトを使って画像を作成する

def generate_image(prompt):
    response = openai.images.generate(
        model="dall-e-3",
        prompt=prompt,
        size="1792x1024",
        quality="standard",
        n=1
    )
    return response.data[0].url

image_url = generate_image(prompt)
print(image_url)

これで、記事内容に沿ったオリジナル画像のURLが取得できます。次は、この画像をWordPressに自動アップロード・設定する方法を見ていきましょう。

④ WordPressへの自動アップロードとアイキャッチ設定

生成した画像をWordPressのメディアライブラリにアップロードし、該当記事のアイキャッチ画像として設定する処理を実装します。ここではWordPress REST APIを利用します。

事前準備:アプリケーションパスワードの発行

WordPress管理画面の「ユーザー」→「プロフィール」から「アプリケーションパスワード」を発行しておきましょう。これにより、APIリクエスト時の認証が可能になります。

画像のダウンロードとアップロード処理

import requests
import base64

WP_URL = "https://your-site.com"
WP_USER = "your_username"
WP_APP_PASSWORD = "xxxx xxxx xxxx xxxx xxxx xxxx"

def upload_image_to_wp(image_url, filename):
    # 画像データをダウンロード
    image_data = requests.get(image_url).content

    # 認証情報を作成
    credentials = f"{WP_USER}:{WP_APP_PASSWORD}"
    token = base64.b64encode(credentials.encode()).decode("utf-8")

    headers = {
        "Authorization": f"Basic {token}",
        "Content-Disposition": f"attachment; filename={filename}",
        "Content-Type": "image/png",
    }

    response = requests.post(
        f"{WP_URL}/wp-json/wp/v2/media",
        headers=headers,
        data=image_data
    )
    return response.json()["id"]

media_id = upload_image_to_wp(image_url, "eyecatch.png")
print("アップロードした画像のID:", media_id)

記事にアイキャッチ画像として設定する

def set_featured_image(post_id, media_id):
    credentials = f"{WP_USER}:{WP_APP_PASSWORD}"
    token = base64.b64encode(credentials.encode()).decode("utf-8")

    headers = {
        "Authorization": f"Basic {token}",
        "Content-Type": "application/json",
    }

    data = {"featured_media": media_id}

    response = requests.post(
        f"{WP_URL}/wp-json/wp/v2/posts/{post_id}",
        headers=headers,
        json=data
    )
    return response.json()

result = set_featured_image(post_id=123, media_id=media_id)
print("設定結果:", result["featured_media"])

この処理を記事投稿の自動化フローに組み込むことで、「記事生成→画像生成→アップロード→アイキャッチ設定」までを完全自動化できます。

運用時の注意点

  • API利用料金:DALL-E 3の画像生成にはコストがかかるため、生成頻度やサイズに注意しましょう
  • 画像サイズの最適化:アップロード前にリサイズ・圧縮を行うとサイト表示速度の低下を防げます
  • プロンプトの一貫性:サイト全体のトンマナを統一するため、プロンプトのテンプレート化がおすすめです
  • 生成結果の確認:完全自動化する場合でも、不適切な画像が生成されないか定期的にチェックする仕組みを用意しましょう

まとめ

今回は「AI画像生成でアイキャッチ画像を自動作成・設定する」方法について解説しました。

  • アイキャッチ画像の自動化は、手間の削減だけでなく記事のクオリティ向上にもつながる
  • DALL-E 3 APIを使えば、記事内容に合わせたプロンプトから簡単に画像生成できる
  • WordPress REST APIを使うことで、画像のアップロードからアイキャッチ設定までを自動化できる
  • コストやトンマナ、品質チェックなど運用面の工夫も重要

\ 高速WordPress環境を構築するなら /

【15日間無料】コアサーバーでWordPressを始める >

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