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.
SadTalker/SadTalker_API.md

101 lines
3.2 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# SadTalker 文档
## 目录
1. [基础信息](#基础信息)
2. [接口列表](#接口列表)
- [生成动态视频(并移除音频)](#1-生成动态视频并移除音频)
- [生成静音视频(并裁剪视频)](#2-生成静音视频并裁剪视频)
3. [错误响应](#错误响应)
4. [文件命名约定](#文件命名约定)
5. [运行服务](#运行服务)
## 基础信息
- **应用名称**: 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"}` (如果生成的视频文件不存在)
- **示例**:
```sh
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"}` (如果生成的视频文件不存在)
- **示例**:
```sh
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"}`
- **HTTP 500**: 服务器内部错误
- **JSON**: `{"detail": "Internal server error"}`
## 文件命名约定
- 上传的图片文件将根据上传接口存储到以下路径:
- 动态视频:`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`
## 运行服务
- 启动服务:
```sh
uvicorn main:app --host 0.0.0.0 --port 8000
```
请确保在实际部署时替换 `<your-server-ip>` 为你的服务器 IP 地址,并根据需要调整端口号。