Stability AI イメージの生成

Spring AI は、Stability AI のテキストからイメージへの生成モデル (英語) をサポートします。

前提条件

AI モデルにアクセスするには、Stability AI で API キーを作成し、入門ドキュメント (英語) に従ってください。

Spring AI プロジェクトは、Stability AI から取得した API Key の値に設定する必要がある spring.ai.stabilityai.api-key という名前の構成プロパティを定義します。環境変数をエクスポートすることは、その構成プロパティを設定する 1 つの方法です。

export SPRING_AI_STABILITYAI_API_KEY=<INSERT KEY HERE>

自動構成

Spring AI は、Stability AI イメージ生成クライアント用の Spring Boot 自動構成を提供します。これを有効にするには、プロジェクトの Maven pom.xml ファイルに次の依存関係を追加します。

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-stability-ai-spring-boot-starter</artifactId>
</dependency>

または、Gradle build.gradle ビルドファイルに保存します。

dependencies {
    implementation 'org.springframework.ai:spring-ai-stability-ai-spring-boot-starter'
}
Spring AI BOM をビルドファイルに追加するには、"依存関係管理" セクションを参照してください。

イメージ生成プロパティ

接頭辞 spring.ai.stabilityai は、Stability AI への接続を可能にするプロパティ接頭辞として使用されます。

プロパティ 説明 デフォルト

spring.ai.stabilityai.base-url

接続先の URL

api.stability.ai/v1 (英語)

spring.ai.stabilityai.api-key

API キー

-

接頭辞 spring.ai.stabilityai.image は、Stability AI の ImageModel 実装を構成できるプロパティ接頭辞です。

プロパティ 説明 デフォルト

spring.ai.stabilityai.image.enabled

Stability AI イメージモデルを有効にします。

true

spring.ai.stabilityai.image.base-url

オプションで spring.ai.openai.base-url をオーバーライドして特定の URL を提供します

api.stability.ai/v1 (英語)

spring.ai.stabilityai.image.api-key

オプションで spring.ai.openai.api-key をオーバーライドして、特定の API キーを提供します

-

spring.ai.stabilityai.image.option.n

生成されるイメージの数。1 ~ 10 の間で指定する必要があります。

1

spring.ai.stabilityai.image.option.model

Stability AI で使用するエンジン / モデル。モデルはパスパラメーターとして URL に渡されます。

stable-diffusion-v1-6

spring.ai.stabilityai.image.option.width

生成するイメージの幅 (ピクセル単位)。増分は 64 で割り切れます。エンジン固有の寸法検証が適用されます。

512

spring.ai.stabilityai.image.option.height

生成するイメージの高さ (ピクセル単位)。増分は 64 で割り切れます。エンジン固有の寸法検証が適用されます。

512

spring.ai.stabilityai.image.option.responseFormat

生成されたイメージが返される形式。"application/json" または "image/png" である必要があります。

-

spring.ai.stabilityai.image.option.cfg_scale

プロンプトテキストに対する拡散プロセスの遵守の厳密さのレベル。範囲: 0 ~ 35。

7

spring.ai.stabilityai.image.option.clip_guidance_preset

スタイルプリセットを渡して、イメージモデルを特定のスタイルに導きます。このスタイルプリセットのリストは変更される可能性があります。

NONE

spring.ai.stabilityai.image.option.sampler

拡散プロセスにどのサンプラーを使用するか。この値を省略すると、適切なサンプラーが自動的に選択されます。

-

spring.ai.stabilityai.image.option.seed

ランダムノイズシード (このオプションを省略するか、ランダムシードに 0 を使用します)。有効な範囲: 0 ~ 4294967295。

0

spring.ai.stabilityai.image.option.steps

実行する拡散ステップの数。有効な範囲: 10 ~ 50。

30

spring.ai.stabilityai.image.option.style_preset

スタイルプリセットを渡して、イメージモデルを特定のスタイルに導きます。このスタイルプリセットのリストは変更される可能性があります。

-

ランタイムオプション

StabilityAiImageOptions.java [GitHub] (英語) は、使用するモデル、スタイル、サイズなどのモデル構成を提供します。

起動時に、StabilityAiImageModel(StabilityAiApi stabilityAiApi, StabilityAiImageOptions options) コンストラクターを使用してデフォルトのオプションを構成できます。あるいは、前述の spring.ai.openai.image.options.* プロパティを使用します。

実行時に、新しいリクエスト固有のオプションを ImagePrompt 呼び出しに追加することで、デフォルトのオプションをオーバーライドできます。たとえば、品質や作成するイメージの数などの Stability AI 固有のオプションをオーバーライドするには、次のコード例を使用します。

ImageResponse response = openaiImageModel.call(
        new ImagePrompt("A light cream colored mini golden doodle",
        StabilityAiImageOptions.builder()
                .withStylePreset("cinematic")
                .withN(4)
                .withHeight(1024)
                .withWidth(1024).build())

);
モデル固有の StabilityAiImageOptions [GitHub] (英語) に加えて、ImageOptionsBuilder#builder() [GitHub] (英語) で作成されたポータブル ImageOptions [GitHub] (英語) インスタンスを使用できます。