なぜAIは表紙に文字を入れるのか
意味不明な文字は不具合ではなく、プロンプトで頼んだ結果です。モデルは何百万もの本の表紙を見てきましたが、そのほぼすべてにタイトルが載っています。そのため、プロンプトに「book cover」という言葉を入れると、統計的には文字を要求したことになります。商品名を挙げるのをやめれば、文字は出てこなくなります。
「book cover」という言葉が引き金
画像生成モデルは本を理解しているわけではなく、統計を理解しています。学習の過程で、モデルは何百万もの表紙を吸収しました。そのほとんどすべてに、タイトル、著者名、出版社のマークが載っていました。そのため、プロンプトにbook coverと書くと、雰囲気を伝えているのではなく、統計的には文字を要求していることになります。モデルは、自分に作れる唯一の文字、つまり文字の形をしたノイズで応えます。
モデルにとって、文字の形はレンガや樹皮や雨のようなテクスチャです。リズムや太さ、配置といった、外から見たタイポグラフィの見た目だけを学び、綴りは一度も学んでいません。だから結果は、いかにもタイトルらしく見えるのに、何も読み取れないのです。
商品ではなく、アートそのものを描写
最も効果的な変更は、費用がかかりません。商品名を挙げるのをやめることです。表紙を頼むのではなく、画面の中に何があるかを描写します。
- 弱い例:幽霊の出る灯台を題材にしたホラーの本の表紙。強い例:夜の黒い断崖に立つ灯台、明かりのついた窓がひとつ、霧、縦長の構図、no text, no letters。
- 弱い例:壮大なファンタジー小説の表紙、ベストセラー風。強い例:夜明けの霧深い谷を渡るひとりの騎手、上3分の1は何もない空、no text, no typography。
そのうえで、すべてのプロンプトの最後に、除外したい要素をはっきり書き添えます。no text, no letters, no typography, no watermark(テキストなし・文字なし・タイポグラフィなし・透かしなし)。簡単な言葉をそのまま並べるだけで構いません。ひとつひとつが統計上の重みとなり、モデルを文字から遠ざけます。
ネガティブプロンプトだけでは防げない理由
除外指定は文字が出る確率を下げますが、ゼロにはしません。何百万枚ものタイトル付きの表紙を見てきたモデルは、それでも文字に傾きます。その傾きは「no text」と指定しても残ります。とくに最後に確認する場所に出やすく、隅に現れる幽霊のような単語、背表紙に沿ったルーン文字、背景の店の看板、透かしのような形のにじみなどがその例です。
しかも、いったん文字が焼き込まれると、その下のテクスチャにも焼き込まれます。文字を消すレタッチは、文字の裏に本来存在しなかった霧や石や肌を最初から作り直すことを意味します。たいていは難しく、仕上がりはいつも見劣りします。より良いプロンプトできれいな画像を生成し直すほうがましです。
根本的な解決策:文字は生成に含めない
プロの表紙は、1枚の画像ではありません。下にアート、上に編集できる文字という2つのレイヤーでできています。アートは文字なしで生成し、タイトルはあとから本物の文字として入れます。サブタイトルが変わっても編集でき、次の市場向けに翻訳でき、背表紙に合わせてサイズを変えられます。描き込まれた文字がぼやけてしまうAmazonのサムネイルサイズでも、くっきり表示されます。
これはまさに、PrintReadyCoversの無料スタジオが行っているワークフローです。プロンプトから画面内に文字なしのアートが生成され、タイトルはジャンルに合ったディスプレイ書体の編集できる文字として上に重ねられます。タイトルの変更は10秒で済み、アートには何の影響もありません。
生成済みの画像の直し方
生成結果が良すぎて捨てられないこともあります。修正方法は3つあり、ごまかしの少ない順に紹介します。
- トリミング:文字が端の近くにあるなら、画像の範囲を調整して、2:3の切り抜きの外に出します。
- 暗くする:問題のある部分に、濃くしたグラデーションや影のパネルを重ねます。そこはタイトル用の領域にもなり、欠点がそのままレイアウトになります。
- 再生成:文字が主役の被写体にかかっているなら、言い回しを改善して生成し直します。再生成のコストはプロンプト1回分です。説得力のあるレタッチにはひと晩かかります。
目安は、端の問題は修復、中央の問題は再生成です。
よくある質問
AIに正確なタイトルを渡して描かせるだけではだめですか?
できますし、新しいモデルなら綴りを正しく描くこともあります。ただ、焼き込まれた文字は死んだ文字です。カーニングも、色の変更も、サイズ変更も、翻訳もできず、サブタイトルの変更には耐えられず、サムネイルサイズではぐちゃぐちゃに潰れてしまいます。文字なしのアートに本物の文字を重ねておけば、いつまでも編集できます。
AIの文字が意味不明になるのはなぜですか?
モデルは綴りを学んだことがなく、タイポグラフィがテクスチャとしてどう見えるか、つまり線のリズム、太さ、配置を学びました。文字という概念を持たないまま文字の見た目だけを再現するので、もっともらしい形ばかりで、何も綴られていないものができます。短い単語なら正しく残ることもありますが、タイトル全体が正しく残ることはまれです。
すでに生成した表紙から文字を消すには、どうすればよいですか?
文字が端の近くにあるなら、2:3の枠からトリミングで外します。目立たない背景の中にあるなら、暗くしたパネルで覆い、そこに本物のタイトルを入れます。主役の被写体にかかっているなら、生成し直します。文字の裏のテクスチャを作り直すより、新しく生成したほうが、ほとんどの場合きれいに仕上がります。
「no text」のプロンプトは、Midjourney、DALL·E、Fluxで効きますか?
どこでも効果はありますが、どこでも保証はされません。ネガティブプロンプト専用の欄があるツールもあれば、メインのプロンプトに除外指定を書くツールもありますが、どの場合も確率を下げるだけで、ゼロにはなりません。確実性が高いのは、「book cover」ではなくアートそのものを描写し、そのうえで除外指定をはっきり加える組み合わせです。