2025-11-14 17:41:15 +08:00
|
|
|
|
# Sora2Pro 模型接入实施总结
|
|
|
|
|
|
|
|
|
|
|
|
## 概述
|
|
|
|
|
|
成功接入速创API的 Sora2Pro 视频生成模型,支持文生视频和图生视频功能。
|
|
|
|
|
|
|
|
|
|
|
|
## API 接口信息
|
|
|
|
|
|
- **提交接口**: `https://api.wuyinkeji.com/api/sora2pro/submit`
|
|
|
|
|
|
- **查询接口**: `https://api.wuyinkeji.com/api/sora2/detail` (与 sora2 共用)
|
|
|
|
|
|
- **请求方式**: POST (表单提交)
|
|
|
|
|
|
- **认证方式**: Authorization Header
|
|
|
|
|
|
|
|
|
|
|
|
## API 参数说明
|
|
|
|
|
|
|
|
|
|
|
|
### 提交参数
|
|
|
|
|
|
| 参数名 | 必填 | 类型 | 说明 | 示例值 |
|
|
|
|
|
|
|--------|------|------|------|--------|
|
|
|
|
|
|
| prompt | 是 | string | 生成视频的提示词,须避免出现黄、暴、政、以及其他著名IP相关内容 | 小猫钓鱼 |
|
|
|
|
|
|
| url | 否 | string | 参考图片URL(外网访问并下载的图片链接,图片须避免出现真人形象) | https://xx.com/demo.jpg |
|
|
|
|
|
|
| aspectRatio | 否 | string | 输出视频比例,支持:9:16(竖屏)、16:9(横屏),默认 9:16 | 9:16 |
|
|
|
|
|
|
| duration | 否 | string | 视频时长(秒),支持:15、25,默认 25 | 25 |
|
|
|
|
|
|
|
|
|
|
|
|
### 注意事项
|
|
|
|
|
|
- **25秒视频**:只能生成标清视频
|
|
|
|
|
|
- **15秒视频**:支持高清和标清选项(通过模型配置区分)
|
|
|
|
|
|
- **sora2pro 接口**:不需要 `size` 参数(与 sora2 接口不同)
|
|
|
|
|
|
|
|
|
|
|
|
## 定价信息
|
|
|
|
|
|
- **统一价格**: 400积分/次
|
|
|
|
|
|
- 所有 sora2pro 模型(文生视频/图生视频,15秒/25秒,竖屏/横屏)均为 400积分
|
|
|
|
|
|
|
|
|
|
|
|
## 数据库配置
|
|
|
|
|
|
|
|
|
|
|
|
### 模型列表
|
|
|
|
|
|
共添加 12 个模型配置到 `points_config` 表:
|
|
|
|
|
|
|
|
|
|
|
|
#### 文生视频模型(6个)
|
|
|
|
|
|
1. `sc_sora2pro_text_portrait_15s_small` - 速创Sora2Pro 文生视频-竖屏-15秒-标清
|
|
|
|
|
|
2. `sc_sora2pro_text_portrait_15s_large` - 速创Sora2Pro 文生视频-竖屏-15秒-高清
|
|
|
|
|
|
3. `sc_sora2pro_text_portrait_25s_small` - 速创Sora2Pro 文生视频-竖屏-25秒-标清
|
|
|
|
|
|
4. `sc_sora2pro_text_landscape_15s_small` - 速创Sora2Pro 文生视频-横屏-15秒-标清
|
|
|
|
|
|
5. `sc_sora2pro_text_landscape_15s_large` - 速创Sora2Pro 文生视频-横屏-15秒-高清
|
|
|
|
|
|
6. `sc_sora2pro_text_landscape_25s_small` - 速创Sora2Pro 文生视频-横屏-25秒-标清
|
|
|
|
|
|
|
|
|
|
|
|
#### 图生视频模型(6个)
|
|
|
|
|
|
1. `sc_sora2pro_img_portrait_15s_small` - 速创Sora2Pro 图生视频-竖屏-15秒-标清
|
|
|
|
|
|
2. `sc_sora2pro_img_portrait_15s_large` - 速创Sora2Pro 图生视频-竖屏-15秒-高清
|
|
|
|
|
|
3. `sc_sora2pro_img_portrait_25s_small` - 速创Sora2Pro 图生视频-竖屏-25秒-标清
|
|
|
|
|
|
4. `sc_sora2pro_img_landscape_15s_small` - 速创Sora2Pro 图生视频-横屏-15秒-标清
|
|
|
|
|
|
5. `sc_sora2pro_img_landscape_15s_large` - 速创Sora2Pro 图生视频-横屏-15秒-高清
|
|
|
|
|
|
6. `sc_sora2pro_img_landscape_25s_small` - 速创Sora2Pro 图生视频-横屏-25秒-标清
|
|
|
|
|
|
|
|
|
|
|
|
### SQL 脚本
|
|
|
|
|
|
执行 `V11__add_sora2pro_models.sql` 脚本即可添加所有模型配置。
|
|
|
|
|
|
|
|
|
|
|
|
## 代码修改
|
|
|
|
|
|
|
|
|
|
|
|
### 修改文件
|
|
|
|
|
|
- `src/main/java/com/dora/service/provider/impl/SuChuangProviderImpl.java`
|
|
|
|
|
|
|
|
|
|
|
|
### 主要改动
|
|
|
|
|
|
1. **新增方法**: `isSora2ProModel(String modelName)` - 判断是否为 sora2pro 模型
|
|
|
|
|
|
2. **修改提交逻辑**:
|
|
|
|
|
|
- 自动识别 sora2pro 模型并使用 `/api/sora2pro/submit` 接口
|
|
|
|
|
|
- sora2pro 接口不发送 `size` 参数
|
|
|
|
|
|
3. **日志增强**: 添加模型类型日志输出
|
|
|
|
|
|
|
|
|
|
|
|
### 关键代码片段
|
|
|
|
|
|
```java
|
|
|
|
|
|
// 判断是否为 sora2pro 模型
|
|
|
|
|
|
boolean isSora2Pro = isSora2ProModel(request.getModelName());
|
|
|
|
|
|
|
|
|
|
|
|
// 使用不同的接口
|
2026-02-13 18:18:20 +08:00
|
|
|
|
String requestUrl = isSora2Pro ? apiUrl + "/api/sora2pro/submit" : apiUrl + "/api/sora2-new/submit";
|
2025-11-14 17:41:15 +08:00
|
|
|
|
|
|
|
|
|
|
// sora2pro 不需要 size 参数
|
|
|
|
|
|
if (!isSora2Pro) {
|
|
|
|
|
|
formData.add("size", size);
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 部署步骤
|
|
|
|
|
|
|
|
|
|
|
|
1. **执行数据库脚本**
|
|
|
|
|
|
```sql
|
|
|
|
|
|
-- 执行 V11__add_sora2pro_models.sql
|
|
|
|
|
|
source V11__add_sora2pro_models.sql;
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
2. **部署代码**
|
|
|
|
|
|
- 部署更新后的 `SuChuangProviderImpl.java`
|
|
|
|
|
|
- 重启应用服务
|
|
|
|
|
|
|
|
|
|
|
|
3. **验证配置**
|
|
|
|
|
|
```sql
|
|
|
|
|
|
-- 验证模型是否添加成功
|
|
|
|
|
|
SELECT model_name, description, points_cost, task_type, is_enabled
|
|
|
|
|
|
FROM points_config
|
|
|
|
|
|
WHERE model_name LIKE 'sc_sora2pro%'
|
|
|
|
|
|
ORDER BY task_type, model_name;
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 使用示例
|
|
|
|
|
|
|
|
|
|
|
|
### 文生视频(15秒竖屏标清)
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"modelName": "sc_sora2pro_text_portrait_15s_small",
|
|
|
|
|
|
"prompt": "小猫钓鱼"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 文生视频(25秒横屏标清)
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"modelName": "sc_sora2pro_text_landscape_25s_small",
|
|
|
|
|
|
"prompt": "美丽的风景"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 图生视频(15秒竖屏高清)
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"modelName": "sc_sora2pro_img_portrait_15s_large",
|
|
|
|
|
|
"prompt": "根据图片生成视频",
|
|
|
|
|
|
"imageUrl": "https://example.com/image.jpg"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 注意事项
|
|
|
|
|
|
|
2026-02-13 18:18:20 +08:00
|
|
|
|
1. **接口差异**: sora2pro 使用 `/api/sora2pro/submit`,而 sora2 使用 `/api/sora2-new/submit`
|
2025-11-14 17:41:15 +08:00
|
|
|
|
2. **参数差异**: sora2pro 不需要 `size` 参数
|
|
|
|
|
|
3. **时长限制**: 25秒只能生成标清,15秒支持高清和标清
|
|
|
|
|
|
4. **查询接口**: sora2pro 和 sora2 共用 `/api/sora2/detail` 查询接口
|
|
|
|
|
|
5. **定价统一**: 所有 sora2pro 模型均为 400积分
|
|
|
|
|
|
|
|
|
|
|
|
## 测试建议
|
|
|
|
|
|
|
|
|
|
|
|
1. 测试文生视频(15秒和25秒)
|
|
|
|
|
|
2. 测试图生视频(15秒和25秒)
|
|
|
|
|
|
3. 测试不同宽高比(9:16 和 16:9)
|
|
|
|
|
|
4. 验证积分扣费是否正确(400积分)
|
|
|
|
|
|
5. 验证任务状态查询和结果获取
|
|
|
|
|
|
|
|
|
|
|
|
## 完成时间
|
|
|
|
|
|
2025-01-XX
|
|
|
|
|
|
|