You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.2 KiB
3.2 KiB
SadTalker 文档
目录
基础信息
- 应用名称: Video Processing Service
- 基础URL:
http://<your-server-ip>:8000
接口列表
1. 生成动态视频(并移除音频)
-
端点:
/dynamic-video
-
方法:
POST
-
描述: 上传图片生成动态视频,并移除视频中的音频。
-
请求参数:
- 文件:
- 名称:
image
- 类型:
file
- 描述: 要处理的图像文件,格式应为PNG或JPEG。
- 名称:
- 文件:
-
响应:
- 成功: 返回生成的无声视频文件。
- 类型:
video/mp4
- 类型:
- 失败:
- JSON:
{"error": "No subdirectory found in result directory"}
(如果结果目录中没有找到子目录) - JSON:
{"error": "Video file not found"}
(如果生成的视频文件不存在)
- JSON:
- 成功: 返回生成的无声视频文件。
-
示例:
curl -X POST "http://<your-server-ip>:8000/dynamic-video" \ -H "accept: application/json" \ -H "Content-Type: multipart/form-data" \ -F "image=@path/to/your/image.png"
2. 生成静音视频(并裁剪视频)
-
端点:
/silent-video
-
方法:
POST
-
描述: 上传图片生成静音视频,并裁剪视频时长。
-
请求参数:
- 文件:
- 名称:
image
- 类型:
file
- 描述: 要处理的图像文件,格式应为PNG或JPEG。
- 名称:
- 文件:
-
响应:
- 成功: 返回生成的裁剪视频文件。
- 类型:
video/mp4
- 类型:
- 失败:
- JSON:
{"error": "No subdirectory found in result directory"}
(如果结果目录中没有找到子目录) - JSON:
{"error": "Video file not found"}
(如果生成的视频文件不存在)
- JSON:
- 成功: 返回生成的裁剪视频文件。
-
示例:
curl -X POST "http://<your-server-ip>:8000/silent-video" \ -H "accept: application/json" \ -H "Content-Type: multipart/form-data" \ -F "image=@path/to/your/image.png"
错误响应
所有端点均可能返回以下错误响应:
-
HTTP 400: 请求格式错误
- JSON:
{"detail": "Invalid request"}
- JSON:
-
HTTP 500: 服务器内部错误
- JSON:
{"detail": "Internal server error"}
- JSON:
文件命名约定
-
上传的图片文件将根据上传接口存储到以下路径:
- 动态视频:
dynamic/dynamic_image.png
- 静音视频:
silent/silent_image.png
- 动态视频:
-
生成的视频文件将存储在
results
目录中的子目录下,文件名示例:- 动态视频:
dynamic_image##dynamic_audio_enhanced.mp4
- 静音视频:
silent_image##silent_audio_enhanced.mp4
- 无声视频:
dynamic_image##dynamic_audio_enhanced_dynamic.mp4
- 裁剪视频:
silent_image##silent_audio_enhanced_trimmed.mp4
- 动态视频:
运行服务
- 启动服务:
uvicorn main:app --host 0.0.0.0 --port 8000
请确保在实际部署时替换 <your-server-ip>
为你的服务器 IP 地址,并根据需要调整端口号。