見出し画像

変数やテンプレートにワイルドカードが使える「Dynamic Prompts」の全貌


Dynamic Promptsは、変数やテンプレートにワイルドカードを活用できる機能を提供するツールです。
これにより、プロンプトの内容を動的に生成し、ランダムな要素や条件付きのフレーズをテンプレートに組み込むことが可能です。
特に、生成系AIやクリエイティブなテキスト作成において、ワイルドカードやプレースホルダーに対応しているため、多様なバリエーションを効率的に生成し、独自性の高いコンテンツを作成する際に活用できます。
この機能により、パラメータを自由に操作しながら、ユーザーが意図するバリエーションやシナリオに応じたテキストや画像を柔軟に生成できるため、創造性をさらに広げることが可能です。

主な機能と特長

プロンプトのプレースホルダー: Dynamic Promptsでは、特定の部分にプレースホルダー(例えば {} で囲まれた部分)を使用して、ランダムなキーワードやフレーズを挿入することができます。これにより、プロンプトの一部が自動的に置き換えられ、異なる内容のプロンプトを複数生成します。

ランダム要素の導入: プレースホルダーに複数のオプションを設定し、その中からランダムに選ばれた要素がプロンプトに挿入されます。これにより、画像生成において自然なバリエーションを持たせることが可能です。

ワイルドカードの選択: Dynamic Promptsは、特定のワイルドカードやカスタムされたワイルドカードから要素を選択し、それをプロンプトに反映させることができます。

__wildcards/color__

ワイルドカードのtxt2imgと同じ部分のタブに存在します。

カスタマイズ性: ワイルドカードは自作でtxtやyamlで作成できるため、ある程度リスト化したプロンプトを動的に作成し、対応する画像を生成することができます。

ワイルドカードの作り方は下記を参考にしてみてください。

変数の使用:変数は、あらかめじに1つの単語に別の内容をいれることを示します。

#変数部分
${pointA=red}
${PointB=blue}
# プロンプト
${pointA} bikini, ${pointB} hair,

# プロンプトの生成結果
red bikini,blue hair 

さらにランダム使用の変数や複数の箇所に変数を使う場合、選ばれた変数の1つを固定する方法があります。

# 1.ランダム使用変数
${food = {apple|fish|egg}}
# ランダム使用変数をプロンプトとして使う
${food}

# プロンプトの生成結果
appleまたはfishまたはeggのいずれか一つが生成


2.選ばれた変数の1つを固定 =のあとに!を入れる
${color =! {red|blue|green}}
# ランダム使用変数をプロンプトとして使う
${color} bikini,${color} hair

# プロンプトの生成結果 redがランダムで設定された場合は2つ目もredになる
red bikini,red hair,

使用方法

Forgeには初めからあり、デフォルトで有効化されています。

A {__wildcards/color} cat in a {__wildcards/environment}, {wildcards/activity__}

ワイルドカード:

  • color: "black", "white", "orange"

  • environment: "forest", "city", "beach"

  • activity: "sleeping", "running", "jumping"

これにより、例えば「A black cat in a forest, sleeping」や「A white cat in a city, jumping」といったバリエーションのプロンプトが自動生成されます。

randomではなく1個ずつ使用したい場合

{red|blue|green}

上記3つしっかり使用したい場合は、Combinatorial generationにcheckを入れましょう。
checkを入れることで、バッチカウントの数に関係なく、3回上記色を出力したものを生成してくれます。

上記にcheckを入れることで、一通りプロンプトを使用してくれます。
ただし、注意点として、ワイルドカードを複数を入れると全部のパターンを実行するので完了まで16時間などでたりします。

Prompt MagicのMagic promptについて

+アルファでプロンプトを追加してくれます。
使うとしたら何か付け加えたいけどアイデアがないときに活用できます。

設定項目について
Max magic prompt lengthプロンプトの最大長を指定(デフォルト100)

Magic prompt creativity数値を変えることでプロンプトの創造性を調整(デフォルト0.7)

Magic prompt modelモデルによりプロンプトの傾向が変化。

Magic prompt blocklist regex除外したいプロンプトを入力(省略可)

I’m feeling lucky全てをMagic promptにおまかせしてプロンプトを作成

Attention grabberチェックを入れるとランダムで強度が適用

Minimum attentionプロンプト強度の最小値を-1~2の間で設定1.1

Maximum attentionプロンプト強度の最大値を-1~2の間で設定1.5

Don’t apply to negative promptsチェックを入れるとネガティブプロンプトにMagic promptが適用されない

Jinja2テンプレートについて

forやif文が使えるので、ランダム設定で赤が選ばれた場合は、赤いビキニで海の背景など条件分岐ができますが、どのような条件でどうしたいかが複雑な形でアイデアがある人向けの上級者向けでほとんどの人は使う事はありません。
詳しくは、下記をご確認ください。

Dynamic Promptsまとめ

Dynamic Promptsは、ランダム性とカスタマイズ性を組み合わせて、複数の異なるプロンプトを効率的に生成するツールです。
これを使用することで、単一のテーマに基づいた多様な画像を簡単に作成することができます。
特に、大量の画像を一度に生成する必要がある場合や、創造的なバリエーションを求めるプロジェクトにおいて有効です。

いいなと思ったら応援しよう!

nobin
サポートしていただけると飛び跳ねて喜びます。