文字を画像内に書き出す画像生成AIが増えていく中で、どのようにテキスト指定をしたらいいか困っている方も多いでしょう。
こちらの記事ではまず、文字を指定する方法の基本。
そしてよく使われる書き方を例文を交えて解説しています。
画像生成AIに文字を指定して書く方法
実は画像生成AI側で、文字を書く場合決まった指定方法はありません。しかし、推奨される方法はあります。
それが「""で囲うこと」と「シチュエーション」の理解です。
""ダブルクォーテーションやシングルクォーテーションで囲う
生成AIは文字がどの様に扱われるかを客観的に理解するのが困難です。
ですので、特別な記号でこれは「書き文字のリクエストだよ」と命令を与える必要があります。
'それをわかりやすくしているのが「" "(ダブルクォーテーション)」や「' 'シングルクォーテーション」で囲うことす。
例えば一番単純な命令は以下です。
Written by "Hallo" on the wood board
こういった書き方で「Hallo」を書いてくれというのが伝わります。
シチュエーション
生成AI側は、文字起こしされる文字本体が「どのようなシチュエーションで」画面内にいるのかを判断させると理解をしやすくなります。
ですので例えば先ほど書いたように、ウッドボードに「Hallo」と書かれているという命令を載せると、文字をどこに置くべきかを判断しやすいのでスムーズに進められます。
文字指定の書き方例
では実際にごく短い書き方の例をいくつか紹介します。
Elegant script reading 'Welcome Home'
Bold letters spelling 'SALE'
Delicate calligraphy that says 'Peace & Love'
Graffiti art with the word 'Freedom'
A sticky note with 'Don't Forget!' written in a hurried handwriting
'Adventure Awaits' written in a whimsical font
それぞれ一番簡単な書き方の指定にとどめています。
ちょっとシチュエーションが足りないので、アレンジして使ってみてください。
共通しているのは「Write」でも「Spelling」でも「Word」でも「note with」でもAIに内容が伝わればいいということであると言えます。
文字指定で使われる前置詞やシチュエーションの説明例
文字の指定周辺で使われる前置詞を確認しておきましょう。
代表的には以下のような表現と意味があります。
あくまでも一般的なものですので、用途に応じて書き換えて使ってください。
"on"
- 用途: オブジェクトの表面に文字が表示される場面を指定します。
- 例: The word 'Good' written on a sandy beach.(砂浜に「Good」と書かれている)
"in"
- 用途: 文字が含まれる特定のスペースやコンテキストを示します。
- 例: A sign in the window saying 'Open'.(窓に「Open」という看板がある)
"with"
- 用途: 文字と一緒に表示されるオブジェクトや要素を指定します。
- 例: A birthday card with 'Happy Birthday' in elegant script.(エレガントな筆記体で「Happy Birthday」と書かれた誕生日カード)
"by"
- 用途: 文字の作成者や作成方法を指定します。
- 例: A graffiti wall by the artist, with the tag 'Freedom'.(アーティストによる「Freedom」というタグのあるグラフィティの壁)
"under"
- 用途: 文字が他の要素の下に配置されることを示します。
- 例: A street sign under a streetlight, reading 'Main St'.(街灯の下の「Main St」と読める街角の標識)
これらの前置詞を使用して命令を構築することで、AIに対して文字の表示方法、位置、そして関連する要素についてより具体的な指示を提供できます。
生成AIは英語で命令したほうが内容を理解し易いので、こういった簡単な前置詞を意識すると、より明確に命令が伝えられます。
他にも下記のような例があります。このあたりはシチュエーション例になってきて用法が難しいので無理して覚えるというよりは翻訳と合わせて使うのが楽になるでしょう。
"above"
- 用途: 文字があるポイントやオブジェクトの上方に配置されることを示します。
- 例: A cloud above the mountain peak, shaped like the word 'Dream'.(山の頂上の上にある、'Dream'という言葉の形をした雲)
"beside"
- 用途: 文字があるオブジェクトや要素の隣に配置されることを示します。
- 例: A coffee cup beside a notebook with 'Good Morning' written on its cover.(カバーに'Good Morning'と書かれたノートの横にあるコーヒーカップ)
"between"
- 用途: 文字が2つのポイントやオブジェクトの間に配置されることを示します。
- 例: A bench between two trees, carved with the phrase 'Forever Friends'.(二本の木の間のベンチに「Forever Friends」と刻まれている)
"against"
- 用途: 文字がある背景やオブジェクトに対して強調されることを示します。
- 例: The words 'Stay Strong' projected against a city building at night.(夜の都市のビルに映し出された「Stay Strong」という言葉)
"across"
- 用途: 文字がある領域や表面を横切っていることを示します。
- 例: Footprints across the snow, forming the word 'Hope'.(雪の上を横切る足跡が「Hope」という言葉を形成している)
"beneath"
- 用途: 文字があるオブジェクトや要素の下方に配置されることを示します。
- 例: A hidden message beneath the painting, visible only under UV light, reading 'True Art Never Dies'.(UV光の下でのみ見える絵画の下に隠されたメッセージ「True Art Never Dies」)
これらの前置詞を使用することで、画像内の文字の配置、関連するオブジェクトや要素との関係、そしてシーンの構成をAIに対してより詳細に指示できます。前置詞の選択は、望む画像のコンテキストやビジュアルの意図に基づいて行うことが重要です。
画像生成AIの文字書き出し見比べ
では実際にいくつかのツールで出力実験をしてみましょう。
用意したプロンプトはこちらです。
"Welcome" sign hangs at the entrance of the log house, which exudes a charming atmosphere, clearly identifiable as a restaurant at first glance.
まだ日本語に対応していないツールもありますので、今回は「Welcome」にしました。
DALLE-E3(ChatGPT有料版)です。
品質がそこそこ高めできれいに作られていますが、ドアマットとメニューボードに関しては文字を指定していない為か読み取れる文字になって言いません。
Leonardo AIのLeonardo Anime XLです。
石垣の上にログハウス風があるのは同じ解釈です。
肝心の看板が誤字になっているのが残念ですね。
イデオグラムAIです。
筆記体で対応していて、かなり実車風に出力していることがわかります。
これはかなりキレイに文字が出ていると言えそうですね。
ちなみに同時に生成された他の画像はこんな感じです。
Midjourneyです。
特に指定が無いと写真のようなクオリティで作成してくれるバージョン6。
簡単な文字列なので、出力もぶれずにできています。
最後にNiji-Journeyです。
ベースが同じバージョンなので、精度はほぼ同じで絵柄が変わっているといった感じですね。
これでどのモデルでもある程度こなせることがわかりましたが、DALLE-E3とLeonardo AIはまだまだ不安定な感じがしています。
もし、修正系のツールがあれば、併用も検討に入れて画像を作ってみるとよいでしょう。