Stable Diffusion WebuiからRunpodのServerlessを利用する

Kohaku NAIに着想を得て、RunpodのServerlessを利用するextensionを作成してみました。

通常のPodを借りる場合、手動で停止しない限り課金が続きますが、Serverlessであれば、生成時間に応じて課金されます。
Runpodの提供するリポジトリの中にはwebuiのapiで生成できるものもありましたが、ローカルのwebuiをクライアントにして生成できるようなものを自作してみました。(Controlnetなどのextensionには未対応です。)

追記:マルチワーカーに対応しました。並列で回せるので同じプロンプトで枚数を出したいときに速いです。(注:クレジット消費速度もワーカー倍になります。)

注:1ワーカーあたり、受信する画像の総容量は10MB以下でないとエラーになります。832x1216ならbatch count=1のままbatch size=8までがおすすめです。

備考:runpodモジュールのバージョンが1.7.3だと不具合があるようで生成時間が長いと生成途中でendpontのlogにremove containerと表示されIN_PROGRESSのままになってしまう症状がありました。クライアント側のwebuiのvenvやbuildしたdocker imageにrunpod==1.7.4が入っているか確認してください

docker run -it --rm YOUR_IMAGE pip freeze | grep runpod

# もしrunpod==1.7.3ならリビルドしてください 
cd runpod_serverless/deploy
docker build --no-cache -t YOUR_IMAGE . 

いいなと思ったら応援しよう!