キャラクター設定を画像生成AIに渡す形にする:プロンプトの組み立て方
設定を作ったあと、それを画像生成AIに渡そうとして、うまくいかないことがある。何度出しても違う姿になる、細部が毎回変わる、頼んでいないものが背景に出てくる。原因の多くは、AIの性能ではなく、渡している文章の作りにある。
この記事は、設定資料をプロンプトに落とす手順を扱う。あわせて、この領域で実際に事故が起きる部分——既存の作品やキャラクターの名前を入力することの問題と、サービスごとの規約——にも触れる。ここは避けて通らないほうがよい。
プロンプトは設定資料の並べ替えでしかない
先に押さえておきたいのは、良いプロンプトを書くこととは、良い設定を持っていることとほぼ同義だという点である。設定が決まっていないキャラクターは、どんな書き方をしても毎回違う姿で出てくる。決まっていないものは、AIが毎回埋めるからである。
だから、プロンプトを書き始める前に、設定資料の側を確認する。シルエットを一文で言い切れているか。色は値で決まっているか。素材感が書いてあるか。顔の作りが決まっているか。ここが埋まっていれば、プロンプトは並べ替えるだけで作れる。
このサイトの /aichara/ に並んでいるキャラクター案は、この考え方で組んである。各項目が日本語のプロンプト、英語のプロンプト、除外指定の三つを持ち、その中身は上に並んでいる設定欄の言い換えになっている。設定を書いてからプロンプトを書く、という順序を守ると、両者が食い違わない。
六つを順に並べる
並べ方には順序がある。多くの画像生成では、文の前のほうに書いた要素ほど強く効く。したがって、絶対に外せないものから順に置く。
第一に主題。何であるか。「小さな生き物」「石でできた守り手」といった一語二語で足りる。第二に造形。形の話である。塊の型と、突起の位置と本数。ここはシルエットの欄をほぼそのまま使える。第三に素材。表面が何でできているか、艶があるか。第四に配色。どこが何色か。役割と色を対にして書く。第五に構図。正面か、斜めか、全身か、上半身か。第六に背景。無地なのか、場所があるのか。
このサイトの例で言えば、日本語のプロンプトは「上が丸く下がすぼまった雫の形の小さな生き物。全身が明るい橙色で、縁だけ濁った赤。下端から次の一滴が垂れかけたまま止まっている。手足はなく、表面はなめらかで継ぎ目がない。目は細い横線が二本。正面、無地の背景。」といった形で、この順序に沿って並んでいる。特別な語彙は使っていない。設定に書いてあることを、順に並べただけである。
長さについては、短すぎても長すぎても扱いにくい。参考として、Amazon Bedrock のユーザーガイドに載っている Stable Diffusion 3.5 Large の仕様では、プロンプトは最大一万文字とされている。上限は大きいが、実用上は要素を詰め込むほど一つずつの効きが薄くなる。設定資料の全項目を入れるのではなく、絵に出る項目だけを選ぶ。性格や好物は絵に出ないので、原則として入れない。
ネガティブプロンプトは「やってはいけないこと」の欄
ネガティブプロンプト(除外指定)は、出したくないものを書く欄である。Bedrock のユーザーガイドでは、Stable Diffusion 3.5 Large の negative_prompt は「出力画像から除外したい要素を記述するテキスト」と説明されている(原文では “Text describing elements to exclude from the output image.”)。こちらも最大一万文字で、任意指定になっている。
この欄の使い方で差が出る。よくあるのは、画質に関する一般的な語をひたすら並べる書き方だが、キャラクターを固定したい場合に効くのはそこではない。設定資料に書いた「やってはいけないこと」の欄を、そのまま移すのが最も効率がよい。
たとえば、手足のない設計なら「手足を描かない」。表面に継ぎ目を入れない設計なら「皺や継ぎ目を入れない」。周囲に火の粉を描かない設計なら「火の粉や炎を描かない」。これらはそのキャラクターに固有の禁止事項であり、一般的な画質の語では代替できない。
もう一つ、文字の混入を止める指定は入れておいたほうがよい。指定しないと、看板やラベルのような文字らしき模様が入ることがある。
ネガティブプロンプトを持たないサービスもある。その場合は、主プロンプトの側で肯定形に言い換える。「手足を描かない」ではなく「胴だけで手足はない」と書く。否定の指示が効きにくい仕組みでは、この言い換えのほうが確実である。
同じキャラクターを何枚も出す
一枚出るところまでは誰でも行ける。問題はその次で、二枚目が別人になる。ぶれを抑える方法は、大きく三つある。
第一に、プロンプトを固定する。毎回書き直すのをやめ、テキストファイルに保存して、そこから貼り付ける。差し替えるのは構図と背景の二箇所だけにする。この二箇所だけを変数として扱い、造形・素材・配色は一字も変えない。
第二に、乱数の種を固定する。Bedrock のユーザーガイドによれば、Stable Diffusion 3.5 Large の seed は生成時の乱数を制御する値で、範囲は0から4,294,967,294、既定値の0はランダムを意味する。同じ seed を同じプロンプトと設定で使えば同じ結果を再現でき、値を変えれば別のバリエーションが得られる、と説明されている。気に入った一枚が出たら、その seed を控えておく。サービスによっては seed が公開されていないこともあるので、その場合は次の方法に頼る。
第三に、出力を資料として使う。一枚気に入ったものが出たら、それを基準画として保存し、以後はそれを参照画像として渡す(画像を入力できるサービスの場合)。参照が使えないなら、その一枚を自分で描き起こして設定資料に戻す。生成物を設定に還元するという往復が、長期的にはいちばんぶれない。
なお、文化庁のガイダンスは、AI利用者に対して、生成後に「プロンプト等、生成物の生成過程が確認可能な状態」を保つよう求めている。ぶれを抑える実務上の必要と、後から経緯を説明できる状態を保つ必要が、ここでは一致している。プロンプトと seed を捨てない習慣は、どちらの目的にも役立つ。
既存の名前を入れない
ここが、この記事でいちばん重要な部分になる。ある絵柄を出したいときに、既存の作品名やキャラクター名をプロンプトに書く、というやり方が広く行われている。これは避けたほうがよい。理由が複数ある。
まず著作権の側から。文化庁の「AIと著作権に関するチェックリスト&ガイダンス」は、生成物が著作権侵害となるための要件として、類似性——「既存の著作物の表現上の本質的な特徴を直接感得することができること」——と、依拠性——「既存の著作物に接して、これを自らの作品の中に用いること」——の両方を挙げている。そのうえで、依拠性について「AI利用者が既存の著作物そのものを生成AIに入力していたこと、AI利用者が既存の著作物の題号(タイトル)などの特定の固有名詞を入力していたこと…は依拠性が認められやすくなると考えられます」と述べている。
つまり、作品名やキャラクター名を入力する行為は、それ自体が「知っていて使った」ことを示す材料になり得る、ということである。同ガイダンスは、生成前に既存の著作物と類似していないかを確認することも求めている。
次に、形の側の制度もある。特許庁の初心者向けテキストによれば、意匠とは「物品の形状、模様若しくは色彩又はこれらの結合であって、視覚を通じて美感を起こさせるもの」であり、登録された意匠が存在する分野がある。生成した図案をグッズや製品にしていく段階では、名前の問題とは別に、形の側の確認が必要になる。
そして、そもそも各サービスの規約が禁じている場合がある。これは著作権法の話とは別の、契約上の話である。次節で扱う。
代わりにどうするか。固有名詞ではなく、形容で書く。特定のキャラクターの名前を書く代わりに、そのキャラクターの何が良いと思ったのかを分解して、形・素材・色・構図の言葉に置き換える。丸い、艶がある、目が大きい、輪郭が太い。この作業は面倒だが、結果として自分の設定が言語化されるので、二回目以降は速くなる。
サービスごとの規約を読む
画像生成の可否は、法律だけでは決まらない。使っているサービスとの契約で決まる部分がある。そして規約はサービスごとに違い、しかも改定される。だから、使う前に一度は読むほかない。
具体例を挙げる。OpenAI の Usage policies は、他者のシステムや財産の破壊・侵害の一環として「他者の知的財産権を侵害しようとする試み」を禁じている。あわせて、欺瞞・詐欺・なりすましのための利用や、本人の同意なくその人の写実的な画像や声を含む「肖像」を、真正性を誤認させる形で使うことを制限している。同ポリシーは、これらの規定が利用者に別途課される法的要件の代わりにはならない、という趣旨も述べている。
Adobe Firefly については、FAQ に利用者が Adobe の生成AI利用ガイドラインを守る必要があると記され、第三者の知的財産や商標、実在の個人の肖像、既存の商標登録されたキャラクターを含むコンテンツの作成を避けるべきものとして挙げている。ガイドライン違反があればアカウントが制限されることがある、とも書かれている。また同 FAQ は、商用モデルの学習に Adobe Stock の画像、オープンライセンスのコンテンツ、著作権が失効したパブリックドメインのコンテンツを用いたと説明している。
ここで確認しておきたいのは、個別のサービスがこう書いている、という事実そのものより、同じ行為の可否がサービスによって違い得るという構造のほうである。あるサービスで通ることが、別のサービスで規約違反になることはある。商用利用の可否、生成物の権利の扱い、学習データの由来、禁止表現の範囲。これらはいずれもサービスごとに定められている。
したがって手順としては、使うサービスを決めたら、利用規約と、生成AI向けのガイドラインと、商用利用に関する説明の三つを読む。読んだ日付を控えておく。仕様も規約も変わるので、しばらく使っていなかったサービスを再開するときは読み直す。
つまずきどころと抜け方
毎回違う姿が出る——設定が決まっていないか、プロンプトを毎回書き直している。テキストに保存して貼り付ける運用に変える。変えるのは構図と背景だけにする。
頼んでいないものが出る——除外指定を使っていない。設定資料の「やってはいけないこと」の欄を移す。除外指定が無いサービスなら、肯定形で言い換えて主プロンプトに入れる。
細部だけが毎回変わる——プロンプトが長すぎて後半が効いていない可能性がある。絵に出ない項目を削り、造形と配色を前に寄せる。
思ったより地味/派手に出る——色を言葉でしか指定していない。値で決めた色を言葉に翻訳するときに、明るさと鮮やかさの語(くすんだ、淡い、鮮やかな)を必ず添える。
特定の絵柄に寄せたいので作品名を入れたくなる——入れない。何が良いのかを形・素材・色・構図の語に分解する。分解できないなら、まだその絵柄を理解できていない。
商用に使えるか分からない——分からないまま使わない。使うサービスの規約と商用利用の説明を読む。判断がつかないなら、その用途では使わないという選択が最も安全である。