Stability AI イメージの生成
Spring AI は、Stability AI のテキストからイメージへの生成モデル (英語) をサポートします。
前提条件
Stability AI の AI モデルにアクセスするには、API キーを作成する必要があります。API キーを取得するには、Stability AI の入門ドキュメント (英語) に従ってください。
Spring AI プロジェクトは、Stability AI から取得した API Key の値に設定する必要がある spring.ai.stabilityai.api-key という名前の構成プロパティを定義します。
 この構成プロパティは、application.properties ファイルで設定できます。
spring.ai.stabilityai.api-key=<your-stabilityai-api-key>API キーなどの機密情報を扱う際のセキュリティを強化するために、Spring 式言語 (SpEL) を使用してカスタム環境変数を参照できます。
# In application.yml
spring:
  ai:
    stabilityai:
      api-key: ${STABILITYAI_API_KEY}# In your environment or .env file
export STABILITYAI_API_KEY=<your-stabilityai-api-key>この構成をアプリケーションコード内でプログラム的に設定することもできます。
// Retrieve API key from a secure source or environment variable
String apiKey = System.getenv("STABILITYAI_API_KEY");自動構成
| Spring AI 自動構成、スターターモジュールのアーティファクト名に大きな変更がありました。詳細については、アップグレードノートを参照してください。 | 
Spring AI は、Stability AI イメージ生成クライアント用の Spring Boot 自動構成を提供します。これを有効にするには、プロジェクトの Maven pom.xml ファイルに次の依存関係を追加します。
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-model-stability-ai</artifactId>
</dependency> または、Gradle build.gradle ビルドファイルに保存します。
dependencies {
    implementation 'org.springframework.ai:spring-ai-starter-model-stability-ai'
}| Spring AI BOM をビルドファイルに追加するには、"依存関係管理" セクションを参照してください。 | 
イメージ生成プロパティ
 接頭辞 spring.ai.stabilityai は、Stability AI への接続を可能にするプロパティ接頭辞として使用されます。
| プロパティ | 説明 | デフォルト | 
|---|---|---|
| spring.ai.stabilityai.base-url | 接続先の URL | |
| spring.ai.stabilityai.api-key | API キー | - | 
|  イメージの自動構成の有効化と無効化は、プレフィックス  有効にするには、spring.ai.model.image=stabilityai (デフォルトで有効になっています) 無効にするには、spring.ai.model.image=none (または安定性と一致しない値 ai) この変更は、複数のモデルの構成を可能にするために行われます。 | 
 接頭辞 spring.ai.stabilityai.image は、Stability AI の ImageModel 実装を構成できるプロパティ接頭辞です。
| プロパティ | 説明 | デフォルト | 
|---|---|---|
| spring.ai.stabilityai.image.enabled (削除され、無効になりました) | Stability AI イメージモデルを有効にします。 | true | 
| spring.ai.model.image | Stability AI イメージモデルを有効にします。 | 安定性 | 
| spring.ai.stabilityai.image.base-url | オプションで spring.ai.openai.base-url をオーバーライドして特定の URL を提供します | 
 | 
| 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 に渡されます。 | 
 | 
| 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 | スタイルプリセットを渡して、イメージモデルを特定のスタイルに導きます。このスタイルプリセットのリストは変更される可能性があります。 | 
 | 
| 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 = stabilityaiImageModel.call(
        new ImagePrompt("A light cream colored mini golden doodle",
        StabilityAiImageOptions.builder()
                .stylePreset("cinematic")
                .N(4)
                .height(1024)
                .width(1024).build())
);| モデル固有の StabilityAiImageOptions [GitHub] (英語) に加えて、ImageOptionsBuilder#builder() [GitHub] (英語) で作成されたポータブル ImageOptions [GitHub] (英語) インスタンスを使用できます。 |