🏛️ 智影方案设计 - 智慧文旅 AI 视频平台

基于 Seedance 1.5博观大模型,打造类似"智影"的智慧文旅小程序/网站平台。

📐 一、系统架构

┌─────────────────────────────────────────────────────────────────────────┐
│                          用户层 (微信小程序 / Web)                       │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐   │
│  │  🎬 视频生成 │  │ 🗣️ 智能导览 │  │ 🤖 AI 客服  │  │ 📸 AI 拍照   │   │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘   │
└─────────┼────────────────┼────────────────┼────────────────┼───────────┘
          │                │                │                │
          ▼                ▼                ▼                ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                          API 网关层                                      │
│  ┌─────────────────────────────────────────────────────────────────┐    │
│  │                    Spring Cloud Gateway / Nginx                  │    │
│  │         认证、限流、路由、负载均衡                                │    │
│  └─────────────────────────────────────────────────────────────────┘    │
└────────────────────────────────┬────────────────────────────────────────┘
                                 │
          ┌───────────────────────┼───────────────────────┐
          ▼                       ▼                       ▼
┌──────────────────┐   ┌──────────────────┐   ┌──────────────────┐
│   视频服务        │   │   知识库服务      │   │   用户服务        │
│   (Seedance)      │   │   (RAG+博观)     │   │   (JWT)          │
└──────────────────┘   └──────────────────┘   └──────────────────┘
          │                       │                       │
          └───────────────────────┼───────────────────────┘
                                  ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                          基础设施层                                      │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐              │
│  │ 火山方舟  │  │  MinIO   │  │  Redis   │  │ MySQL     │              │
│  │ 视频生成  │  │ 对象存储 │  │ 缓存     │  │ 数据库    │              │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘              │
└─────────────────────────────────────────────────────────────────────────┘
                

🛠️ 二、技术栈

🌐 前端: Vue3 / React 📱 微信小程序 🔙 后端: Spring Boot 🔧 API 网关: Spring Cloud Gateway ☁️ 部署: Docker + K8s 🎬 视频: Seedance 1.5 🧠 AI: 博观大模型 💾 存储: MinIO + MySQL

📱 三、核心功能模块

🎬

AI 视频生成

图生视频、文生视频、主体参照、风格迁移、口型匹配

🗣️

智能语音导览

景点讲解、语音问答、AR 实景导航

🤖

AI 智能客服

7×24 问答、景点推荐、票务咨询

📸

AI 拍照

智能修图、风格滤镜、背景替换

🗺️

智能行程规划

个性化路线、时间优化、景点推荐

🎫

智能票务

在线预约、人流预测、刷脸入园

🔧 四、核心代码实现

4.1 视频生成服务

// 视频生成 Controller
@RestController
@RequestMapping("/api/video")
public class VideoController {
    
    @Autowired
    private SeedanceService seedanceService;
    
    @PostMapping("/generate")
    public Result<Task> generateVideo(@RequestBody VideoGenerateRequest request) {
        // 1. 参数校验
        // 2. 调用 Seedance API
        // 3. 创建任务记录
        // 4. 返回任务ID
        return Result.success(task);
    }
    
    @GetMapping("/task/{taskId}")
    public Result<VideoResult> getTaskResult(@PathVariable String taskId) {
        // 查询任务状态
        // 返回视频URL或进度
    }
}

4.2 Seedance + 即梦 集成

// 视频生成服务 - 支持双平台
@Service
public class VideoService {
    
    // 即梦配置
    private static final String JIMENG_AK = "AKLTMGY5MDcxNmVjYTg4NDE4ZGE0YTMyMWJlZGQwZjExNzc";
    private static final String JIMENG_SK = "WW1Wak9EVXdaRFU0WlRSaE5HSXlOMkkyT1dWall6WTRNekU0WWpkaVpqVQ";
    private static final String JIMENG_ENDPOINT = "https://visual.baidu.com/pixelai/image2video";
    
    // Seedance 配置
    private static final String SEEDANCE_API_KEY = "your-key";
    private static final String SEEDANCE_ENDPOINT = "https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks";
    
    /**
     * 创建视频任务 - 即梦
     */
    public String createJimengTask(String prompt, String imageUrl, int duration) {
        MultipartBody.Builder body = new MultipartBody.Builder()
            .setType(MultipartBody.FORM)
            .addFormDataPart("prompt", prompt)
            .addFormDataPart("image", imageUrl)
            .addFormDataPart("duration", String.valueOf(duration))
            .addFormDataPart("withLogo", "true");
        
        Request request = new Request.Builder()
            .url(JIMENG_ENDPOINT)
            .addHeader("Authorization", "Bearer " + JIMENG_AK + ":" + JIMENG_SK)
            .post(body.build())
            .build();
        
        // 执行请求并返回 task_id
    }
    
    /**
     * 查询即梦任务状态
     */
    public VideoResult checkJimengTask(String taskId) {
        Request request = new Request.Builder()
            .url(JIMENG_ENDPOINT + "/status/" + taskId)
            .addHeader("Authorization", "Bearer " + JIMENG_AK + ":" + JIMENG_SK)
            .get()
            .build();
        
        // 返回视频URL或进度
    }
}

4.3 微信小程序调用

// 微信小程序 - 视频生成页面
Page({
    data: {
        imageUrl: '',
        prompt: '',
        generating: false,
        videoUrl: ''
    },
    
    uploadImage() {
        wx.chooseImage({
            success: res => {
                this.setData({ imageUrl: res.tempFilePaths[0] })
                // 上传到服务器获取URL
                this.uploadToServer(res.tempFilePaths[0])
            }
        })
    },
    
    generateVideo() {
        wx.showLoading({ title: '生成中...' })
        
        wx.request({
            url: 'https://api.yourdomain.com/api/video/generate',
            method: 'POST',
            data: {
                image_url: this.data.serverImageUrl,
                prompt: this.data.prompt,
                duration: 5
            },
            success: res => {
                // 轮询任务状态
                this.pollTask(res.data.task_id)
            }
        })
    },
    
    pollTask(taskId) {
        const interval = setInterval(() => {
            wx.request({
                url: `https://api.yourdomain.com/api/video/task/${taskId}`,
                success: res => {
                    if (res.data.status === 'succeeded') {
                        clearInterval(interval)
                        this.setData({ 
                            videoUrl: res.data.video_url,
                            generating: false 
                        })
                        wx.hideLoading()
                    }
                }
            })
        }, 3000)
    }
})

📋 五、部署步骤

第一步:准备服务器

配置要求:

  • CPU: 4 核 +
  • 内存: 8GB +
  • 硬盘: 100GB +
  • 系统: Ubuntu 22.04

第二步:部署后端服务

# 安装 Docker
curl -fsSL https://get.docker.com | sh

# 启动基础服务
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=xxx mysql:8
docker run -d --name redis -p 6379:6379 redis:7
docker run -d --name minio -p 9000:9000 -p 9001:9001 -e MINIO_ROOT_USER=xxx -e MINIO_ROOT_PASSWORD=xxx minio/minio server /data

第三步:配置 Seedance API

在火山方舟控制台:

  1. 创建应用获取 API Key
  2. 开通 Seedance 1.5 模型
  3. 配置 API 调用地址

第四步:部署小程序

  1. 注册微信小程序
  2. 配置服务器域名
  3. 上传前端代码
  4. 提交审核

💰 六、成本估算

项目 说明 预估月成本
云服务器 4核8G ¥300-500
Seedance API 按调用量计费 ¥1000-5000
对象存储 图片+视频存储 ¥100-300
数据库+缓存 MySQL + Redis ¥200-400
合计 ¥1600-6200

📝 七、总结

核心功能:
  • 🎬 AI 视频生成:基于 Seedance 1.5
  • 🗣️ 智能导览:基于博观大模型 + RAG
  • 📱 微信小程序:即用即走,方便快捷
  • ☁️ 云端部署:弹性扩展,按需付费
← 返回上一页