RunPod の Serverless で Stable Diffusion で画像生成

GPU SOROBAN や Google Compute Engine の GPU インスタンスをいままで利用していましたが、推論(生成)に使わないときの金額がもったいないので RunPod の Serverless を試しました。

RunPod ではあらかじめ Automatic1111 さんの Stable Diffusion Web UI を GUI なしの API モードを Serverless で利用できます。

Serverless を使うときにはたったこれだけです。 input というキーの中に関数に引き渡す値をセットします。input の中身は txt2img のペイロードそのものです。

import requests

payload = {
  "input": {    "prompt": "1 girl, 4k, 8k, nicon",
    "height": 1024,
    "width": 1024,
    "num_outputs": 1,
    "num_inference_steps": 50,
    "guidance_scale": 7.5,
    "scheduler": "Euler a"}
}
headers = {"Authorization": key, "content-type": "application/json"}

res = requests.post(endpoint, headers=headers, json=payload)

あらかじめ RunPod 側で用意しているモデルは、かつて https://civitai.com/api/download/models/15236 からダウンロードできたもののようです。Controlnet やそのほか拡張機能は対応していません。

Serverless の中に SD Automatic1111 が用意されている。右下の GitHub リンクから、これを実現するためのコードが配置されている。

Controlnet に未対応であるとか、モデルが何かについては Docker ファイルを見て判断できます。 

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