Wan2.1/T2V-FastAPI文档.md

133 lines
3.3 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.

# 视频生成服务API文档
## 一、功能概述
本服务基于Wan2.1-T2V-1.3B模型实现文本到视频生成,包含以下核心功能:
1. **异步任务队列**支持多任务排队和并发控制最大2个并行任务
2. **资源管理**
- 显存优化使用bfloat16精度
- 生成视频自动清理默认1小时后删除
3. **安全认证**基于API Key的Bearer Token验证
4. **任务控制**:支持任务提交/状态查询/取消操作
技术栈:
- FastAPI框架
- CUDA加速
- 异步任务处理
- Diffusers推理库
---
## 二、接口说明
### 1. 提交生成任务
**POST /video/submit**
```json
{
"model": "Wan2.1-T2V-1.3B",
"prompt": "A beautiful sunset over the mountains",
"image_size": "480x832",
"num_frames": 81,
"guidance_scale": 5.0,
"infer_steps": 50
}
```
**响应示例**
```json
{
"requestId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
```
### 2. 查询任务状态
**POST /video/status**
```json
{
"requestId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
```
**响应示例**
```json
{
"status": "Succeed",
"results": {
"videos": [{"url": "http://localhost:8088/videos/abcd1234.mp4"}],
"timings": {"inference": 120}
}
}
```
### 3. 取消任务
**POST /video/cancel**
```json
{
"requestId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
```
**响应示例**
```json
{
"status": "Succeed"
}
```
---
## 三、Postman使用指南
### 1. 基础配置
- 服务器地址:`http://ip地址:8088`
- 认证方式Bearer Token
- Token值需替换为有效API Key
### 2. 提交任务
1. 选择POST方法输入URL`/video/submit`
2. Headers添加
```text
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
```
3. Body选择raw/JSON格式输入请求参数
### 3. 查询状态
1. 新建请求URL填写`/video/status`
2. 使用相同认证头
3. Body中携带requestId
### 4. 取消任务
1. 新建DELETE请求URL填写`/video/cancel`
2. Body携带需要取消的requestId
### 注意事项
1. 所有接口必须携带有效API Key
2. 视频生成耗时约2-5分钟根据参数配置
3. 生成视频默认保留1小时
---
## 四、参数规范
| 参数名 | 允许值范围 | 必填 | 说明 |
|------------------|-------------------------------|------|--------------------------|
| prompt | 10-500字符 | 是 | 视频内容描述 |
| image_size | "480x832" 或 "832x480" | 是 | 分辨率 |
| num_frames | 24-120 | 是 | 视频总帧数 |
| guidance_scale | 1.0-20.0 | 是 | 文本引导强度 |
| infer_steps | 20-100 | 是 | 推理步数 |
| seed | 0-2147483647 | 否 | 随机种子 |
---
## 五、状态码说明
| 状态码 | 含义 |
|--------|--------------------------|
| 202 | 任务已接受 |
| 401 | 认证失败 |
| 404 | 任务不存在 |
| 422 | 参数校验失败 |
| 500 | 服务端错误(显存不足等) |
**提示**建议使用Swagger文档进行接口测试访问`http://服务器地址:8088/docs`可查看自动生成的API文档界面