首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >spring-ai 学习系列(6)-文生图

spring-ai 学习系列(6)-文生图

作者头像
菩提树下的杨过
发布2025-08-22 08:33:52
发布2025-08-22 08:33:52
9800
代码可运行
举报
运行总次数:0
代码可运行

继续来学习spring-ai如何实现“文生图”

一、pom依赖

代码语言:javascript
代码运行次数:0
运行
复制
1 <dependency>
2     <groupId>org.springframework.ai</groupId>
3     <artifactId>spring-ai-starter-model-zhipuai</artifactId>
4     <version>1.0.0</version>
5 </dependency>

spring-ai支持多种文生图的模型,这里我们使用国产的智谱大模型,可以先免费体验 ,api-key申请地址:https://bigmodel.cn/usercenter/proj-mgmt/apikeys

二、yaml配置

代码语言:javascript
代码运行次数:0
运行
复制
spring:
  ai:
    zhipuai:
      api-key: ${zhipuai_api_key}

这里api-key换成真实的key

三、文生图代码

代码语言:javascript
代码运行次数:0
运行
复制
@GetMapping("/image/url")
public String genImageUrl(@RequestParam String prompt) {
    var options = ImageOptionsBuilder.builder().height(256).width(256).build();
    ImageResponse response = zhiPuAiImageModel.call(
            new ImagePrompt(prompt,
                    options));
    Image output = response.getResult().getOutput();
    return output.getUrl();
}

@GetMapping("/image/display")
public ResponseEntity<ByteArrayResource> displayImage(@RequestParam String prompt) {
    try {
        var options = ImageOptionsBuilder.builder().height(256).width(256).build();
        ImageResponse response = zhiPuAiImageModel.call(
                new ImagePrompt(prompt, options));
        Image output = response.getResult().getOutput();
        
        // 获取图片URL
        String imageUrl = output.getUrl();
        
        // 下载图片数据
        URL url = URI.create(imageUrl).toURL();
        byte[] imageData = url.openStream().readAllBytes();
        
        // 创建ByteArrayResource
        ByteArrayResource resource = new ByteArrayResource(imageData);
        
        // 设置响应头 - 直接在浏览器中显示
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.IMAGE_PNG);
        
        return ResponseEntity.ok()
                .headers(headers)
                .body(resource);
                
    } catch (IOException e) {
        return ResponseEntity.internalServerError().build();
    }
}

运行效果:

文中代码:yjmyzz/spring-ai-sample at day05

参考:

https://docs.spring.io/spring-ai/reference/api/imageclient.html

spring-ai/models/spring-ai-zhipuai at aa590e839de2a8edc01f3c7cbdcf6a2a8ba57401 · spring-projects/spring-ai

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档