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

3.2 KiB

SadTalker 文档

目录

  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"} (如果生成的视频文件不存在)
  • 示例:

    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"} (如果生成的视频文件不存在)
  • 示例:

    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

运行服务

  • 启动服务:
    uvicorn main:app --host 0.0.0.0 --port 8000
    

请确保在实际部署时替换 <your-server-ip> 为你的服务器 IP 地址,并根据需要调整端口号。