数字人视频生成服务

百度智能云曦灵数字人开放平台提供的MCP服务器,支持数字人视频生成、语音合成、音色克隆等功能,适用于AI助手、内容创作等场景。

  • by baidu-xiling
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 baidu-xiling/mcp

使用说明

百度数字人MCP服务器

中文 |英语

概述
百度智能云西岭数字人开放平台现已完全适应MCP协议。欢迎创作者加入体验。西岭数字人提供的MCP服务器包含13个符合MCP协议标准的API接口,包括基本视频生成、高级视频生成、音色克隆等。依靠MCP Python SDK开发,可以快速访问任何支持MCP协议的代理助手(如Claude、Cursor、Cline和Qianfan AppBuilder)。

工具

我们提供各种工具来满足不同场景的需求。它允许您在大型模型中快速集成数字人工服务,并轻松构建数字人工应用程序。 如果您对数字人有更多期望,并希望更深入地整合数字人服务,请访问 百度智能云西岭数字人开放平台 联系我们。MCP还将逐步开放更多功能,敬请关注。

功能 功能描述 包含工具
2D少镜头数字人 根据上传的真人录制的视频生成数字肖像,只能用于基本的视频制作,数字人使用通用的唇形驱动器。 •generateLite2d通用视频
•getLite2dGeneralStatus
数字人体视频合成 根据所选的数字肖像和音色生成数字人体视频 •generateDhVideo
•getDhVideoStatus
123数字人视频 提供10秒至4分钟的说出“123”的直播流视频,可以直接制作相应的数字人视频,而无需生成肖像 •generateDh123Video
•获取Dh123视频状态
语音合成 根据提供的文本内容和选择的音色,不需要视频来生成相应的音频 •generateText2Audioo
•获取Text2AudioStatus
文件上传 根据服务类型上传所需文件。 •上传文件
语音查询 查询可用的系统语音人才。 •获取声音
图形查询 查询可用图形 •getFigures
语音克隆 根据上传的音频生成音色,可用于语音合成和视频制作。 •生成VoiceClone
•获取语音克隆状态

1.2D少镜头数字人

  • 功能描述:根据上传的真人录制的视频生成数字肖像,只能用于基本的视频制作,数字人使用通用的唇形驱动器。 (背景透明的网络视频)
  • 示例提示词:

使用fileid为xxx的视频文件生成一个名为“zhangsan”的数字人,这是一个男孩的图像。

检查一下ID为xxx的数字人,好吗?

我可以使用哪些肖像。

  • 工具详细信息:
工具名称 工具说明 输入参数 输出内容
generateLite2dGeneralVideo 根据上传的真人录制的视频生成数字肖像,只能用于基本的视频制作,数字人使用通用的唇形驱动器。 •name:生成的数字肖像的名称,长度不超过50
•性别:数字人的性别
•keepBackground:是否保留视频背景,保留true,删除false,默认值为false
•templateVideoId:用于生成数字肖像的视频的文件ID
•figureId:基于真人录制的上传视频生成的数字肖像ID
getLite2dGeneralStatus •查询数字肖像生成进度
•它还可以用于查询哪些系统2D肖像可用。
•figureId:指定肖像ID查询,如果为空,则查询帐户下的所有肖像
•systemFigure:查询平台的公众头像,空:查询全部,true:返回平台的公众画像,false:返回自定义画像
•trainSuccess:是否查询训练是否完成以及可用肖像的状态(空:无过滤,true:仅返回可用肖像(平台的公共肖像和训练成功状态的自定义肖像),false:仅返回队列中、训练期间或训练失败的自定义肖像
•pageNo:页码,默认为1
•pageSize:每页大小,默认为10
•figureId:根据真人上传的视频生成的数字肖像ID
•name:生成的数字肖像的名称,长度不超过50
•性别:数字人的性别
•keepBackground:是否保留视频背景,保留true,删除false,默认值为false
•状态:状态(LINE_UP(排队)、正在生成、成功、失败)
•failedCode:失败错误代码<br%3E•failed消息:产品制造失败的原因

2.数字人体视频合成

  • 功能描述:根据所选的数字肖像和音色生成数字人体视频
  • 示例提示词:

使用数字肖像ID xxx的语音和语音人ID作为yyy,视频的内容是“大家好,我是数字人广播的内容”,使用水平屏幕的整个机身的相机位置,使用视频背景https://digital-human-material.bj.bcebos.com/-%5BLjava.lang.String%3B%4046f6cc1e.png“,打开自动添加动作,打开字幕,生成1080P数字人体视频。

检查任务ID为xxx的数字人体视频。

  • 工具详细信息:
工具名称 工具说明 输入参数 输出内容
generateDhVideo 根据所选的数字肖像和音色生成数字人体视频。 •figureId:数字肖像ID
•driveType:驱动数字人的数据类型,支持文本驱动或音频驱动
•文本:如果驱动程序类型为文本驱动,则所需的视频内容不应超过20000
•人员:当驾驶员类型为文本驱动时,所需的语音人才ID
•inputAudioUrl:当驱动程序类型为音频驱动程序时,所需的音频链接URL
•width:输出视频分辨率的宽度
•高:高
输出视频分辨率•cameraId:系统肖像的相机设置,0:水平半身,1:垂直半身,2:水平全身,3:垂直全身
•enabled:是否启用字幕,true启用字幕,默认false不启用。
•backgroundImageUrl:背景图像的URL
•autoAnimoji:自动添加系统肖像,自动添加true,默认值为false
•taskId:当前视频合成任务的ID
getDhVideoStatus 查询数字人体视频合成进度。 •taskId:当前视频合成任务的ID •taskId:当前视频的任务ID成分
•状态:提交(提交合成)、生成(合成)、成功(合成成功)、失败(合成失败)
•failedCode:错误代码
•failedMessage:生产失败的原因
•videoUrl:与任务ID对应的成功合成视频文件的地址,将保存7天

3.123数字人体视频合成

  • 功能描述:提供10秒至4分钟的“123”实时流媒体视频,可以直接制作相应的数字人体视频,无需生成肖像
  • 示例提示词:

使用fileid为xxx的视频文件和语音天赋ID为yyy的语音,视频内容为“大家好,我是数字人广播的内容”,并生成数字人视频。

视频的地址是https://open-api-test.bj.bcebos.com/ae870923-2a3b-4d5e-b6a2-e44b4025647220250417_163529_trim.mp4,语音为yyy,视频内容为“大家好,我是数字人播报的内容”,生成数字人视频。

检查任务ID为xxx的123数字人体视频。

您可以查看 指南 在网站上

  • 工具详细信息:
工具名称 工具说明 输入参数 输出内容
generateDh123Video 根据真人录制的视频和选择的音色,可以直接生成数字人体视频,而无需生成肖像。 •templateVideoId:用于生成数字人体视频的视频对应的文件ID
•driveType:驱动数字人的数据类型,支持文本驱动或音频驱动
•文本:如果驱动程序类型为文本驱动,则必须填写所需的视频内容长度,长度不能超过20000
•人员:如果驾驶员类型是文本驱动的,则需要语音人才ID
•inputAudioUrl:如果驱动程序类型为音频驱动程序,则需要音频链接URL
•taskId:当前视频合成任务的ID
getDh123VideoStatus 查询123个数字人的视频合成进度。 •taskId:当前视频合成任务的ID •taskId:当前视频合成的任务ID
•状态:状态:提交(提交合成)、评级(合成)、成功(合成成功)、失败
•failedCode:错误代码
•failedMessage:生产失败的原因
•videoUrl:与任务ID对应的成功合成视频文件的地址,将保存7天

4.语音合成

  • 功能描述:根据提供的文本内容和选择的音色,不需要生成视频,可以生成相应的音频。
  • 示例提示词:

音频是用语音人的ID xxx生成的,内容是“大家好,我是数字人广播的内容”。

检查带有taskid xxx的语音合成是否良好。

  • 工具详细信息:
工具名称 工具说明 输入参数 输出内容
generateText2Audio 根不需要根据提供的文本内容和选择的音色生成视频,并产生相应的音频。 •text:所需的文本内容,长度不超过2000
•person:所需的语音天赋ID
•taskId:当前音频合成的任务ID
getText2AudioStatus 查询音频合成的进度。 •taskId:当前视频合成任务的ID •状态:提交、生成、成功、失败
•failedCode:故障代码
•failedMessage:生产失败的原因
•audioUrl:任务ID对应的成功合成音频文件的地址,将存储7天

5.文件上传

  • 功能描述:平台支持上传音视频文件,用于后续声音克隆、数字真人制作、123数字真人视频制作等。
  • 示例提示词:

将此文件上传test.mp3,以便在C:/Users/username/Destop/test.mp3中进行声音克隆。

  • 工具详细信息:
工具名称 工具说明 输入参数 输出内容
uploadFiles 根据服务类型上传所需文件。 •file:要上传的文件
•providerType:使用此文件的服务类型目前仅限于三种服务类型:“2D少镜头数字人体制作”、“声音克隆”和“123数字人体视频制作”。
•sourceFileName:上传文件的名称,必须填写正确的文件名和后缀,例如:test.mp3。
•fileId:文件ID
•fileName:上传文件的名称

6.语音查询

  • 功能描述:查询可用的系统语音
  • 示例提示词:

我以前克隆过什么声音?

我想用一个二十多岁的温柔年轻女士的声音。

  • 工具详细信息:
工具名称 工具说明 输入参数 输出内容
getVoices 查询可用的语音ID。 •isSystem:“true”查询系统语音人才ID,“false”查询克隆语音人才ID、不传递任何值,查询可用语音人才ID •perId:语音人才ID
•姓名:配音人才姓名
•describe:音色特征描述
•性别:性别
•系统提供:是否为系统音调

7.图形查询

  • 功能描述:查询可用的二维数字肖像ID。
  • 示例提示词:

我以前创作过哪些肖像?

有哪些肖像可供选择?

  • 工具详细信息:
工具名称 工具说明 输入参数 输出内容
getFigures 查询可用图形。 •isSystem:“true”查询系统图,“false”查询生成图,不传递任何值,查询所有可用图 •figureId:2D图ID
•名称:二维图形名称
•性别:性别
•系统提供:是否为系统图

8.声音克隆

  • 功能描述:根据上传的音频生成音色,可用于语音合成和视频制作。
  • 示例提示词:

使用文件ID为xxx的音频文件克隆声音。名为“zhangsan”,是一个三十多岁的中年男性的音色,我将听它配上文字“这是我的克隆声音”。

检查ID为xxx的语音是否已被克隆。

  • 工具详细信息:
工具名称 工具说明 输入参数 输出内容
generateVoiceClone 根据上传的音频生成声音,可用于语音合成和视频制作。 •name:克隆语音的名称,长度不超过50%3Cbr>•gender:语音天赋的性别
•describe:对克隆语音的描述,不超过100个
•uploadAudioId:用于克隆声音的音频的文件ID
•示例:用于试听的文本,长度不能超过100
•perId;克隆语音的语音天赋ID为
getVoiceCloneStatus 根据任务的语音说话者ID查询语音克隆任务的当前状态。 •isSuccess:是否只查询成功克隆的任务(true:只查询成功的任务,false:查询所有克隆的任务)
•perId;:查询指定语音人才ID
•perId的任务;克隆语音的语音天赋ID
•name:配音人才的名字
•describe:克隆语音的描述
•exampleText:用于试听的文本
•examplAudioUrl:链接到使用试听文本合成的音频文件
•status:当前任务的状态,PREPARING、CLONING、SUCCESS、FAIL
•原因:如果克隆失败,请在此处描述失败的原因
•性别:声音被克隆的配音人才的性别

将此文件上传test.mp3,以便在C:/Users/username/Destop/test.mp3中进行声音克隆。

开始

1申请试用积分

2获取API密钥和密钥

  • 创建完成后,您可以获得API密钥(AppID)和密钥和密钥(AppKey)

3 MCP配置

先决条件

  • Python 3.12或更高版本
  • 来自西岭开放平台的API密钥和密钥

您可以使用Python加入百度西岭数字人MCP服务器,建议使用 紫外线. 源代码访问
如果您想自定义西岭数字人的功能,可以使用源代码访问:

  1. 安装紫外线
    请参阅 紫外线 安装指南,以确保命令行可以执行“uvx”命令,或者可以通过以下路径找到已安装的“uvx”工具
  2. 将代码签到本地计算机
  3. 使用支持MCP的代理助手添加MCP配置
{
  "mcpServers": {
    "DH-STDIO": {
      "timeout": 60,
      "type": "stdio",
      "command": "uvx",
      "args": [
        "${path/to/dh-mcp-server}"
      ],
      "env": {
        "DH_API_AK": "${API Key}",
        "DH_API_SK": "${Secret Key}"
      }
    }
}
  • 将${path/to/dh-mcp服务器}替换为实际的本地路径
  • 用实际的“API密钥”和“密钥”替换${API密钥}和${密钥}

Python包插件
我们在pypi上发布了百度西林MCP服务器:“MCP服务器百度数字人”,你可以使用任何Python包管理工具来获取它

  1. 使用UV安装
  2. 使用pip安装 pip install mcp-server-baidu-digitalhuman
  3. 使用支持MCP的代理助手添加MCP配置
{
  "mcpServers": {
    "DH-STDIO": {
      "timeout": 60,
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-server-baidu-digitalhuman"
      ],
      "env": {
        "DH_API_AK": "${API Key}",
        "DH_API_SK": "${Secret Key}"
      }
    }
  }
}

4使用声明

在使用上述工具之前,请阅读 西岭数字人自定义组件克隆协议。当您使用上述工具时,即表示您同意本协议。

发展

要使用MCP检查器在本地运行服务器进行测试和调试,请执行以下操作:
npx @modelcontextprotocol/inspector uvx ${path/to/dh-mcp-server}
这将以开发模式启动服务器,并允许您使用MCP检查器测试可用的工具和功能。

测试

  1. 配置环境后,MCP代理将自动获得所有可用工具的列表
  2. 在对话框中,输入提示:“查询所有可用数字人声的列表”

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

讨论与反馈

如果您有任何问题或建议,请随时与我们联系。 您可以通过以下方式联系我们: