見出し画像

Stable Diffusion の機能をWeb API経由で利用できる stability-sdk を試す

「stability-sdk」を試したのでまとめました。

1. stability-sdk

「stability-sdk」は、「Stable Diffusion」の機能をWeb API経由で利用できるSDKです。画像生成には、「Dream Studio」をブラウザで利用する場合と同様に、「Dream Studio」のクレジットを消費します。

2. Dream Studio のAPIキーの取得

「stability-sdk」の利用には、「Dream Studio」のAPIキーが必要です。「Dream Studio」の右上のアカウントアイコンから「Membership → API Key」で「APIキー」を取得してください。

3. Colabでの実行

Colabでの実行手順は、次のとおりです。

(1) パッケージのインストール。

# パッケージのインストール
!pip install stability-sdk

(2) 環境変数にホストとAPIキーを指定。
以下の<APIキー>は、自分のAPIキーを指定してください。

import os

# 環境変数の設定設定
os.environ['STABILITY_HOST'] = 'grpc.stability.ai:443'
os.environ['STABILITY_KEY'] = '<APIキー>'

(3) テキストからの画像生成の実行。

import io
import os
from PIL import Image
from stability_sdk import client
import stability_sdk.interfaces.gooseai.generation.generation_pb2 as generation

# APIインタフェースの準備
stability_api = client.StabilityInference(
    key=os.environ['STABILITY_KEY'], 
    verbose=True,
)

# テキストからの画像生成
answers = stability_api.generate(
    prompt="white cat",
)

# 結果の出力
for resp in answers:
    for artifact in resp.artifacts:
        if artifact.finish_reason == generation.FILTER:
            print("NSFW")
        if artifact.type == generation.ARTIFACT_IMAGE:
            img = Image.open(io.BytesIO(artifact.binary))
            img.save('output.png')

(4) 生成した画像の確認。
左端のフォルダアイコンでファイル一覧を表示し、output.pngをダブルクリックします。



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