【AI】文生图&文生视频

【AI】文生图&文生视频

文章目录

  • 【AI】文生图&文生视频
    • [1. 简介](#1. 简介)
    • [2. 接入阿里百炼平台](#2. 接入阿里百炼平台)
      • [2.1 申请免费体验](#2.1 申请免费体验)
      • [2.2 配置API-KEY](#2.2 配置API-KEY)
      • [2.3 添加依赖](#2.3 添加依赖)
      • [2.4 配置模型参数](#2.4 配置模型参数)
      • [2.5 模型测试](#2.5 模型测试)
    • [3. 文生图](#3. 文生图)
    • [4. 文生视频](#4. 文生视频)

1. 简介

在前面的文章中,我们使用了langchain4j提供的免费演示密钥去连接的gpt-4o--mi模型,但免费的apikey连接的模型总会有许多配额限制,这里我们接入阿里百炼平台,它集成了阿里的通义系列大模型和其它第三方大模型(如deepseek),涵盖文本、 图像、音视频等不同模态,最主要的是,新用户有千万token(不同模型合计)免费送,用于我们平时学习使用已经足够了。

2. 接入阿里百炼平台

2.1 申请免费体验

  • 进入官网点击大模型模块:官网链接

  • 点击免费体验

  • 点击开通服务,并确认开通

2.2 配置API-KEY

  1. 前往申请:大模型服务平台百炼控制台

  2. 创建完api-key后,在环境变量配置DASH_SCOPE_API_KEY,变量值为刚创建的api-key

2.3 添加依赖

xml 复制代码
<dependencies>
    <!-- 接入阿里云百炼平台 -->
    <dependency>
        <groupId>dev.langchain4j</groupId>
        <artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId>
        <version>1.0.0-beta3</version>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <!--引入langchain4j依赖管理清单 -->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-bom</artifactId>
            <version>${langchain4j.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!--引入百炼依赖管理清单 -->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-community-bom</artifactId>
            <version>${langchain4j.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
<dependencyManagement>

2.4 配置模型参数

这里使用的是qwen-max模型

properties 复制代码
# 阿里百炼平台
langchain4j.community.dashscope.chat-model.api-key=${DASH_SCOPE_API_KEY}
langchain4j.community.dashscope.chat-model.model-name=qwen-max

2.5 模型测试

编写接口如下:

java 复制代码
@Autowired
QwenChatModel qwenChatModel;

@GetMapping("/chat")
public String model(@RequestParam(value = "message", defaultValue = "Hello") String message){
    String chat = qwenChatModel.chat(message);
    return chat;
}

执行结果:

到这里我们的模型引入就完成了!!

3. 文生图

引入阿里百炼平台后,我们接入内置的通义模型就方便多了,想要实现文生图 的话我们可以引入通义万象这个模型来构建文生图的逻辑,构建模型代码如下:

java 复制代码
WanxImageModel wanxImageModel = WanxImageModel.builder()
        .modelName("wanx2.1-t2i-turbo")
        .apiKey(System.getenv("DASH_SCOPE_API_KEY"))
        .build();

之后直接在接口中进行引用即可:

java 复制代码
Response<Image> response = wanxImageModel.generate(message);
return response.content().url().toString();

注:如果想要实现让ai根据输入的提示词判断现在是直接生成文本还是生成图片,可以再加一层判断逻辑来进行捕获:

java 复制代码
@GetMapping("/chat")
public String model(@RequestParam(value = "message", defaultValue = "Hello") String message) throws {
    String chatJudge = qwenChatModel.chat("对下述内容进行判断,如果是要求生成一张图片,则返回数字1;以上情况都不符合则返回数字0\n" + message);
    if (chatJudge.equals("1")) {
        Response<Image> response = wanxImageModel.generate(message);
        return response.content().url().toString();
    }
    String chat = memoryChatAssistant.chat(message);
    return chat;
}

执行结果:

4. 文生视频

文生视频的实现方式与文生图类似,也是通过万象大模型来进行生成的,具体代码如下:

  • 封装视频生成方法:

    java 复制代码
    private static String getVideo(String message) throws NoApiKeyException, InputRequiredException {
        VideoSynthesis vs = new VideoSynthesis();
        VideoSynthesisParam param =
                VideoSynthesisParam.builder()
                        .model("wanx2.1-t2v-turbo")
                        .prompt(message)
                        .size("1280*720")
                        .apiKey(System.getenv("DASH_SCOPE_API_KEY"))
                        .build();
        System.out.println("please wait...");
        VideoSynthesisResult videoSynthesisResult = vs.call(param);
        return videoSynthesisResult.getOutput().getVideoUrl();
    }
  • 接口修改

    java 复制代码
    @GetMapping("/chat")
    public String model(@RequestParam(value = "message", defaultValue = "Hello") String message) throws NoApiKeyException, InputRequiredExceptio
        String chatJudge = qwenChatModel.chat("对下述内容进行判断,如果是要求生成一张图片,则返回数字1;如果是要求生成一个视频,则返回数字2;以上情况都不符合则返回数字0\n" + message);
        if (chatJudge.equals("1")) {
            Response<Image> response = wanxImageModel.generate(message);
            return response.content().url().toString();
        }
        else if (chatJudge.equals("2")) {
            return getVideo(message);
        }
        String chat = memoryChatAssistant.chat(message);
        return chat;
    }

执行结果如下:

以上便是对文生图和文生视频的介绍与使用了,如果上述内容对大家有帮助的话请给一个三连关注吧💕( •̀ ω •́ )✧✨

相关推荐
布吉岛的石头4 分钟前
海外AI众包入门:英语要什么水平,钱怎么收回来
人工智能·副业·数据标注·众包·海外兼职
zhikouai9 分钟前
一边撤掉3千元入门款,一边在别处悄悄卖
人工智能
Rocky Ding*11 分钟前
Hi-DiT:一文读懂Hybrid Latent-Pixel Diffusion Transformer的本质与技术细节
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·hi-dit
勤劳X码农15 分钟前
2026年学生配音软件怎么选?免费AI配音指南
人工智能
鬼手点金16 分钟前
opencode组件详解-安装方式
人工智能·python·优化器·分析器·nanogpt
武子康21 分钟前
Cosmos Curator 清洗视频时,哪些片段应该留下?
人工智能·llm·agent
AI浩21 分钟前
Migician:揭示多模态大语言模型中自由形式多图定位的魔力
人工智能·语言模型·自然语言处理
三声三视22 分钟前
周日晚九点半,两份 JD 喂进 tri-jobhunt:全中的那份和缺一项的,都拿了 70 分
人工智能·ai·skillhub·tri-skill·tri-jobhunt
硅谷秋水23 分钟前
从语言模型到作用于世界的系统:智能体AI在数字、社交、虚拟及物理环境中的进展与局限
人工智能·机器学习·语言模型·自然语言处理
乃嘿仔27 分钟前
AI 热点日报 · 2026-09-27
人工智能