Skip to content

Latest commit

 

History

History
64 lines (49 loc) · 2.44 KB

README.md

File metadata and controls

64 lines (49 loc) · 2.44 KB

Stable Diffusion Slack Bot

日本語でプロンプトを与えるとStable Diffusionの画像を投稿してくれるSlack Bot
元画像を指定しての生成もできるコマンドも提供。 RTX2070 8GB環境とGTX2060 6GB環境で操作確認済み。

環境導入と実行

Stable Diffusionの公式版が動く環境の整備をした前提で以下を実行。(構築方法参考)

conda env create -f environment.yaml
conda activate sdbot

以上を行って .env ファイルにHuggingfaceのトークンと、SlackのAppトークンとBotトークンを設定。

YOUR_TOKEN=hf_xxxxxxxxxxxxxx
SLACK_BOT_TOKEN=xoxb-999999999999999999999999
SLACK_APP_TOKEN=xapp-999999999999999999999999

設定後、実行は以下のコマンドの通り。

python3 script/main.py

Stable Diffusion Botの使い方

  • プロンプトから画像生成(t2i): !img [プロンプト]
  • 画像から画像生成(i2i): !img-i [URL] [0.0~1.0までの強度] [プロンプト]
  • waifu-diffusionモデルをつかってプロンプトから画像生成(t2i-waifu): !img-w [プロンプト]
  • ヘルプ表示: !img-help

なお、画像から画像生成する際のURLはパブリックにアクセス可能なURLかSlack内の画像のURLである必要があります。

Slackのアプリに必要な権限

アプリの作り方はこのドキュメントに準拠。 必要権限は以下。

OAuth & Permissions - Bot Token Scopes

  • chat:write
  • files:write
  • files:read

Event Subscriptions

  • message.channels
  • message.groups
  • message.im
  • message.mpim

トラブルシューティング

以下のエラーが出る。

RuntimeError: CUDA error: unknown error
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

ビデオメモリが足りません。 main.py のコード内の画像のサイズを指定しているところを512ではなく8の倍数の384か256にして対応してください。

参考ドキュメント