Midjourneyで画像を生成したとき、「プロンプトを調整しても思ったように作れない……」と感じたことはありませんか?
そのようなシーンではネガティブプロンプトが有効です。しかし、ネガティブプロンプトが一体何なのか、どう使ったらよいのかわからない方も多くいるでしょう。
本記事では、Midjourneyで使えるネガティブプロンプトについて、仕組みや使い方を解説します。
ネガティブプロンプトを用いた実際の出力結果もあわせて紹介しますので、ぜひ参考にして、Midjourneyを使いこなしてください。
Midjourneyの使い方や機能については、以下の記事で解説しています。
|監修者
(株)SHIFT AI 代表取締役 / GMO他複数社AI顧問 / 生成AI活用普及協会理事 / Microsoft Copilot+ PCのCMに出演 / 国内最大級AI活用コミュニティ(会員5,000人超)を運営。
『日本をAI先進国に』実現の為に活動中。Xアカウントのフォロワー数は9万人超え(2024年9月現在)
弊社SHIFT AIでは、画像生成AIの基礎知識や業務での使い方をまとめた「実務で使える画像生成AIの教科書」をプレゼントしています。
「画像生成AIをもっと使いこなしたい」という方は、ぜひ無料で資料を手に取ってください。
\ 無料 & 30秒で完了! /
Midjourneyのネガティブプロンプトの仕組みとは?
Midjourneyのネガティブプロンプトは、画像に含めたくない要素をAIに伝える指示です。
ネガティブプロンプトとして画像から除外したい物やワードを指定することで、より理想に近い、こだわりのある画像を生成できます。
Midjourney公式ではパラメーター(画像の要素や形式の指定)の1つとされているので、厳密には“プロンプト”とは異なるものです。
参考:No(Midjourney)
ネガティブプロンプトは、「––no ◯◯」の形でプロンプトの最後に追記します(「––no ◯◯」は「◯◯なし」の意味)。
画像に含めたくない要素を「◯◯」の部分に記載すればOKです。「◯◯」は複数指定できます。
- 1個の要素を指定:〜〜〜(プロンプト) ––no _ ◯◯
- 複数の要素を指定:〜〜〜(プロンプト) ––no _ ◯◯, _ **, _ △△
※ _ は半角スペース
上記の形でプロンプトに追記すれば、指定した要素が含まれない画像を生成できます。
ただし、ネガティブプロンプトの効果は絶対や100%ではありません。
多少描かれる場合がありますし、Midjourneyが描いている要素とネガティブプロンプトに入れた英単語がマッチしていなければ、思ったとおりに反映されないことがあります。
ですから、ネガティブプロンプトは「含めたくない要素を、画像にできるだけ反映させる手段」と覚えておきましょう。
ネガティブプロンプトを反映できない3つの原因
「ネガティブプロンプトの効果は絶対や100%ではない」とお伝えしました。
しかし、書き方を誤ると、そもそもまったく反映されなかったり、画像全体が崩れてしまったりします。
ネガティブプロンプトが反映されない場合のよくある原因は以下の3つです。
- カンマや半角スペースの位置・有無
- ネガティブプロンプトの使いすぎ
- 「––no」の連続使用
3つの原因は、プロンプトの入力時によくありがちなものなので、ぜひこの機会に知っておいてください。
カンマや半角スペースの位置・有無
プロンプトの入力時には、カンマ( , )やスペースが正しく使われているか注意しましょう。
「ネガティブプロンプトの書き方」で紹介したように、「––no」のあとにはカンマ( , )やスペースが入ります。
- 1個の要素を指定:〜〜〜(プロンプト) ––no _ ◯◯
- 複数の要素を指定:〜〜〜(プロンプト) ––no _ ◯◯, _ **, _ △△
※ _ は半角スペース
カンマ( , )やスペースはすべて「半角」が基本です。
しかし、全角で入力してしまい、うまく反映されない場合があります。
また、カンマ( , )の位置を間違えていたり、「半角カンマ+半角スペース」の順が逆だったり、そもそもカンマ( , )やスペースがなかったりしても同様です。
ネガティブプロンプトを入力するときは、カンマ( , )やスペースが以下画像のようになっていないか確認しましょう。
カンマ( , )やスペースの書き方を誤るとどのように出力されるのか、実例を紹介します。
例は、以下の画像にネガティブプロンプトを追記した場合です。
a tidy room, the scene features detailed textures
これらの画像から「窓・本・ポスター・緑の要素」を除きたいと考え、ネガティブプロンプトを追記しました。
a tidy room, the scene features detailed textures ––no windows , book ,posters green
「––no ◯◯, ◯◯」の形ではなく、カンマ( , )の位置やスペースの使い方が誤っています。
上記のネガティブプロンプトを追記すると、以下の画像が出力されました。
やや反映されているようにも見えますが、真っ白な部屋の画像(左下)が生成されたり、緑がかっていたりします。
出力された4枚とも、最初に生成した画像と雰囲気の異なるものになってしまいました。
ネガティブプロンプトの使いすぎ
ネガティブプロンプトに複数の要素を一気に入れると、画像全体が崩れてしまうことがあります。
たとえば仕事で「一気にたくさんの指示を出されて追いつけず、全体の進捗が遅くなったり、クオリティが下がったりする」のようなイメージです。
ですから、“ちょっとずつ”を心がけてネガティブプロンプトを使いましょう。
ネガティブプロンプトに要素を1つ入れて生成し、次に1個追加して生成する、といった風に様子を見ながら生成するのがおすすめです。
ネガティブプロンプトを一気に記載するとどのように出力されるのか、実例を紹介します。
例は、以下の画像にネガティブプロンプトを追記した場合です。
a tidy room, the scene features detailed textures
これらの画像から以下の要素を除きたいと考え、ネガティブプロンプトを追記しました。
- 本
- 観葉植物
- 花
- ポスター
- オレンジ色
- 棚
- 写真
- 日光
- 木の壁
- 椅子
a tidy room, the scene features detailed textures ––no book, houseplants, flower, posters, orange, shelf, photo, sunlight, wood wall, chair
一度に10個の要素を除外するよう伝えると、以下の画像が出力されました。
たしかに「日光(Sunlight)」が除かれましたが、その結果、単純に不気味な部屋の画像になり、元の画像の雰囲気が損なわれてしまいました。
また「棚自体をなくしたい」と思い、棚(Shelf)を除くよう伝えましたが、かわりに引き出しやタンスが描かれています。
「––no」の連続使用
ネガティブプロンプトを使うとき「––no」の記載は1回でOKです。しかし「––no ◯◯, no ◯◯」と連続で記載してしまう場合があります。
「––no」を連続で使うと、以下のように弾かれて、画像の生成自体ができません。
勢いあまって書いてしまうこともありますが、1つの手間にはなりますので、「––no」の1回だけ!と理解しておきましょう。
Midjourneyでネガティブプロンプトを使った実例
Midjourneyでネガティブプロンプトを使った実例を紹介します。
今回は、なかでも頻繁に使われる、モノをなくすための出力を行いました。以下は最初に作成した画像です。
a tidy room, the scene features detailed textures
これらの画像から「本」を除くため、以下のようにネガティブプロンプトを追記して出力します。
a tidy room, the scene features detailed textures ––no books
部屋の明るさやテイストにはほとんど差がなく、元の画像に描かれていた「本」がなくなりました。
日光が入ってきている様も反映されたままで、緑色の壁や家具も登場しています。
ネガティブプロンプトの5つの活用例
ネガティブプロンプトは「モノをなくす」以外でも、画像の内容を調節するさまざまな場面で使えます。活用できる場面は以下の5つです。
- 品質
- 色
- 構図・アングル
- 体の部位や顔のパーツ
- テキスト
これらの要素をネガティブプロンプトで調節できると、狙ったとおりの画像にさらに近づけられます。
品質
ネガティブプロンプトを使うと、画像の品質にかかわる指示を出せます。たとえば以下のような指示です。
- low quality:低品質
- worst quality:最低品質
- lowres:低解像度
これらの指示をすると、通常の出力より高い品質の画像が生成されます。
以下の画像は、ネガティブプロンプトを追記しない状態で出力したものです。
Alpacas, flowers
この出力でも明瞭に描かれていますが、さらに品質を高めてもらうよう、以下のプロンプトを送信しました。
Alpacas, flowers ––no low quality
とくにアルパカの毛並みが、より“モフモフ”になった印象です。
さらに、最初の画像では絵のように描かれている部分がありましたが、ネガティブプロンプトを入れることで写実さが増しています。
色
使いたくない色(色味)があるときには、ネガティブプロンプトを使って除くよう伝えてみましょう。
例を紹介します。以下の画像は、ネガティブプロンプトを追記しない状態で出力したものです。
colorful pencils, 20 pieces
さまざまなカラーの色鉛筆が描かれています。この中から「青系」「緑系」の色を除くよう伝えてみました。
colorful pencils, 20 pieces ––no blue, green
一部「青色」がありますが、全体的に暖色系でまとまった印象です。
とくに左上の画像は、色鉛筆が整然と並んだ状態を保ちつつ、赤やオレンジ、ピンク系で統一されています。
色を除く指示は、例のような「ある部分の色を除く(変える)」だけでなく、画像全体の色味や雰囲気を変えるのにも有効です。
「早朝」がテーマで朝焼けのオレンジが目立つ画像に「––no orange」を使うと、日の光が白系に変わって、より早い時間の描写ができます。
構図・アングル
画像の構図やアングルの指示でもネガティブプロンプトは役立ちます。構図を指定したいときには、以下のワードを使ってみましょう。
- split view:分割構図
- grid view:グリッド状に分割された構図
- head shot:顔中心
- full body shot:体全体
「head shot」や「full body shot」は、人物の画像を生成するときに便利です。
今回は、以下画像のように「分割」して出力された場合を例とします。
tower buildings, Tokyo, night
「分割でない画像」を生成するために「––no split view」を使ってみると、以下のように、分割されていない画像が出力されました。
tower buildings, Tokyo, night ––no split view
画像のアングルを指定したいときには、以下のワードを使ってみましょう。
- high angle:ハイアングル
- low angle:ローアングル
- horizontal angle:水平アングル
- bird’s eye view:空から
以下のプロンプトを送信した場合、さまざまなアングルの画像が生成されました。
tower buildings, Tokyo, night
生成された画像は「水平」や「下から」のアングルです。ネガティブプロンプトを使って「下からのアングルはなし」と伝えると、以下の画像が出力されました。
tower buildings, Tokyo, night ––no low angle
元画像の雰囲気を保ちつつ、「下から」の画像はなくなりました。さらに「––no low angle」の意図を汲んでくれたのか、ビルより高いアングルになっています。
体の部位や顔のパーツ
とくにキャラクターやアニメ・マンガ風の画像を生成するとき、体の部位や顔のパーツが理想通りでない場合が多くあります。
このような場合も、以下のようなワードを使ってネガティブプロンプトを送信すれば調節が可能です。
- missing ◯◯:部位が不足
- extra ◯◯:部位が余分
- malformed ◯◯:変形した部位
- ◯◯ makeup:◯◯なメイクを避ける
今回は以下の画像「口元に手があるアニメ風の女の子」を例とします。
manga illustration, pastel colors, an anime girl, there’s a hand on your mouth
この画像のポイントは「口元の手」ですが、右下の画像では、右手の指が4本になっています。
両手ともに指を5本描くために、以下のように送信しました。
manga illustration, pastel colors, an anime girl, there’s a hand on your mouth ––no missing fingers
「––no missing ◯◯:部位が不足」のネガティブプロンプトを使ったので、「5本の指」に対する不足はなくなりました。
しかし、右下の画像を見てみると、今度は指が6本になっています。
「5本の指」に対して多くなっているので、さらにネガティブプロンプトを追記して送信してみます。
manga illustration, pastel colors, an anime girl, there’s a hand on your mouth ––no missing fingers, extra fingers
「––no missing fingers, extra fingers」、つまり「指の不足なし、指の超過なし」と伝えたので、どの画像も「5本の指」が反映されています。
このように「多くなく、少なくなく」と伝えることで、より一般的な状態で出力可能です。
また、「指が5本の手」を生成したいときは、プロンプトで単に「hand」と書くのではなく「hand with five fingers」と詳細に書くのも1つの方法です。
テキスト
生成した画像から文字や文章をなくしたいときも、ネガティブプロンプトを使ってみましょう。
ただし、完全になくすことは困難で、可能なことは「ほとんどなくす」か「明確に文字や文章といえるものをなくす」です。
テキストをなくしたいときは以下のワードを使います。
- text:文字
- logo:ロゴ
- title:タイトル
- ◯◯stamp:特定の印
- signature:サインなど
例を紹介します。以下の画像は、ネガティブプロンプトを追記しない状態で出力したものです。
photograph, New York street, restaurant, a lot of people are coming and going
看板や傘に文字が入っているので、以下のようにネガティブプロンプトを加えて出力してみます。
photograph, New York street, restaurant, a lot of people are coming and going ––no text
右上の画像から文字自体をなくすことはできませんでしたが、左上の画像に関しては“文字に見えるもの”が描かれた状態です。
下の2枚については、文字がほとんど描かれていない状態で出力されました。
【応用編1】プロンプトで使う否定表現との違い
プロンプトを書くとき、「don’t add ◯◯」や「without ◯◯」を使う場合があります。
これらの書き方でも、ネガティブプロンプトの「––no」と同じ「◯◯を入れないで」の指示になりますが、生成結果は異なります。
生成AIが画像を生成するとき、プロンプトを毎回100%同じに、意図通りに理解するとは限らないからです。
人間の場合でも、言葉の前後関係や文脈の理解が異なり、1つの文章を見て違う解釈をすることがあります。この現象と同様のことがプロンプトの把握でも起こるのです。
また、MidjourneyのAIは、プロンプトにあるすべての単語を画像の要素として捉えます。
そのため「don’t add ◯◯」や「without ◯◯」は、厳密には「なし」ではなく「できるだけ少なく」の意味と近く理解されます。
明確に「◯◯を入れないで」と指示したいときは、文脈や解釈が関係するプロンプトではなく、パラメーターを用いましょう。
【応用編2】マルチプロンプト「––.5」とほぼ同じ
Midjourneyのネガティブプロンプトは、マルチプロンプトで「◯◯ ::-.5」と指示するのとほぼ同義になります。
マルチプロンプトとは、プロンプトを「◯◯ :: ◯◯」の形で区切って伝えることで、各要素を別物だと認識させる書き方です。
たとえば「space ship」では「宇宙船」の意味で、宇宙に漂う宇宙船の画像が出力されます。
対して「space :: ship」とすると「宇宙と船」の意味になり、出力されるのは、宇宙のような空間を進む船の風景です。
このマルチプロンプト「space :: ship」は、書かれていませんが「宇宙と船の要素が1:1」の意味で、実際に出力すると「space ::1 ship ::1」と表示されます。
この比率を「space ::-.5 ship ::1」とすると、「space」の割合がきわめて少なくなり、以下のように出力されます。
宇宙の要素がほとんどなくなり、船が海を進んでいる画像になりました。
このように、ネガティブプロンプトを使うのではなく、マルチプロンプトの編集でも除きたい要素を指定可能です。
マルチプロンプトを使って画像を生成しているときは「:: -.5」を使って指示するのがよいでしょう。
まとめ:ネガティブプロンプトで理想的な画像に!
Midjourneyのネガティブプロンプトを使えば、画像に含めたくない要素を指定でき、より理想的な画像に近づけます。
ただし、100%絶対に要素をなくせるわけではありません。ネガティブプロンプトはあくまで「含めたくない要素を、画像にできるだけ反映させる手段」と考えておくことをおすすめします。
ぜひネガティブプロンプトを活用して、こだわり抜いた画像を生成してください。
弊社SHIFT AIでは、画像生成AIの基礎知識や業務での使い方をまとめた「実務で使える画像生成AIの教科書」をプレゼントしています。
そのほかにも、「AIツール使い分け9選」や「生成AI x 資料作成時短術」などを一緒に配布していますので、「画像生成AIをもっと使いこなしたい」という方は、ぜひ無料で資料を手に取ってください。
\ 無料 & 30秒で完了! /