
KDP表紙 日本語テキスト入り画像生成5ツール比較【2026年実測】
KDPで電子書籍を出すとき、表紙で詰まる人は多い。特に「日本語タイトルを画像に乗せたい」となった瞬間に、ほとんどのAI画像生成ツールが崩壊する。文字化け、豆腐、意味不明なグリフ——これを全部試してきた。
この記事でわかること:
– 日本語テキスト入り画像生成に使える5ツールの実力
– 文字崩れしない/しやすい傾向の違い
– 完全自動化パイプラインに組み込めるかどうかの判定
– コピペで使えるプロンプトテンプレート
自動化パイプラインでKDPを毎日1本出すために、全部実際に叩いた結果を書く。
5ツール比較表
| ツール | 日本語文字品質 | API自動化 | コスト | 速度 | 総合評価 |
|---|---|---|---|---|---|
| Gemini(Web経由) | ◎ 文字崩れほぼなし | △ CDP操作必要 | 無料枠あり | 中 | A |
| DALL-E 3(GPT-4o) | ○ 英語プロンプトで改善 | ◎ API直接 | $0.04/枚 | 速 | B |
| Stable Diffusion(ComfyUI) | △ 日本語はほぼ無理 | ◎ ローカルAPI | 電気代のみ | 中 | C |
| Pollinations.ai | × 日本語で404多発 | ◎ 無料API | 無料 | 速 | D |
| Midjourney | △ 英語優先・文字弱い | × Discord限定 | $10〜/月 | 中 | D |
結論から言うと、Gemini一択だった。以下に詳細を書く。
Gemini Web経由:日本語テキストの精度が別格
Gemini(Gemini 2.0 Flash / Ultra)は、日本語テキストを画像内に描写させると他ツールと比べて明らかに精度が高い。
プロンプト形式で重要なのが「英語で書いて、日本語テキストを明示する」パターン。
# コピペ可
Book cover design, minimalist style, dark gradient background,
Japanese title text "10分でわかるAI副業" displayed prominently at the top,
author name "一ノ瀬泰斗" at the bottom,
clean typography, professional ebook cover
これで文字化けは9割消える。日本語を直接プロンプトに書くと崩れやすい。「書いて」「配置して」みたいな日本語動詞が混ざると特に怪しくなる。
自動化は Playwright + Brave CDP 経由で実装している。Gemini WebのUIをスクレイピングして画像を取得する方法で、セッション切れもない。
# cdp_browser.py 経由で Brave に接続
from cdp_browser import connect_cdp_sync
from playwright.sync_api import sync_playwright
with sync_playwright() as pw:
browser, ctx = connect_cdp_sync(pw)
page = ctx.new_page()
page.goto("https://gemini.google.com")
# プロンプト入力 → 画像取得
browser.close()
1日20枚程度使っても無料枠で収まっている。
DALL-E 3(GPT-4o API):英語テキストに特化させると使える
DALL-E 3はAPIで叩けるので自動化に向いている。ただし日本語テキストの精度はGeminiに劣る。
試した感触では「英語タイトルを画像内に入れて、後でPillowで日本語テキストを重ねる」ハイブリッドが一番安定する。
# コピペ可
import openai
from PIL import Image, ImageDraw, ImageFont
import requests
client = openai.OpenAI()
response = client.images.generate(
model="dall-e-3",
prompt="Professional ebook cover, dark theme, abstract tech pattern, no text",
size="1024x1024"
)
# 画像取得 → Pillowで日本語テキスト描画
img = Image.open(requests.get(response.data[0].url, stream=True).raw)
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("/System/Library/Fonts/ヒラギノ角ゴシック W6.ttc", 60)
draw.text((100, 100), "10分でわかるAI副業", font=font, fill="white")
img.save("cover.png")
コスト感は1枚$0.04。月100枚生成しても$4。これは許容範囲だけど、Geminiが無料で高精度なので出番は少ない。
Stable Diffusion(ComfyUI):日本語は諦めてPillow合成一択
ローカルで動かせるのは強みだが、日本語テキストの描写は実質不可能と思っていい。LoRAを使っても文字が崩れる。
対策として「背景デザインだけSD、テキスト合成はPillow」で分業させている。
# ComfyUI API呼び出し例
# ローカル: http://localhost:8188/prompt
import requests, json
prompt = {
"3": {
"class_type": "KSampler",
"inputs": {
"model": ["4", 0],
"positive": ["6", 0],
"negative": ["7", 0],
"seed": 42, "steps": 20, "cfg": 7
}
}
# ...以下省略
}
requests.post("http://localhost:8188/prompt", json={"prompt": prompt})
電気代だけで動くのでコストはゼロ。品質の天井はモデル依存で、日本語テキストが不要な「背景生成専用機」として使い続けている。
Pollinations.ai:無料で速いが日本語は罰ゲーム
最初は「無料で使えるAPI」として期待していた。実際に試したら、日本語文字列をURLに含めた瞬間に404が多発した。
原因を調べたら、orやand、/、改行コード、引用符といった文字列がWAFに引っかかってブロックされるパターンだった。
# これは通る
https://image.pollinations.ai/prompt/book%20cover%20dark%20theme
# これは404になる
https://image.pollinations.ai/prompt/AI副業の本・表紙デザイン
英語プロンプトだけ使うなら速くて無料なので使い道はある。KDP表紙の日本語タイトル入りには向かない。
Midjourney:クオリティは高いが自動化できない
Discordのコマンドで動かす仕様なので、自動化パイプラインに組み込むのが実質無理。APIが存在するがサードパーティ製で不安定。
月額$10〜の費用を払って手動で生成するなら選択肢に入る。ただし日本語テキストの精度はそこまで高くなく、英語タイトルに強い印象。自動化を前提にしている僕の用途には合わなかった。
コピペで使えるカスケードパイプライン
実際に動いている4段カスケード構成を抜粋する。Gemini→DALL-E→Pollinations→SD の順で成功したら止まる設計。
# コピペ可 / image_gen_cascade.py 抜粋
PROVIDERS = ["gemini", "dalle", "pollinations", "stable_diffusion"]
def generate_cover(title: str, author: str) -> str:
prompt_en = build_english_prompt(title, author)
for provider in PROVIDERS:
try:
path = generate_with_provider(provider, prompt_en)
if path:
print(f"[{provider}] 生成成功: {path}")
return path
except Exception as e:
print(f"[{provider}] 失敗: {e}, 次のプロバイダへ")
raise RuntimeError("全プロバイダ失敗")
def build_english_prompt(title: str, author: str) -> str:
return (
f'Professional ebook cover, dark minimalist design, '
f'Japanese text "{title}" at the top, '
f'author name "{author}" at the bottom, '
f'abstract tech background, high quality'
)
Geminiが死んでいてもDALL-Eで拾える。DALL-Eのクレジットが切れていてもPollinationsで英語テキスト版が出る。どれかが通る構成にしておくと、夜間の無人稼働でも止まらない。
よくある質問
日本語テキストを画像に入れる一番確実な方法は?
Geminiで「英語プロンプト+日本語テキストを明示」するパターンが今のところ最も安定している。それでも崩れる場合は、Pillowで後からテキストを描画するハイブリッド方式に切り替える。
Gemini Webの自動化はAPI規約的に大丈夫?
Gemini API(REST)には課金が発生する。Gemini WebをCDP経由で操作する方法はグレーゾーンで、明示的に禁止されているわけではないが、利用規約を自分で確認してほしい。商用利用の場合はAPIを使うのが安全。
KDP表紙の推奨解像度は?
KDPの推奨は縦2560px×横1600px、縦横比1.6:1、72DPI以上。DALL-E 3のデフォルト出力(1024×1024)は正方形なので、KDP向けにはリサイズか縦長プロンプトの指定が必要。
Stable DiffusionのLoRAで日本語テキストに対応できる?
「文字LoRA」と呼ばれるモデルが存在するが、精度は英語アルファベットに最適化されているものが多い。日本語に特化したLoRAは少数で、品質のばらつきが大きい。Pillowで合成する方が確実。
Pollinationsの404を回避する方法は?
日本語・記号・改行を全部URLエンコードして、それでも通らない場合はゼロ幅スペース(U+200B)を特定の文字の後に挿入するバイパス手法がある。ただし継続的に使えるかは保証できない。英語プロンプトだけ使う方が根本的な解決になる。
まとめ
- 日本語テキスト入り画像生成はGeminiが頭一つ抜けている
- プロンプトは英語で書いて日本語テキストを文字列として明示する形式が文字化け防止に効く
- 自動化パイプラインにはカスケード構成(複数プロバイダを順番に試す)が安定する
- DALL-E 3はAPI自動化に向くが日本語テキストはPillow合成と組み合わせるのが現実的
- Pollinationsは日本語を含むURLを投げた瞬間に信頼性が落ちる
- Midjourneyはクオリティは良いが自動化目的には向かない
この記事を読んだあなたに:
– KDP自動出版パイプラインの全体設計を解説 #
– Brave CDP接続でPlaywrightセッション切れを根絶した方法 #
– image_gen_cascade.py の実装全文と設定方法 #