Wan2.1/T2V-FastAPI文档.md
Knoka c6c5675a06
Add FastAPI
Added the service deployment code of FastAPI, including key authentication, task submission, task details viewing, and task canceling
2025-04-09 15:52:55 +08:00

3.5 KiB
Raw Blame History

视频生成服务API文档

一、功能概述

本服务基于Wan2.1-T2V-1.3B模型实现文本到视频生成,包含以下核心功能:

  1. 异步任务队列支持多任务排队和并发控制最大2个并行任务
  2. 资源管理
    • 显存优化使用bfloat16精度
    • 生成视频自动清理默认1小时后删除
  3. 安全认证基于API Key的Bearer Token验证
  4. 任务控制:支持任务提交/状态查询/取消操作

技术栈:

  • FastAPI框架
  • CUDA加速
  • 异步任务处理
  • Diffusers推理库

二、接口说明

1. 提交生成任务

POST /video/submit

{
  "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
}

响应示例

{
  "requestId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}

2. 查询任务状态

POST /video/status

{
  "requestId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}

响应示例

{
  "status": "Succeed",
  "results": {
    "videos": [{"url": "http://localhost:8088/videos/abcd1234.mp4"}],
    "timings": {"inference": 120}
  }
}

3. 取消任务

POST /video/cancel

{
  "requestId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}

响应示例

{
  "status": "Succeed"
}

三、Postman使用指南

1. 基础配置

  • 服务器地址:http://ip地址:8088
  • 认证方式Bearer Token
  • Token值需替换为有效API Key

2. 提交任务

  1. 选择POST方法输入URL/video/submit
  2. Headers添加
    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文档界面