当前位置: 首页 > news >正文

Spring AI Alibaba Video 示例

Spring AI Alibaba Video 示例

此文章中将介绍 Spring AI Alibaba Video 的接入原理和使用 Demo。

1. 阿里云 Video 模型

官网地址:https://help.aliyun.com/zh/model-studio/video-generation-api

Video 模型支持文生视频,基于首尾帧和通用视频剪辑等功能,同属于 WANX 系列模型。

2. Spring AI Alibaba 功能

Spring AI Alibaba 目前支持 Chat,Image,Audio 和 多模态。在最近开发版本中加入了 Video 的支持。

目前仅支持 文生视频和基于首尾帧生成。

3. Video 接入原理

Spring AI Alibaba 使用 HTTP 方式,通过 Spring AI 提供的模型基础抽象来接入 Video 模型。因此在使用方式上和 Chat,Image 等一致。

在这里插入图片描述

4. Example

Example 工程地址:https://github.com/springaialibaba/spring-ai-alibaba-examples/tree/main/spring-ai-alibaba-video-example

4.1 工程创建

Tips: 因为包含 Video 的 SAA 版本尚未发布,因此需要安装到本地 mvn 仓库在使用!

安装完成 core 模块之后,在项目的工程中引入 spring-ai-alibaba-starter-dashscope 开发版本:

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>3.4.5</version></dependency><dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-starter-dashscope</artifactId><version>1.0.0.3-SNAPSHOT</version></dependency>
</dependencies>

之后创建控制器:

@RequestMapping
@RestController
public class VideoExampleController {private final VideoModel videoModel;public VideoExampleController(VideoModel videoModel) {this.videoModel = videoModel;}@GetMapping("/gen")public String gen() {return videoModel.call(new VideoPrompt("生成一个程序员深夜敲代码的视频,时而深思,时而敲击键盘,时而看向窗外.")).getResult().getOutput().getVideoUrl();}
}

之后补充一个 Spring App 的主类即可。

不需要在 application.yml 中显式配置 apiKey,所有关于初始化的一切操作都会在 starter 中完成!

4.2 请求访问

项目启动之后,使用 curl 127.0.0.1:8080/gen 请求接口,稍等一会,即可看到视频地址,下载即可。

Tips: 返回的视频 url 只在半个小时内有效,如果需要保存,需要及时下载!

如果此时控制台出现如下错误,不要担心,是因为 DashScope 平台正在处理任务,此时的任务状态为 pending

java.lang.RuntimeException: Video generation still pending, retry ...

如果一切顺利,将看到如下输出:

$ curl 127.0.0.1:8080/genhttps://dashscope-result-wlcb-acdr-1.oss-cn-wulanchabu-acdr-1.aliyuncs.com/1d/aa/20250726/ad0627fd/4dbc038a-5b19-4a0a-a827-905ccb841cfb.mp4?Expires=1753596276&OSSAccessKeyId=LTAI5tKPD3TMqf2Lna1fASuh&Signature=rHY4nP0Jm%2B50bN60Z6S4zrLVcn4%3D

点击下载,即可看到视频内容:

在这里插入图片描述

5. 参考

  1. DashScope apiKey 获取:https://help.aliyun.com/zh/model-studio/get-api-key
  2. 阿里云视频生成模型:https://help.aliyun.com/zh/model-studio/video-generation-api
  3. Spring AI Alibaba 介绍:https://java2ai.com/docs/1.0.0.2/overview/
  4. Spring AI Alibaba Example 仓库:https://github.com/springaialibaba/spring-ai-alibaba-examples
http://www.dtcms.com/a/300127.html

相关文章:

  • 大型微服务项目:听书——12 数据一致性自定义starter封装缓存操作
  • Java设计模式之行为型模式(中介者模式)实现方式与测试方法
  • 大数据之路:阿里巴巴大数据实践——实时技术与数据服务
  • Reeden:跨平台 AI 电子书阅读器
  • leetcode112, 257:二叉树的路径总和、二叉树的所有路径双题对比
  • 【基础完全搜索】USACO Bronze 2020 December - 雏菊链Daisy Chains
  • AI Agent:自主决策的智能助手
  • Javaweb————HTTP消息体拆分讲解
  • ISIS分片扩展实验案例
  • 精密全波整流电路(四)
  • 2025年02月11日 Go生态洞察:Go 1.24 发布亮点全面剖析
  • 【DNS服务配置—实现正反向解析】
  • 宏观杠杆率及其数据获取(使用AKShare)
  • 【C++基础】指针常量 | 常量指针 | int* p | const int* p | int* const p| const int* const p
  • MyBatis-Plus 进阶功能:分页插件与乐观锁的实战指南
  • Codeforces Round 181 (Rated for Div. 2)
  • 哈尔滨←→南昌的铁路要道
  • 计算公式放配置
  • 【linux】keepalived
  • ART某板卡的软件位置
  • 每日一道算法题(九)
  • 【C/C++】Undefined reference: memset_s
  • 【seismic中的颜色】
  • ETF历史高频逐笔分钟数据解析
  • FastAPI入门:demo、路径参数、查询参数
  • Linux进程替换
  • Dynamic Model in RL
  • 渲染篇(二):解密Diff算法:如何用“最少的操作”更新UI
  • 【数据结构】二叉树初阶详解(二):实现逻辑与代码拆解(超详版)
  • 聚类-一种无监督分类算法