
8月の下旬頃から話題沸騰のAI画像出力サービス「Midjourney」や「Dream Studio」ですが、アレ面白いからといってむやみやたらに出力を連発してはいけません。あっという間に無料チケットを使い切ってしまいます。
それぞれの料金形態を簡単にまとめると…(2022年9月現在)
【Dream Studio】
従量課金制 10ポンド
画像 約1000枚分
※ただし「解像度512×512px、ステップ数50」の目安。より高解像度になればなるほど生成可能枚数は下がります。
「Midjourney」は定額サブスクだけど時間制限あり、「Dream Studio」は10ポンドで生成できる範囲内という制限があり、チケットを使い切ったらまた課金するシステム。
いずれも生成画像が高解像度になればなるほど高くつく従量課金制のようなものです。しかも一度で望む結果が出力されるとは限らず、何十回と試行錯誤が必要になることを考慮するとちょっと躊躇してしまう。
私は本格的に使いたいと思うようになったら課金しても構わないのですが、まだ今は実験中のため様子見ということで、極力無料かつ無制限で試行錯誤したい。
そんなわけで、「Stable Diffusion」を使った無料&無制限でAI画像を出力する方法をご紹介します。
プログラミングの知識も技術も全くないド素人の私が、同レベル(失礼)の創作者の皆さんに向けて記事を書いております。至らぬ点、間違った説明などあるかもしれません。申し訳ございません。あしからずご了承ください。
そもそも Stable Diffusion とは…?
Stable Diffusionとは、2022年8月に無料公開されたオープンソースの画像生成AIのことで、詳細はWikipediaをご覧ください。(すみません、ド素人の私ではさっぱりうまく説明できません)
ちなみにStable DiffusionはDream Studioの技術の母体です。一般の人でも簡単にブラウザ上でStable Diffusionを動かせるよう用意されたサービスが「Dream Studio」なのです。
NVIDIA社のGeForce系GPUを搭載したPCであれば、ローカル側にStable Diffusionをインストール可能で寝ている間でも数百枚の画像をレンダリングとかできてしまうそうですが、それ以外のPCには今のところローカルで利用する手段はありません。(2022年9月現在)
そんな低スペックなPCでもご安心ください。オンライン上に構築されたGPUを仮想的に利用すればStable Diffusionを動かせるようになります。
その手順を以下に続けます。
Stable Diffusionをオンライン上で動かす準備をする
【1】Hugging Faceにユーザー登録&トークンを発行する
「Hugging Face」というAI開発者向けコミュニティサイトにユーザー登録をします。

上記URLにアクセスし、ライセンス事項を確認の上、「Access repository」をクリック。

新規ユーザー登録を行います。「Sign UP」をクリックしてください。

「メールアドレス」「パスワード」を入力し、「Next」をクリック。

ユーザー名(コミュニティ上に表示される名前)とフルネーム(あなたのお名前)を入力し、利用規約と行動規範を確認上チェックを入れて、「Create Account」をクリックします。
(※ Optionalの項目は任意です。入力したい場合はどうぞ)

登録したメールアドレス宛てに確認メールが届くので、メール本文に記載されているURLをクリックしてコンファームしてください。これでユーザー登録は確認です。


再度、上記URLにアクセスし、ライセンスに同意するチェックを入れて「Access repository」をクリックします。

続いて、画面右上の丸いアイコンをクリック → 「Settings」をクリックします。

アカウントの設定画面が開きます。「Access Tokens」を選択して「New token」をクリック。

トークンの発行画面が表示されます。お好きな名前を入力して、「Generate a token」をクリック。

下のようにトークンが発行されたら、「Hugging Face」での作業は終了です。
この番号は後々もよく使うことになるので、コピー&ペーストしやすいようにどこかにメモを残しておくといいでしょう。(もちろん「Hugging Face」上で再確認は何度でも可能です)

【2】Google Colaboratory で Stable Diffusion を動かす下地を作る
「Google Colaboratory」とは、Googleが無料で提供しているAI学習用のサービスです。インストール不要で、オンライン上でAIの学習環境を整えることができます。

上記のURLから、「Google Colaboratory」にアクセスし、「ログイン」をクリックしてログインしてください。(既にGoogleアカウントにログイン済の場合はあなたのお名前が表示されています)

次に、「ノートブックを新規作成」をクリックしてください。

新しいノートブックが作成されます。「編集」をクリックし、「ノートブックの設定」をクリック。

ノートブックの設定欄でハードウェアアクセラレータ「GPU」を選択し、「保存」をクリックしてください。

【3】Google Colaboratory でコマンドを入力する
コマンド入力エリアが表示され、コマンドを入力できるようになりました。以下のコマンドを入力し、再生アイコン(➡)をクリックしてください。
pip install diffusers==0.2.4 transformers scipy ftfy

自動的に文字列が流れてきます。これでStable Diffusionがインストールされました。緑のチェックマークがついたら動作は完了です。

新しいコマンドを加えていきます。
「+コード」をクリックし、新しいコマンド入力エリアを挿入します。
以下のコマンドを入力し、再生アイコン(➡)をクリックしてください。
YOUR_TOKEN="Hugging Faceで発行したトークン"
ここに入力するのは【1】の工程で「Hugging Face」にて発行したあなたのトークンの番号です。コピー&ペーストで入力してください。その後、再生アイコン(➡)をクリックしてください。

続いて以下のコードを入力します。
(新しいコマンドを追加するたびに、「+コード」をクリックしてコマンド入力エリアを追加してください)
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", use_auth_token=YOUR_TOKEN)
(2022年12月 version 1.5用コマンドに更新しました)
再生アイコン(➡)をクリックするとプログレスバーが出現し、各種ファイルのダウンロードが始まります。この工程には数分の時間がかかるので少し待ちましょう。

続いて、次のコマンドを入力し、再生アイコン(➡)をクリックしてください。
pipe.to("cuda")

数分待って緑のチェックマークがついたら作業は完了です。Stable Diffusionを動かす準備が整いました。
【4】プロンプトを入力していく
Stable Diffusionは “Text to Image (文字から画像へ)” のAI描画サービスです。
画像を出力するために「プロンプト」と呼ばれる命令文を入力していきましょう。
以下のコマンドを入力してください。
prompt = "指示"
image = pipe(prompt)["sample"][0]
image.save(f"ファイル名.png")
これをもっと具体的に表記するとこんな感じです。
prompt = "cute cat smailing with banana"
image = pipe(prompt)["sample"][0]
image.save(f"sample.png")

再生アイコン(➡)をクリックし、動作が終了したら左側のフォルダアイコンを開いてください。

例で示した「sample.png」というファイルが出来上がっています。
このファイルをクリックすると、右側にプレビューが表示されます。
プロンプトや保存画像名を変更して再生アイコン(➡)をクリックすると、何度でも再試行可能です。(保存画像名を変えないと、先に作ったものは上書きされるので注意)

生成した画像はダウンロードすることも可能です。
各ファイル名の右側にある「三点マーク」をクリックして「ダウンロード」を選択するだけでOKです。
というわけで長らくお疲れ様でした。
これでStable Diffusionを思う存分使える環境が整いましたので、たくさん試行錯誤してください!
セッション切れ?
長時間放置してセッション切れになった等でコマンド実行エラーが発生する場合があります。
再接続しなおし、それでもプロンプトが実行できない場合は「【3】Google Colaboratory でコマンドを入力する」で実行したコマンドを一から入力しなおしてください。
「GPUバックエンドに接続できません」「Colabでの使用量上限に達したため、現在GPUに接続できません」とエラーが出る

「Google Colaboratory」の無料版は長時間GPUの使用を続けると使用制限がかかり、12時間~24時間程待たねば再使用できません。
また同時接続中の複数のユーザーでシェアしながらGPUを使うため、アクセスが集中している時間帯などにもこのエラーが発生するようです。
このエラーが出ると大変痛いですが、しばらく待つか課金するしかありません。
Stable Diffusionを使うためにGoogle Colabratoryに課金することを考えると、Dream Studioに課金することも比較検討せねばなりませんね。
「Google Colaboratory」の無料版/有料版の機能比較はこちらの記事を参考にどうぞ。
実はStable Diffusionのオンラインデモ版ならもっと簡単
ここまで長々と「Google Colaboratory」を利用してStable Diffusionを動かす方法を紹介してきましたが、実は公開されているオンラインデモ版ならもっと気軽に試してみることができます。
長くなりますので続きの記事にて。