import org.springframework.ai.image.ImagePrompt;
import org.springframework.ai.image.ImageResponse;
import org.springframework.ai.openai.OpenAiImageModel;
import org.springframework.ai.openai.OpenAiImageOptions;
import org.springframework.stereotype.Service;
@Service
public class ImageGenerationService {
private final OpenAiImageModel imageModel;
public ImageGenerationService(OpenAiImageModel imageModel) {
this.imageModel = imageModel;
}
public String generateImage(String prompt, String model, String size) {
OpenAiImageOptions options = OpenAiImageOptions.builder()
.model(model)
.quality("hd")
.n(1)
.height(1024)
.width(1024)
.responseFormat("url")
.style("natural")
.build();
ImageResponse response = imageModel.call(
new ImagePrompt(prompt, options)
);
return response.getResult().getOutput().getUrl();
}
}