Files
1818web-hoduan/docs/sora2pro-integration-summary.md
2025-11-14 17:41:15 +08:00

148 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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());
// 使用不同的接口
String requestUrl = isSora2Pro ? apiUrl + "/api/sora2pro/submit" : apiUrl + "/api/sora2/submit";
// 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"
}
```
## 注意事项
1. **接口差异**: sora2pro 使用 `/api/sora2pro/submit`,而 sora2 使用 `/api/sora2/submit`
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