見出し画像

【Niji、MJ】/describeで出したプロンプトの管理が100倍楽になるツールを作りました【画像生成AI】

こんにちは、ねむえむ(NeMM)です。
今回もにじジャーニーやMidjourneyを使っている人向けの記事です。

タイトル通りですが、/describeで表示されたプロンプトをそのまま使わないとき、管理がかなり面倒じゃないですか?

私は面倒だと思いました。最初の頃は/infoで出した情報などと同じようにDiscord閉じると消えていたし(今は残ります)、プロンプトを文章じゃなく個別に見たいし、頻出のプロンプトとか調べたいし、なんなら翻訳もつけてほしい。

ということでスプレッドシートにプロンプトをコピペするだけで全部できるやつを作りました。にじジャーニーのDiscordサーバーで公開したところ好評で、不具合なども修正できたのでnoteでも紹介します。

本体は閲覧専用なのでコピーを作成して自分のドライブ上で動作させてください。

※にじジャーニーの公式Discordサーバーは各種お知らせや新機能の案内、日本語のサポートなどが充実しているので、Midjourneyしか使っていない人でも参加しておくことをオススメします。

ではまず、/describe機能を知らない人向けにその説明をして、それからシートの機能・使い方を説明します。
/describeの説明に用がない人は目次を押してジャンプしてもらうか、上記のスプレッドシートを開いて2シート目にある使い方を読んでください。


/describeコマンドとは?

割と最近(23/04/04)増えた機能です。
コマンドを入力すると画像を要求されるので、そこに画像を入れると「たぶんこんなプロンプトで構成されてる画像じゃないかな…?」というのを返してくれるものです。
※正確には公式のリリースをご確認ください!

そのプロンプトを元に、その場ですぐに生成してみることができます。
また、Midjourneyのモデルが持っている「語彙」が出てくる(と私は思っている)ので、知らなかったプロンプトを発見していくこともできます。

⚠ただし、非常にとんちんかんなプロンプトを返してくることもあります。
現代アニメ風イラスト(明らかにデジタル画)でルネサンス期の派(画風)を抽出してきたこともあります。

⚠また完全に真っ白な画像を与えても「うーん……ベンチに座っている女性!」とか「これは子犬と散歩してる少女(19世紀フランス画)ですね」など、あり得ない何かを出してきます。こわい。

まあそういうものだと思って、特に画風や画家のプロンプトは間違っていることも多いので留意してください(深層学習の内部では人間にはわからない共通点があるのかもしれない)。

以下は試しに白紙画像で提出した画面です。

推測したプロンプトは4パターン出されます。
ほとんどの場合は8文節(7個のカンマ)で構成されており、1文節目に主題(何を描くかの説明)、2文節目にスタイル指定が入ります。
※稀に例外が出ます。

青文字のリンクになっているプロンプトはアーティスト名であり、押してみるとGoogleで対象のアーティストを検索した画面に飛ぶことができます。
※前述の通り、人間の目ではあんまり画風と関係ないように見えるアーティストが出がちです。

末尾には--arでアスペクト比の指定が入ります。1:1の場合はつきません。また、この白紙の画像は3:4で切り取ったのですが、2桁数字で比率計算をするようなので若干ずれていることがあります。

下の青色の数字ボックスを押すと、対応したプロンプトでの生成が始まります。
回転矢印ボタンでは新しい4パターンのプロンプトを求めることができます。

ここまでが/describeについての説明です。

シートの機能解説

画面の例です。初期状態がこれなので、使うときは上書きしてください。

一番上のプロンプトは「主題, in the style of にじジャーニー, one, two, three, four, five, six --ar 1:1」というものです。

一番左のA列にコピーしたプロンプトを貼り付けると、カンマ+半角スペース(, )の部分でプロンプトが分割されます。稀にあるイレギュラー文節を考慮して9文節まで対応しており、それ以上はエラーになります。

主題は呪文というより説明の文章(基本長い)なので、集計の対象外にしています。
in the style of は自動で除去されてK列「2の抽出」に入ります。
また、末尾の -- 以下は自動で除去されるため、--arなどのコマンドはつけたまま入れて大丈夫です。スタイル指定、比率指定がついていない場合は、そのままの値を出力します。

一応この画面内でも重複数に応じて色がつきますが、これの右側でさらに詳しく集計して自動翻訳もつけています。
※翻訳がロード中で固まっている場合は更新をかけたり一度閉じて開き直してください。

リンク付き青文字で表示されるアーティスト名が含まれる場合、コピペすると[名前](url…)という形で表記されるため、ABC順では1文字目が [ ] の記号になり一番上に固まって並びます。
※URLは除去しようと思えばできると思いますが、今のところ含まれていて支障がないのでそのままにしています。

私はこちらの画面をメインで使うのでM〜R列をかなり幅広にしていますが、左のプロンプト分割画面しか使わない人はそっちを広く変更すると良いと思います。


(4/10追記)早速ですが少し改善しました。プロンプトを1つずつ張り付けるの思ったよりだるいなと。
スマホから/describeのプロンプトをコピーすると4つ全部選択になるのは目を瞑っていたんですが、比較的に楽なPCからの操作でも、やっぱガッと選択してバッと貼り付けたいんですよね。

というわけでヘッダーのプロンプトの横にフィルターを設置しました。

出てきたプロンプト4つを一気にコピペすると1行飛ばしになるのですが、いったん1行飛ばしで貼りつけていってもらって、ある程度のタイミングでフィルターのボタンを押してA→Z順に並べ替えとかすれば空白が詰まります。

入力したプロンプトの順番を変えたくないという場合。
ボタンを押して条件でフィルタから「空白」を選択すると、プロンプトが入力されていない行が表示されます(逆に言えば、プロンプトの入っている行が非表示にされている)。

この番号が飛んでいる空白行をガッと選択して「削除」し、その後にフィルターを解除(フィルターの条件「なし」を選択)すれば入力したプロンプトの順番を変えないまま行を詰めることができます。
まあこのシートでプロンプトの順番を保存する必要性はあまり感じないので、基本A→Z順ソートで良いと思います。手軽だし。

(追記ここまで)


自由にカスタムできるよう、シート2の「説明書」にはより詳しい使い方や、どのセルで何をしているのかも説明しているので興味ある人は確認してください。

ちなみにMidとNijとで集計を分けたい場合、--s 1000のプロンプトだけ別にしたい場合などはシートそのもののコピーを作成して、シート3、シート4などで実行してください。

シートの説明は以上です。

応用ですが、例えば列を右の方に増設してCZ列ぐらいまで取って分割対応数を増やせば、/describeに限らず全てのプロンプトを分割整理できるシートに改変可能です。
(D〜I列あたりを40個ぐらい増やせば良い。カンマ使用していてそれ以上長いプロンプトはおそらく75トークン超過で後ろが無効)

他にもSPLIT関数の対象をカンマ「and半角スペース」ではなく「or半角スペース」にすると、文節ではなく単語で分割することができるようになったり…使い勝手を変更したいけどやり方が思いつかんという人はお気軽に相談ください。


最後になりましたが、本ツールのテストや追加機能のアドバイスをしてくださったにじジャーニー公式Discord[JA]サーバーの皆様ご協力ありがとうございました。

今後もご意見やフィードバックがあればツールの改善を行っていくつもりなので、今回の「プロンプト整理シート」はバージョン「1.0」としておきます。バージョンアップはここに書いていくと大変なので、シート内の説明書に追記していくようにします。

それではまた。

この記事が気に入ったらサポートをしてみませんか?