Skip to content

Commit 10f22b5

Browse files
committed
Merge runtime options for Stability AI image gen
1 parent 9c7af56 commit 10f22b5

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

models/spring-ai-stability-ai/src/main/java/org/springframework/ai/stabilityai/StabilityAiImageModel.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,9 @@ public ImageResponse call(ImagePrompt imagePrompt) {
8888
// Merge the runtime options passed via the prompt with the default options
8989
// configured via the constructor.
9090
// Runtime options overwrite StabilityAiImageModel options
91-
StabilityAiImageOptions requestImageOptions = mergeOptions(imagePrompt.getOptions(), this.defaultOptions);
92-
91+
StabilityAiImageOptions runtimeOptions = (StabilityAiImageOptions) imagePrompt.getOptions();
92+
StabilityAiImageOptions requestImageOptions = mergeOptions(runtimeOptions, this.defaultOptions);
93+
System.err.println("requestImageOptions: " + requestImageOptions);
9394
// Copy the org.springframework.ai.model derived ImagePrompt and ImageOptions data
9495
// types to the data types used in StabilityAiApi
9596
StabilityAiApi.GenerateImageRequest generateImageRequest = getGenerateImageRequest(imagePrompt,
@@ -117,7 +118,8 @@ private ImageResponse convertResponse(StabilityAiApi.GenerateImageResponse gener
117118
* Merge runtime and default {@link ImageOptions} to compute the final options to use
118119
* in the request.
119120
*/
120-
private StabilityAiImageOptions mergeOptions(ImageOptions runtimeOptions, StabilityAiImageOptions defaultOptions) {
121+
private StabilityAiImageOptions mergeOptions(StabilityAiImageOptions runtimeOptions,
122+
StabilityAiImageOptions defaultOptions) {
121123
if (runtimeOptions == null) {
122124
return defaultOptions;
123125
}
@@ -134,10 +136,10 @@ private StabilityAiImageOptions mergeOptions(ImageOptions runtimeOptions, Stabil
134136
// Handle Stability AI specific image options
135137
.withCfgScale(defaultOptions.getCfgScale())
136138
.withClipGuidancePreset(defaultOptions.getClipGuidancePreset())
137-
.withSampler(defaultOptions.getSampler())
139+
.withSampler(runtimeOptions.getSampler())
138140
.withSeed(defaultOptions.getSeed())
139-
.withSteps(defaultOptions.getSteps())
140-
.withStylePreset(defaultOptions.getStylePreset())
141+
.withSteps(runtimeOptions.getSteps())
142+
.withStylePreset(runtimeOptions.getStylePreset())
141143
.build();
142144
}
143145

models/spring-ai-stability-ai/src/main/java/org/springframework/ai/stabilityai/api/StabilityAiApi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public record GenerateImageRequest(@JsonProperty("text_prompts") List<TextPrompt
100100
@JsonProperty("cfg_scale") Float cfgScale, @JsonProperty("clip_guidance_preset") String clipGuidancePreset,
101101
@JsonProperty("sampler") String sampler, @JsonProperty("samples") Integer samples,
102102
@JsonProperty("seed") Long seed, @JsonProperty("steps") Integer steps,
103-
@JsonProperty("style_present") String stylePreset) {
103+
@JsonProperty("style_preset") String stylePreset) {
104104

105105
public static Builder builder() {
106106
return new Builder();

0 commit comments

Comments
 (0)