Stable DiffusionでのBreak構文の使い方!他の強調方法も紹介 | romptn Magazine

Stable DiffusionでのBreak構文の使い方!他の強調方法も紹介

Stable Diffusion

Stable Diffusionで呪文(プロンプト)を入力する際に『Break構文の使い方が分からない』そんな悩みを持っていませんか?

Break構文をうまく活用できれば、生成した画像のちょっとした修正が簡単にできます。

今回の記事ではBreak構文の使い方について解説します。break構文で修正されない場合の対処法も紹介しているので、参考にしてください!

スポンサーリンク

Stable Diffusionの『Break』構文とは

Break』とは、呪文(プロンプト)に書き込んだ特定のトークンを強調するための構文です。Breakの次に来るトークンが、強調されます。

また、”break keyword”とも呼ばれています。

Stable Diffusionの『トークン』について

Stable Diffusionにおけるトークン』とは、プロンプトに書き込んだ文字列(英単語)のことです。

1単語=1トークンのとしてカウントし、トークンの区切りに使われる『,(カンマ)』も1トークンとしてみなされます。

書き込んだトークンの数は、プロンプトを書き込むボックスの右上で確認可能です。

呪文(プロンプト)は75単語で1グループ

Stable Diffusionのプロンプトは、75トークンで1グループとなります。

グループ内に序列があり、1番目のトークンが一番強く75番目のトークンが一番弱い指示になります。

また1グループ目75番目のトークンより、2グループ目1番目のトークン(全体76番目のトークン)の方が強くなります。

『Break』でグループを区切る

呪文(プロンプト)内に『Break』を入れると、強制的にグループの区切りを作ります。

つまりBreakの次に来るトークンが擬似的な1番目のトークンとなり、優先順位を高くできるというわけです。

Stable Diffusionの画像生成を最速で学びたいあなたへ!
  • Stable Diffusionの基礎を2時間でマスター!
  • 高スペックPCがない方向けに徹底解説。
  • ControlNetなど、必須級の拡張機能も網羅。
  • 今話題のSDXL、AI動画生成も。
  • 特典として、大人気「おすすめ拡張機能・モデル解説」「プロンプト大全」つき!
\このボタン限定!70%オフキャンペーン実施中!/
70%オフキャンペーン実施中!/

Stable DiffusionでBreak構文を使ってみた!

実際にBreak構文を使って、生成した画像を修正してみました。

Break構文を使わなかった場合

まずは修正前の画像。

呪文(プロンプト)

1 girl,standing pose,cute,cute eyes,detailed hair,anime,highlight hair,front sun light,beautiful hair,illustration,face up,smile,white teeth, school uniform, blue ribbon,gentle smiling expression of a woman,black hair,Blue eyes, acing front,

青い瞳(blue eyes)と指示しましたが、片方の目が若干紫になっています。Break構文を使って、紫の瞳を青くしてみましょう

Break構文を使った場合

Break構文を使って、修正した結果の画像がこちら。

1 girl,standing pose,cute,cute eyes,detailed hair,anime,highlight hair,front sun light,beautiful hair,illustration,face up,smile,white teeth, school uniform, blue ribbon,gentle smiling expression of a woman,black hair,break,Blue eyes, acing front,

『blue eyes』の前にBreak構文を入れた結果、きちんと青い瞳になりました。

生成した画像を修正したいなら、修正した箇所に関するトークンの前にBreak構文を入れてみましょう

Break構文を入れて生成し直す前に、必ずSeed値は固定してください。全く別の画像が生成されてしまいます。

※Seed値の固定方法については、以下の記事を参考にしてください。

Break構文が効かない場合もある

注意点として、Break構文の効果が薄い場合があります。例えば下の画像では、『夜道の女子高生』を描いてもらいましたが、背景は夕方です。

1 girl,standing pose,cute,cute eyes,detailed hair,anime,highlight hair,front sun light,beautiful hair,illustration,face up,smile,white teeth, break,school uniform, blue ribbon,gentle smiling expression of a woman,black hair,Blue eyes, acing front,night walk

夜道のトークン『night walk』を追加しても、夕方のままでした。

1 girl,standing pose,cute,cute eyes,detailed hair,anime,highlight hair,front sun light,beautiful hair,illustration,face up,smile,white teeth, break,school uniform, blue ribbon,gentle smiling expression of a woman,black hair,Blue eyes, acing front,break,night walk

いろいろと試してみましたが、Break構文ではちょっとした修正はできましたが、大掛かりな修正には向いていないようです。

今回のように、もしBreak構文を使っても修正できなかった場合、次に紹介する方法を試してください。

プロンプトジェネレーターで画像生成プロンプトの参考に!
  • Stable Diffusionのプロンプトの見本が知りたい
  • 画像生成が思ったようにできない
  • 色々なプロンプトを探したい
など、画像生成AIのプロンプトに関する疑問が解決するかもしれません。

Stable Diffusionでの他の強調方法

Stable Diffusionのプロンプトの優先順位を変える方法は、『Break』を書き込む以外にも以下2つの方法があります。

  • ()括弧を使う
  • プロンプト(呪文)の最初に持ってくる

Stable Diffusionでの強調方法①()括弧を使う

1つ目は、『()括弧を使う』方法です。強調したいトークンを()で囲うと、1.1倍強くなります。

例えば下画像の場合、別のSeed値で『夜道の女子高生』を描いてもらいましたが、先ほど同様背景は夕方です。

1 girl,standing pose,cute,cute eyes,detailed hair,anime,highlight hair,front sun light,beautiful hair,illustration,face up,smile,white teeth, break,school uniform, blue ribbon,gentle smiling expression of a woman,black hair,Blue eyes, acing front,night walk

『夜道』のプロンプト(night walk)を、()で囲った結果がこちら。

1 girl,standing pose,cute,cute eyes,detailed hair,anime,highlight hair,front sun light,beautiful hair,illustration,face up,smile,white teeth, break,school uniform, blue ribbon,gentle smiling expression of a woman,black hair,Blue eyes, acing front,(night walk),

まだ夕方ですね。効果が薄い場合は(トークン:数字)と表記してください。書いた数字分の倍率がかかります。

1 girl,standing pose,cute,cute eyes,detailed hair,anime,highlight hair,front sun light,beautiful hair,illustration,face up,smile,white teeth, break,school uniform, blue ribbon,gentle smiling expression of a woman,black hair,Blue eyes, acing front,(night walk:1.4),

(night walk:1.4)と書いた結果、夜道になりました。(night walk:1.4)の場合、night walkのプロンプトが1.4倍強くなっています。

また、()を二重で囲む方法もあります。

1 girl,standing pose,cute,cute eyes,detailed hair,anime,highlight hair,front sun light,beautiful hair,illustration,face up,smile,white teeth, break,school uniform, blue ribbon,gentle smiling expression of a woman,black hair,Blue eyes, acing front,((night walk)),

上記プロンプトの場合、『(night walk)の1.1倍×()の1.1倍』となり、『night walk』に対して合計で1.21倍強くなっています。

逆に弱くする場合、『[ ]』を使う方法があります。[ ]で囲った場合、プロンプトの強さは0.9倍です。

Stable Diffusionでの強調方法②プロンプト(呪文)の最初に持ってくる

2つ目は、『プロンプト(呪文)の最初に持ってくる』方法です。呪文(プロンプト)は、グループの冒頭にあるトークンほど強調されます。

例えば先ほどの夜が夕方になった場合だと、『夜道』の呪文(プロンプト)(night walk)を最後に書いているので、冒頭に持ってきました。

night walk,1 girl,standing pose,cute,cute eyes,detailed hair,anime,highlight hair,front sun light,beautiful hair,illustration,face up,smile,white teeth, break,school uniform, blue ribbon,gentle smiling expression of a woman,black hair,Blue eyes, acing front,

人物はそのままで、背景がしっかり夜道になりました。

このように、強調したいトークンを冒頭に持ってくることで強調できるわけです。

まとめ

いかがでしたでしょうか?

今回はBreak構文の使い方についてご紹介してきました。

今回のポイントをまとめると、以下のようになります。

  • Break構文とは特定のトークンを強くするための文字列
  • 強調したいトークンの1つ前に書き込む
  • Break構文では修正仕切れない場合は、『()で囲む』『強調したいトークンを冒頭に持ってくる』といった方法が有効

Break構文や括弧、プロンプトの入れ替えで画像の修正ができるので、うまく活用してみてください!

プロンプトジェネレーターで画像生成プロンプトの参考に!
  • Stable Diffusionのプロンプトの見本が知りたい
  • 画像生成が思ったようにできない
  • 色々なプロンプトを探したい
など、画像生成AIのプロンプトに関する疑問が解決するかもしれません。