项目简介

Flyworks MCP 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在通过标准化的方式向 LLM 客户端(如 Claude Desktop, Cursor 等)提供数字人生成和唇形同步视频制作的能力。它封装了 Flyworks AI 的 API,将视频生成功能注册为 MCP 工具,使得 LLM 可以方便地调用这些功能来创建高质量的数字人内容。

主要功能点

  • 创建唇形同步视频(通过音频): 根据提供的数字人(或从视频/图片创建)和音频文件/URL,生成与音频内容同步的数字人说话视频。
  • 创建唇形同步视频(通过文本): 根据提供的数字人(或从视频/图片创建)和文本内容,自动进行文本转语音并生成数字人说话视频。
  • 数字人创建: 支持通过上传图片或视频文件来创建个性化的数字人形象,以便后续用于视频生成。
  • 同步/异步模式: 支持任务的同步等待完成并下载结果,或异步返回任务 ID 供后续查询。

安装步骤

  1. 克隆仓库: 将项目的代码库克隆到本地目录。
    git clone https://github.com/Flyworks-AI/flyworks-mcp.git
    cd flyworks-mcp
  2. 安装依赖: 使用 pip 或 uv 安装项目所需的依赖库,其中包括 MCP Python SDK。
    pip install httpx "mcp[cli]>=1.6.0"
    # 或者使用 uv
    # uv pip install httpx "mcp[cli]>=1.6.0"
    为了避免服务器启动时的超时问题,建议预先安装一些常见依赖:
    pip install pygments pydantic-core httpx "mcp[cli]>=1.6.0"

服务器配置

MCP 服务器通常由 MCP 客户端(如 Claude Desktop, Cursor)启动和管理。您需要在客户端的配置中添加 Flyworks MCP 服务器的信息。配置通常是 JSON 格式,指定如何启动服务器进程及其参数。

以下是配置示例及其说明:

  • 服务器名称 (server name): 例如 '"flyworks"',这是客户端内部用来标识该服务器的名称。
  • 启动命令 (command): 客户端用来启动服务器进程的命令。推荐使用 'uvx' 或 Python 解释器的绝对路径。
    • 如果使用了 'uvx',命令通常是 '"uvx"'。如果您遇到 'ENOENT' 错误,请找到 'uvx' 的绝对路径(如 '/usr/local/bin/uvx')并替换此值。
    • 或者直接使用 Python 解释器的路径和 'main.py' 路径:'"python"' 和 '"/path/to/your/flyworks-mcp/src/flyworks_mcp/main.py"' 作为参数。
  • 启动参数 (args): 传递给启动命令的参数。如果使用 'uvx flyworks-mcp' 方式启动,通常参数是 '["flyworks-mcp", "-y"]'。如果使用 Python 解释器直接启动,参数是 '["-m", "flyworks_mcp"]'。
  • 环境变量 (env): 启动服务器进程时需要设置的环境变量。
    • 'FLYWORKS_API_TOKEN': 必需,您的 Flyworks API 访问令牌。请替换 '"your_api_token_here"' 为您的实际令牌。项目提供了一个有限额度的免费试用令牌 '2aeda3bcefac46a3',您也可以先使用此令牌进行测试。
    • 'FLYWORKS_API_BASE_URL': (可选) Flyworks API 的基础 URL,默认是 'https://hfw-api.hifly.cc/api/v2/hifly'。
    • 'FLYWORKS_OUTPUT_BASE_PATH': (可选) 服务器保存本地生成文件的基础目录,默认是 './output'。

请根据您的 MCP 客户端的要求,将上述信息配置到对应的服务器列表中。例如在 Claude Desktop 的 'claude_desktop_config.json' 文件中:

{
  "mcpServers": {
    "flyworks": {
      "command": "uvx",
      "args": [
        "flyworks-mcp",
        "-y"
      ],
      "env": {
        "FLYWORKS_API_TOKEN": "your_api_token_here",
        "FLYWORKS_API_BASE_URL": "https://hfw-api.hifly.cc/api/v2/hifly",
        "FLYWORKS_OUTPUT_BASE_PATH": "/path/to/your/output/directory"
      }
    }
  }
}

请务必将 '"your_api_token_here"' 替换为您的实际 API 令牌,并更新 'FLYWORKS_OUTPUT_BASE_PATH' 为您希望服务器保存输出文件的本地目录的绝对路径。

基本使用方法

配置完成后,您的 MCP 客户端在需要调用 Flyworks 功能时,会通过配置启动并连接到 Flyworks MCP 服务器。您可以在客户端中通过与 LLM 对话的方式,指示其使用服务器暴露的工具。

例如,您可以请求 LLM:

  • “使用 Flyworks 工具通过文本 '你好,这是一个数字人演示' 为我的某个数字人(ID 为 XXX)生成一个唇形同步视频。”
  • “使用 Flyworks 工具通过音频文件(路径为 /path/to/audio.mp3)为一个新创建的数字人(基于图片 /path/to/avatar.png)生成视频。”

LLM 会识别您的意图,并调用 Flyworks MCP 服务器提供的相应工具(如 'create_lipsync_video_by_text' 或 'create_lipsync_video_by_audio'),并根据工具的参数要求传递信息。服务器会处理请求,调用 Flyworks API,并返回结果给 LLM 客户端。如果选择同步模式,视频文件将下载到您配置的输出目录。

信息

分类

AI与计算