当前位置: 首页 > 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.lryc.cn/news/600841.html

相关文章:

  • 阿里开源Qwen3-Coder,编程大模型进入高效时代
  • Go语言unsafe包深度解析
  • 机器学习入门:线性回归详解与实战
  • 高效无损压缩方案:轻松批量处理图片,节省存储空间
  • Python编程:初入Python魔法世界
  • 基于cooragent的旅游多智能体的MCP组件安装与其开发
  • 用Java实现rpc的逻辑和流程图和核心技术与难点分析
  • Android中ViewStub和View有什么区别?
  • 洛谷 P1226 【模板】快速幂-普及-
  • 聚焦牛牛道:绿色积分模式如何实现快速发展?
  • Android 蓝牙学习
  • 如何检查服务器数据盘是否挂载成功?
  • Flowable 实战落地核心:选型决策与坑点破解
  • ACO-OFDM 的**频带利用率**(单位:bit/s/Hz)计算公式
  • 【深度学习新浪潮】什么是GUI Agent?
  • java网络请求工具类HttpUtils
  • QUIC协议如何在UDP基础上解决网络切换问题
  • [C/C++内存安全]_[中级]_[再次探讨避免悬垂指针的方法和检测空指针的方法]
  • 蘑菇云路由器使用教程
  • 无需云服务器的内网穿透方案 -- cloudflare tunnel
  • 计数dp(基础)
  • Redis 缓存机制详解:原理、问题与最佳实践
  • Java程序员学从0学AI(六)
  • MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
  • 【LeetCode刷题指南】--队列实现栈,栈实现队列
  • MySQL 8.0 OCP 1Z0-908 题目解析(37)
  • mysql group by 多个行转换为一个字段
  • 数据结构(4)单链表算法题(上)
  • 图解网络-小林coding笔记(持续更新)
  • 期货资管软件定制开发流程