更新记录

1.0.0(2025-10-14)

新版本上线


平台兼容性

云端兼容性

阿里云 腾讯云 支付宝云

uni-app(4.36)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
-
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

云函数类插件通用教程

使用云函数类插件的前提是:使用HBuilderX 2.9+


🎬 CSora2 - AI 视频生成应用

![CSora2 Logo](static/logo.png) **基于 Sora API 的专业 AI 视频创作平台** [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.md) [![Version](https://img.shields.io/badge/version-1.0.0-green.svg)](package.json) [![uniCloud](https://img.shields.io/badge/uniCloud-阿里云-orange.svg)](https://uniapp.dcloud.net.cn/uniCloud/) [![Vue](https://img.shields.io/badge/Vue-2.x-brightgreen.svg)](https://vuejs.org/) [![QQ](https://img.shields.io/badge/QQ-2272723604-red.svg)](http://wpa.qq.com/msgrd?v=3&uin=***&site=qq&menu=yes) **支持 Sora-2-Pro 高清模式 | 15 秒视频 | 1024×1792 超清** [快速开始](#-快速开始) | [功能特色](#-功能特色) | [在线演示](https://csora.hefeiruanyun.com/#/pages/sora/index) | [文档](#-文档) --- ## 🌐 在线演示 **立即体验:** [https://csora.hefeiruanyun.com/#/pages/sora/index](https://csora.hefeiruanyun.com/#/pages/sora/index) **获取源码:** 如需完整开源版本,请联系作者 QQ: ******* 📞 ### 📱 应用截图

首页 - 创作界面

列表页 - 作品管理

详情页 - 视频播放

生成设置 - 参数配置
### 📱 扫码体验(手机端)
![CSora2 在线演示](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=https://csora.hefeiruanyun.com/#/pages/sora/index)

📖 项目简介

CSora2 是一款基于 Sora API 的专业 AI 视频生成应用,采用黑色炫酷风格设计,为用户提供简单易用的文字转视频创作体验。

🎯 在线体验地址https://csora.hefeiruanyun.com/#/pages/sora/index

💡 获取开源版本:如需完整源码,请联系作者 QQ: ***

✨ 核心亮点

  • 🎥 支持 Sora-2-Pro 高清模式:1024×1792 超清画质
  • ⏱️ 最长 15 秒视频:Pro 模式支持 10 秒/15 秒 自定义时长
  • 📱 多端运行:支持 H5、微信小程序、APP 多平台
  • 🎨 黑色炫酷风格:现代化的视觉设计体验
  • 前后端一体:基于 uniCloud 云开发,无需独立服务器
  • 💎 智能积分系统:灵活的消费计费机制

🎯 功能特色

💡 双模式支持

🎯 标准模式 (Sora-2)

  • 分辨率:720×1280
  • 时长:固定 10 秒
  • 积分:20 积分/次
  • 适用:快速创作、测试想法

⭐ Pro 高清模式 (Sora-2-Pro)

  • 分辨率:1024×1792 超清画质 ✨
  • 时长:10 秒 或 15 秒 可选 ⏱️
  • 积分:100 积分/次
  • 适用:专业创作、高质量输出

🎨 丰富的定制选项

  • 📐 视频方向:竖屏 (Portrait) / 横屏 (Landscape)
  • ⏱️ 时长选择:Pro 模式支持 10 秒/15 秒
  • 🖼️ 参考图片:支持上传最多 3 张参考图片
  • 💡 快速模板:内置 6 个精选提示词模板
  • 📝 描述词:最多支持 4000 字符

📊 完整的作品管理

  • 列表展示:卡片式布局,视频缩略图预览
  • 状态筛选:全部/生成中/已完成/失败
  • 批量操作:下拉刷新、上拉加载更多
  • 快速操作:刷新状态、删除任务

🎥 强大的播放功能

  • 在线播放:支持全屏播放、进度控制
  • 视频下载:一键保存到本地
  • 作品分享:分享你的创意视频
  • 详细信息:展示 Prompt、参考图片、生成参数

🛠️ 技术栈

前端技术

  • 框架:uniapp + Vue 2
  • UI 风格:自定义黑色炫酷风格
  • 图标库:FontAwesome 4.7
  • 动效:CSS3 动画

后端技术

  • 云服务:uniCloud(阿里云)
  • 开发框架:vk-unicloud 快速开发框架
  • 数据库:云数据库
  • 云函数:路由模式

核心特性

  • ✅ 前后端一体化开发
  • ✅ 智能轮询机制
  • ✅ 积分系统集成
  • ✅ 实时状态同步
  • ✅ 多端适配

🚀 快速开始

📦 获取完整源码

本项目为商业应用演示版本。如需获取完整开源版本源码,请联系作者:

  • QQ: ***
  • 说明: 开源版本、技术支持、商业授权咨询

环境要求

  • HBuilderX: 3.1.2+
  • Node.js: 12.0+(如需 npm)
  • uniCloud: 阿里云服务空间

1. 获取项目源码

联系作者 QQ: *** 获取完整源码包

2. 配置 API Key

编辑配置文件:

uniCloud-aliyun/cloudfunctions/common/uni-config-center/vk-unicloud/config.js

添加你的 Sora API Key:

module.exports = {
  service: {
    sora: {
      apiKey: "你的TTAPI-Sora-API-Key",
    },
  },
};

3. 初始化云服务空间

  1. 在 HBuilderX 中打开项目
  2. 右键 uniCloud 目录
  3. 选择 运行云服务空间初始化向导
  4. 按照提示完成初始化

4. 上传云函数

右键 uniCloud-aliyun/cloudfunctions/router → 选择 上传部署

5. 创建数据库表

在 uniCloud 控制台创建数据库表:sora-video-tasks

表结构参考:uniCloud-aliyun/database/sora-video-tasks.schema.json

6. 运行项目

# H5 端
HBuilderX → 运行 → 运行到浏览器

# 微信小程序
HBuilderX → 运行 → 运行到小程序模拟器 → 微信开发者工具

# APP
HBuilderX → 运行 → 运行到手机或模拟器

📱 页面说明

1. 首页 - 创作界面 (pages/sora/index.vue)

功能模块:

  • ✅ 顶部导航(Logo + 作品列表 + 退出)
  • ✅ Hero 区域(标题 + 统计数据)
  • ✅ 积分显示卡片
  • ✅ Prompt 输入区(最多 4000 字符)
  • ✅ 参考图片上传(最多 3 张)
  • ✅ 生成设置(模型/方向/时长)
  • ✅ 快速提示词模板(6 个精选)
  • ✅ 生成按钮(动态积分显示)
  • ✅ 最近作品展示

核心交互:

  1. 输入描述词
  2. 选择模型(标准/高清)
  3. 选择视频方向(竖屏/横屏)
  4. Pro 模式可选时长(10 秒/15 秒)
  5. 可选上传参考图片
  6. 点击生成,自动跳转详情页

2. 列表页 - 作品管理 (pages/sora/list.vue)

功能模块:

  • ✅ 顶部导航(返回 + 标题 + 筛选)
  • ✅ 状态筛选标签(全部/生成中/已完成/失败)
  • ✅ 作品列表(卡片式布局)
  • ✅ 视频缩略图展示
  • ✅ 下拉刷新功能
  • ✅ 上拉加载更多
  • ✅ 快速操作按钮

核心交互:

  1. 查看所有作品
  2. 切换状态筛选
  3. 点击作品查看详情
  4. 长按/点击操作按钮
  5. 执行删除/刷新

3. 详情页 - 视频播放 (pages/sora/detail.vue)

功能模块:

  • ✅ 顶部导航(返回 + 标题 + 更多)
  • ✅ 视频播放器(全屏支持)
  • ✅ 生成进度动画
  • ✅ Prompt 展示
  • ✅ 参考图片展示
  • ✅ 基本信息(模型/方向/时长)
  • ✅ 操作按钮(下载/分享/刷新)

核心交互:

  1. 实时轮询生成状态
  2. 生成中显示进度动画
  3. 成功后播放视频
  4. 支持下载和分享
  5. 查看详细信息

🔧 配置说明

积分消耗配置

标准用户:

  • 标准模式 (sora-2):20 积分/次
  • 高清模式 (sora-2-pro):100 积分/次

特殊用户(在代码中配置):

  • 标准模式 (sora-2):20 积分/次
  • 高清模式 (sora-2-pro):200 积分/次(特殊计费)

修改特殊用户列表:

// uniCloud-aliyun/cloudfunctions/router/service/client/sora/pub/generations.js
const SPECIAL_USERS = [
  "用户ID1",
  "用户ID2",
  // ... 添加更多特殊用户ID
];

轮询配置

默认轮询间隔:5 秒
最大轮询时长:3 分钟
失败后重试次数:3 次

修改轮询配置:

// pages/sora/detail.vue
const POLL_INTERVAL = 5000; // 轮询间隔(毫秒)
const MAX_POLL_TIME = 180000; // 最大轮询时间(毫秒)

📊 项目结构

CSora2/
├── pages/                          # 前端页面
│   └── sora/                       # Sora 视频生成模块
│       ├── index.vue               # 首页 - 创作界面
│       ├── list.vue                # 列表页 - 作品管理
│       ├── detail.vue              # 详情页 - 视频播放
│       └── README.md               # 页面说明文档
│
├── uniCloud-aliyun/                # 云服务
│   ├── database/                   # 数据库
│   │   └── sora-video-tasks.schema.json  # 任务表结构
│   │
│   └── cloudfunctions/             # 云函数
│       └── router/                 # 路由云函数
│           └── service/client/sora/  # Sora 业务逻辑
│               ├── pub/            # 公开接口(无需登录)
│               │   ├── generations.js   # 创建视频任务
│               │   ├── fetch.js         # 查询视频结果
│               │   └── receiveHook.js   # 接收回调通知
│               │
│               ├── kh/             # 客户端接口(需登录)
│               │   ├── getTaskList.js    # 获取任务列表
│               │   ├── getTaskDetail.js  # 获取任务详情
│               │   ├── deleteTask.js     # 删除任务
│               │   ├── pollTask.js       # 轮询查询
│               │   └── batchQuery.js     # 批量查询
│               │
│               ├── sys/            # 系统接口(管理员)
│               │   └── getStatistics.js  # 获取统计数据
│               │
│               ├── util/           # 工具函数
│               │   └── helper.js         # 辅助工具
│               │
│               ├── README.md       # 接口文档
│               ├── 快速开始.md      # 快速开始指南
│               └── example.js      # 示例代码
│
├── common/                         # 公共资源
│   ├── css/                        # 公共样式
│   └── function/                   # 公共函数
│
├── static/                         # 静态资源
│   ├── logo.png                    # Logo
│   └── icon/                       # 图标
│
├── package.json                    # 项目配置
├── pages.json                      # 页面配置
├── manifest.json                   # 应用配置
├── README.md                       # 项目文档(本文件)
├── AI视频生成应用设计文档.md        # 设计文档
├── 快速启动指南.md                  # 启动指南
└── 项目完成清单.md                  # 完成清单

🎨 设计规范

色彩方案

主色调:

  • Primary: #8b5cf6 (紫色)
  • Secondary: #ec4899 (粉红色)
  • Background: #0a0a0a#1a1a2e (渐变)

渐变配色:

/* 主渐变 */
linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%)

/* 背景渐变 */
linear-gradient(180deg, #0a0a0a 0%, #1a1a2e 100%)

状态色:

  • 生成中: #fbbf24 (黄色)
  • 成功: #22c55e (绿色)
  • 失败: #ef4444 (红色)

字体规范

/* 主标题 */
font-size: 60rpx;
font-weight: bold;

/* 副标题 */
font-size: 36rpx;

/* 正文 */
font-size: 28rpx;

/* 说明文字 */
font-size: 24rpx;

📚 文档

完整文档列表

  1. README.md - 项目说明(本文件)
  2. AI 视频生成应用设计文档.md - 完整设计文档
  3. 快速启动指南.md - 快速启动指南
  4. 项目完成清单.md - 项目完成清单
  5. pages/sora/README.md - 页面使用文档
  6. uniCloud-aliyun/cloudfunctions/router/service/client/sora/README.md - 接口文档

在线文档


🔌 API 接口

公开接口(pub/)

1. 创建视频任务

vk.callFunction({
  url: "client/sora/pub/generations",
  data: {
    model: "sora-2-pro", // 模型:sora-2 或 sora-2-pro
    prompt: "描述词", // 描述词(最多4000字符)
    orientation: "portrait", // 方向:portrait 或 landscape
    duration: 15, // 时长:10 或 15(仅 pro 支持)
    referImages: [], // 参考图片数组(可选)
  },
});

2. 查询视频结果

vk.callFunction({
  url: "client/sora/pub/fetch",
  data: {
    jobId: "任务ID",
  },
});

客户端接口(kh/)

1. 获取任务列表

vk.callFunction({
  url: "client/sora/kh/getTaskList",
  data: {
    pageIndex: 1,
    pageSize: 10,
    status: "SUCCESS", // 可选:ON_QUEUE, SUCCESS, FAILED
  },
});

2. 轮询查询(推荐)

vk.callFunction({
  url: "client/sora/kh/pollTask",
  data: {
    jobId: "任务ID",
  },
});

3. 删除任务

vk.callFunction({
  url: "client/sora/kh/deleteTask",
  data: {
    jobId: "任务ID",
  },
});

❓ 常见问题

1. 如何获取 Sora API Key?

请访问 TTAPI 官网申请 Sora API Key。

2. 支持哪些平台?

支持 H5、微信小程序、APP(iOS/Android)等多平台。

3. 如何修改积分消耗?

修改文件:

  • 前端:pages/sora/index.vueintegralCost 计算属性
  • 后端:uniCloud-aliyun/cloudfunctions/router/service/client/sora/pub/generations.jsINTEGRAL_COST 常量

4. 视频生成需要多久?

通常 30-120 秒,具体时间取决于服务器负载。

5. 为什么生成失败?

可能原因:

  • 积分不足
  • 描述词包含敏感内容
  • 参考图片不符合要求(人脸、Logo 等)
  • API 服务异常

6. 如何添加特殊用户?

编辑文件:

// uniCloud-aliyun/cloudfunctions/router/service/client/sora/pub/generations.js
const SPECIAL_USERS = ["用户ID1", "用户ID2"];

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

开发规范

  • 遵循 DRY 原则(Don't Repeat Yourself)
  • 遵循 KISS 原则(Keep It Simple, Stupid)
  • 遵循 SOLID 原则(单一职责)
  • 遵循 YAGNI 原则(You Aren't Gonna Need It)

提交规范

feat: 添加新功能
fix: 修复 Bug
style: 优化样式
docs: 更新文档
refactor: 代码重构
test: 添加测试
chore: 构建/工具变动

📄 开源协议

本项目基于 MIT License 开源协议。


🙏 致谢


📞 联系方式

  • 在线演示https://csora.hefeiruanyun.com/#/pages/sora/index
  • 插件市场:uniapp 插件市场(搜索 CSora2)
  • 作者:ChenChen
  • 作者 QQ:***
  • 服务内容
    • 💾 获取完整开源版本源码
    • 🛠️ 技术支持与咨询
    • 📝 商业授权与定制开发
    • 📚 部署指导与培训

📈 更新日志

v1.0.0 (2025-10-14)

初始版本发布 🎉

  • ✅ 支持 Sora-2 和 Sora-2-Pro 双模式
  • ✅ 支持 15 秒高清视频生成
  • ✅ 支持横竖屏切换
  • ✅ 支持参考图片上传
  • ✅ 完整的作品管理功能
  • ✅ 实时状态轮询机制
  • ✅ 积分系统集成
  • ✅ 黑色炫酷风格设计
  • ✅ 多端适配(H5/小程序/APP)
  • ✅ 完整的文档和示例

**🎬 让 AI 视频创作更专业、更高清、更炫酷!** Made with ❤️ by ChenChen --- ### 🚀 立即体验 **[在线演示 →](https://csora.hefeiruanyun.com/#/pages/sora/index)** --- ### 📦 获取开源版本 **如需完整源码,请联系作者** [![QQ](https://img.shields.io/badge/QQ-2272723604-red?style=for-the-badge&logo=tencentqq)](http://wpa.qq.com/msgrd?v=3&uin=***&site=qq&menu=yes) 💬 ******* 提供服务: - ✅ 完整开源版本源码 - ✅ 技术支持与咨询 - ✅ 商业授权与定制开发 - ✅ 部署指导与培训 --- **📦 获取方式** 扫码或搜索 *** 添加作者好友 ![QQ群二维码](https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=http://wpa.qq.com/msgrd?v=3&uin=***&site=qq&menu=yes)

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率: