【記事】上部

広告 AI 画像系AI

【AI画像生成】プロンプトの書き方と上手く画像生成するコツ【SeaArt】

この記事は2024年に公開したものです。

AIで画像を作る時に欠かせないものがプロンプトです。

このプロンプトを上手く書けるかどうかによって、画像生成のクオリティは大きく変わってくるでしょう。

この記事では初心者の方にも分かりやすいように画像付き「守るべきプロンプトの書き方」「思い通りに画像を生成するためのコツ」を解説しています。ぜひここに書いてあることを試してみてください!

プロンプト とは

まずは

そもそもプロンプトとは何か?

についてさらっと触れておきます。

プロンプトとは、AIに対する指示のことです。

下の画像はSeaArtでプロンプトを入力した際のスクリーンショットです。

これは、AIに対して

雨の中でこっちを見ている金髪ロングで青目の魔女 を描いてね

という指示を出しているわけです。
(その指示をAIが正しく汲んでくれるかはまた別の話ですが)

そして出来た画像がこちらです。

プロンプトを書く時のルール

世の中には生成AIが数多く存在しますが、多くの生成AIで共通とされているルールがあります。

それは

プロンプトとプロンプトの間には「,」と「半角スペース」を入力する

というルールです。

つまり

プロンプトA, プロンプトB, プロンプトC, プロンプトD

という書き方が、多くの生成AIでは採用されています。

プロンプトを書く時のコツ

上の「プロンプト同士の間には『,』と『半角スペース』」のルールさえ守っていればAIにプロンプトは渡せます。

しかし、それだけではAIはプロンプトの意図までは汲み取ってくれず、なかなか思ったような画像を作れないこともあります。

なので「プロンプトを書く際のコツ」を覚えておいて、自由自在に画像を作れるようになりましょう!

( ) で囲んで強調度アップ!

他の人が生成した画像のプロンプトを見ると、↓のように( )でプロンプトを囲んでいるのをよく見かけます。

これが何を意味しているのかというと

( )の中のものは、より重要なプロンプトですからね

ということをAIに伝えているのです。

そうすることによって( )の中のプロンプトがより強調されて描写されるようになります。

例えば最初にお見せした↓の画像は、プロンプトに「雨」という言葉を含んでいるのにやや雨感が足りていない気がします。

そんな時、「雨」というプロンプトを( )で囲うと.....

プロンプト

(雨), 魔女, こっちを見ている, 青い目, 金髪, ロングヘアー

生成中......

どうでしょう、ちょっと「雨感」が増しましたよね?
これが( )で囲うことによって得られる効果です!

さらに、( )は(( ))や((( )))など重ねることでより効力を増します

((雨))の場合

(((雨)))の場合

( )の補正率

この( )や(( ))による効果の補正率は

  • ( )......( )内のプロンプトを1.1倍強調する
  • (( ))......(( ))内のプロンプトを1.21倍強調する (1.1×1.1=1.21)
  • ((( )))......((( ))))内のプロンプトを1.331倍強調する (1.1×1.1×1.1=1.331)

と一般的に言われています。

さらに、(((( )))) や、極端な場合だと(((((((( )))))))) でも効果は変わるのか? と思って試してみましたので、そちらも併せてご覧くださいませ。

((((雨))))の場合

(((((雨)))))の場合

結果、少なくともSeaArtでは効果がありそうです。

ただし、極端に( )を増やすと画像が崩れやすいので注意が必要です。

また( )の中には複数プロンプトを入れて補正をかけられますので、そちらも上手く活用すればすっきりとしたプロンプト欄を書くことができます。

(プロンプト:数値)で強調度を指定!

( )で囲ってプロンプトの強調度を上げられますが、直接値を指定して強調度を上げることができます。

また他の人が生成した画像のプロンプトですが、以下のプロンプトをご覧ください。

( ) の中に:数値を入れると、その数値の分だけ強調度に補正がかかります。

(プロンプト:数値)

以下「雨」に数値で強調度補正をかけて生成した画像です。

[] や :数値 で強調度を下げよう!

今までは「プロンプトの強調度を上げる」方法を解説しましたが、次は「プロンプトの強調度を下げる方法」についても説明します!

( )でプロンプトを囲うと強調度が上がりますが、[]で囲えば強調度を下げることができます

[ ]の補正率

[ ]による補正も、( )と同じく1.1倍の補正を描けます

  • [ ]......( )内のプロンプトを1.1倍強調度を下げる
  • [[ ]]......(( ))内のプロンプトを1.21倍強調度を下げる (1.1×1.1=1.21)
  • [[[ ]]]......((( ))))内のプロンプトを1.331倍強調度を下げる (1.1×1.1×1.1=1.331)

と一般的に言われています。

以下のプロンプトで生成してみます。

プロンプト

雨, 魔女, こっちを見ている, 青い目, [[金髪]], ロングヘアー

生成中......

補正なし

[[金髪]]

[[ ]]の方が色味が薄いですね。

また、(プロンプト:数値)で強調度を下げることも出来ます。

プロンプト

雨, 魔女, こっちを見ている, 青い目, (金髪:0.5), ロングヘアー

補正なし

(金髪:0.5)

そこまで重要じゃないプロンプトの要素が強く描写されている時など、この方法で強調度を下げましょう!

プロンプトの順番で強調度を変えよう

プロンプトは、記述された順番によっても強調度を変えられます。

まずは↓のプロンプト、一番最初に「こっちを見ている」を記述しました。

プロンプト

こっちを見ている, 雨, 魔女, 青い目, 金髪, ロングヘアー

生成中......

けい10枚同じプロンプトで生成しましたが、ほとんどこちらに視線を向けている画像になっています。
9/10枚が視線をこちらに向けている。)

次は↓のプロンプトで10枚画像を生成していきます。

プロンプト

雨, 魔女, 青い目, 金髪, ロングヘアー, こっちを見ている

生成中......

視線がこちらに向いていない画像が増えました。(6/10枚

今回試したプロンプトは僅か6個なので、そこまで顕著に差は現れませんでしたが、プロンプトが多くなってくれば多くなってくるほどこの記述する順番というのが大事になってきます。

[プロンプトA:プロンプトB:数値]で色を混ぜてみよう!

例えば

赤みのある金髪にしたい

と思った時、活用できるテクニックがあります。

それが[プロンプトA:プロンプトB:数値]という記述方法です。

今回は「金髪に赤みを足したい」ということで、↓のようなプロンプトを書きました。

プロンプト

雨, 魔女, こっちを見ている, 青い目, [金髪:赤髪:0.6], ロングヘアー

生成中......

赤みが増したね。

今回は数値の部分を0.6としましたが、この数値は低いほどプロンプトBの要素(色)が強まります

次は↓のようなプロンプトで生成します。

プロンプト

雨, 魔女, こっちを見ている, 青い目, [金髪:赤髪:0.5], ロングヘアー

大分赤みが強まりましたね!

こちらのサイト様が詳しく解説されているので「なぜこの書き方で色が混ざるのか」が気になる方はぜひ確認してみてください!

さいごに

AI画像生成においてなくてはならぬ存在、それがプロンプトです。

最初は上手く使いこなせるかなかなか自信が持てないかもしれません。

というか筆者も全然自信がありません。

しかし楽しみながら画像を作っていけば段々と使い方が身に付いてくるかと思いますので、まずはこの記事に書いたことのどれか1つでも、試してもらえると嬉しいです!

    人気の記事

    1

    種類が、種類が多すぎる...!

    2

    「カスタムオーダーメイド3D2」にMODを導入する解説記事。
    今回は「しばりす2」編です。

    -AI, 画像系AI