画像生成AIの情報を纏めるWikiです。



2024-06-08追記:機能拡張としてリリースされた

開発のいきさつ


プロンプトやパラメータを調整しつつ画像を生成していると、シード値を「🎲」(ランダム)と「♻」(前回と同じ)の間で頻繁に変更することになる。しかしこれを切り替えるのを忘れて画像を生成してしまうミスをどうしても減らすことができない。

そこで生成ボタンに「🎲」「♻」「+1」のボタンを追加することを考えた。
  • 🎲ボタン…ランダムなシードで生成
  • ♻ボタン…シード欄が−1のとき前回と同じシード、それ以外のときはシード欄のシード値で生成
  • +1ボタン…前回のシードに+1して生成

インストール方法

ブックマークレット

  1. 任意のページをブックマークする
  2. そのブックマークを編集する
  • ブックマークの名称:任意(🎲♻+1など)
  • ブックマークのURL:以下のコードを貼り付ける

javascript:(() => {function addButtons(txt2img) {function createElementFromHTML(html, callback) {const tempEl = document.createElement('div'); tempEl.innerHTML = html; const child = tempEl.firstElementChild; child.addEventListener('click', callback); return child}const generateButton = document.querySelector(`#${txt2img}_generate%60); const reuseSeedButton = document.querySelector(%60#${txt2img}_reuse_seed%60);const seedInput = document.querySelector(%60#${txt2img}_seed > label > input%60); const box = document.querySelector(%60#${txt2img}_generate_box%60); box.style.gap = '2px'; box.append(createElementFromHTML('<button class="lg primary gradio-button svelte-cmf5ev" style="min-width:0; ">🎲</button>',() => {seedInput.value = -1; seedInput.dispatchEvent(new Event('input')); generateButton.click(); })); box.append(createElementFromHTML('<button class="lg primary gradio-button svelte-cmf5ev" style="min-width:0; ">♻</button>',() => {reuseSeedButton.click(); setTimeout(() => {generateButton.click(); }, 1000); })); box.append(createElementFromHTML('<button class="lg primary gradio-button svelte-cmf5ev" style="min-width:0; ">+1</button>',() => {seedInput.value = parseInt(seedInput.value) + 1; seedInput.dispatchEvent(new Event('input')); generateButton.click(); })); }addButtons('txt2img'); addButtons('img2img'); })();

開発者ツール(Chrome)

  1. WebUIのタブで[F12]キーを押す
  2. 開発者ツールのメニューから「コンソール」をクリック
  3. 「>」をクリックしてカーソルが表示されたら下のコードを貼り付けて「Enter」キーを押す

(() => {
  function addButtons(txt2img) {
    // generateボタン消すなら下の行コメントアウト解除
    // document.querySelector(`#${txt2img}_generate`).style.display = 'none';

    function createElementFromHTML(html, callback) {
        const tempEl = document.createElement('div');
        tempEl.innerHTML = html;
        const child = tempEl.firstElementChild;
        child.addEventListener('click', callback);
        return child
    }

    const generateButton = document.querySelector(`#${txt2img}_generate`);
    const reuseSeedButton = document.querySelector(`#${txt2img}_reuse_seed`);
    const seedInput = document.querySelector(`#${txt2img}_seed > label > input`);

    const box = document.querySelector(`#${txt2img}_generate_box`);
    box.style.gap = '2px';
    box.append(createElementFromHTML(
      '<button class="lg primary gradio-button svelte-cmf5ev" style="min-width:0;">🎲</button>',
      () => {
        seedInput.value = -1;
        seedInput.dispatchEvent(new Event('input'));
        generateButton.click();
      }
    ));
    box.append(createElementFromHTML(
      '<button class="lg primary gradio-button svelte-cmf5ev" style="min-width:0;">♻</button>',
      () => {
        reuseSeedButton.click();
        // うまく動作しない場合は1000の部分を大きくする
        setTimeout(() => {
          generateButton.click();
        }, 1000);
      }
    ));
    box.append(createElementFromHTML(
      '<button class="lg primary gradio-button svelte-cmf5ev" style="min-width:0;">+1</button>',
      () => {
        seedInput.value = parseInt(seedInput.value) + 1;
        seedInput.dispatchEvent(new Event('input'));
        generateButton.click();
      }
    ));
  }
  addButtons('txt2img');
  addButtons('img2img');
})();

使用方法


WebUIが起動したらブックマークレットを選択するか、開発者ツールからコードを実行するとGenerate(生成)ボタンの右に3つのボタンが追加される。

WebUIのページをリロードしたりすると追加のボタンは消えるので、改めてブックマークレットを選択などする。

スレ上でのやりとり


====
221 名前:今、天王星のwiki見てきたら軌道傾斜角(i) が0.774°だった (ワッチョイ a7a4-1+JT)[] 投稿日:2023/11/26(日) 21:18:22.97 ID:MZWQ+VQu0
Python使えてこれ↓に興味あるニキおらんかのう。プログラミングはBASICとちょっとだけPerlで止まっとるんや

https://fate.5ch.net/test/read.cgi/liveuranus/1700...
シード欄の🎲や♻を押し忘れて生成するミスをどうしても根絶できない
ミス防止のためにGenerateボタンを3分割して【🎲|♻|+1】にできないかなあ

🎲ボタン…ランダムなシードで生成
♻ボタン…シード欄が−1のとき前回と同じシード、それ以外のときはシード欄のシード値で生成
+1ボタン…前回のシードに+1して生成

みたいなの
設定でボタンの順番や各ボタンの幅を調整できるとなお嬉しい
====

すると翌日には動作するコードが提案された。

====
129 名前:今、天王星のwiki見てきたら軌道傾斜角(i) が0.774°だった (ワッチョイ e747-GgRN)[sage] 投稿日:2023/11/28(火) 16:08:23.00 ID:GNc61kk70
>>93
http://fate.5ch.net/test/read.cgi/liveuranus/17009...
とりあえずこんな感じでいいんじゃないか?
https://rentry.org/u9g6u

開発者ツールで実行すれば各種ボタンが追加される
GenerateボタンはXYZとか使うときにやっぱり必要そうだから残しておいた
ローカルの拡張機能にすればわざわざ開発者ツールで実行しなくてもwebui開いたときに勝手にボタン増やしてくれるようにもできると思う(面倒だからやらない)
====

====
162 名前:今、天王星のwiki見てきたら軌道傾斜角(i) が0.774°だった (ワッチョイ e747-GgRN)[sage] 投稿日:2023/11/28(火) 17:49:07.75 ID:GNc61kk70
シード再利用するところは雑なことしてるから飽くまでとりあえずレベルのものってことに注意やで
====

====
208 名前:今、天王星のwiki見てきたら軌道傾斜角(i) が0.774°だった (ワッチョイ e747-GgRN)[sage] 投稿日:2023/11/28(火) 20:08:56.11 ID:GNc61kk70
>>196
好きに改変・再配布してええで
====

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

Prompts

  1. 非R18詠唱全文
  1. 顔(目・口・表情)
  2. 構図
  3. 場所・背景
  4. 環境表現
  5. 特徴・年齢・体型・髪型
  6. ポーズ集
  7. 服飾
  8. 亜人・モンスター娘・人外
  9. 食品
  10. その他
  11. 画風
  12. 絵文字
  13. 色一覧
  14. 頻用ネガティブプロンプト
  15. 大量検証結果
  16. 整理用倉庫

編集中メニュー

  1. 未発見のプロンプト
  2. 旧ページ

table拡張js

どなたでも編集できます

メンバー募集!