Skip to main content
Glama
baidu-xiling

Baidu Digital Human MCP Server

Official
by baidu-xiling

Baidu Digital Human MCP Server

中文 | English

Overview
Baidu Intelligent Cloud Xiling Digital Human Open Platform has now been fully adapted to the MCP protocol. Creators are welcome to join the experience. The MCP Server provided by Xiling Digital Human contains 13 API interfaces that comply with MCP protocol standards, including basic video generation, advanced video generation, timbre cloning, etc. Relying on the MCP Python SDK development, any agent assistant that supports the MCP protocol (such as Claude, Cursor, Cline, and Qianfan AppBuilder) can be quickly accessed.

License: MIT python pypi

Tools

We provide a variety of tools to meet the needs of different scenarios. It allows you to quickly integrate digital human services in large models and easily build digital human applications. If you have more expectations for digital humans and want to integrate digital human services more deeply, please visit Baidu Intelligent Cloud Xiling Digital Human Open Platform to contact us. More features will also be gradually opened in MCP, so stay tuned.

Function

Function Description

contains tools

2D few-shot digital human

Generate a digital portrait based on the uploaded video recorded by a real person, which can only be used for basic video production, and the digital human uses a universal lip drive.

• generateLite2dGeneralVideo • getLite2dGeneralStatus

Digital human video synthesis

Generate digital human video based on the selected digital portrait and timbre

• generateDhVideo • getDhVideoStatus

123 Digital Human Video

Providing a 10 second to 4-minute live streaming video of saying "123", the corresponding digital human video can be directly produced without the need for portrait generation

• generateDh123Video • getDh123VideoStatus

Speech synthesis

Based on the text content provided and the selected timbre, no video is needed to generate the corresponding audio

• generateText2Audioo • getText2AudioStatus

File Upload

Upload the required files based on the service type.

• uploadFiles

Voice Query

Query available system voice talent.

• getVoices

Figure Query

Query available figure

• getFigures

Voice Clone

Generate timbres based on uploaded audio, which can be used for speech synthesis and video production.

• generateVoiceClone • getVoiceCloneStatus

1. 2D few-shot digital human

  • Function description: Generate a digital portrait based on the uploaded video recorded by a real person, which can only be used for basic video production, and the digital human uses a universal lip drive. (webm videos with transparent backgrounds)

  • Sample prompt words:

Use a video file with fileid xxx to generate a digital person, named "zhangsan", which is the image of a boy.

Check the digital person with the ID xxx, okay?

What portraits can I use.

  • Tool details:

Tool name

Tool description

Input parameters

Output content

generateLite2dGeneralVideo

Generate a digital portrait based on the uploaded video recorded by a real person, which can only be used for basic video production, and the digital human uses a universal lip drive.

• name: The name of the generated digital portrait, the length of which does not exceed 50 • gender: the gender of the digital person • keepBackground: whether to keep the video background, true is retained, false is removed, and the default value is false • templateVideoId: the file ID of the video used to generate the digital portrait

• figureId: The digital portrait ID generated based on the uploaded video recorded by a real person

getLite2dGeneralStatus

• Query the progress of the generation of digital portraits • It can also be used to query which system 2D portraits are available.

• figureId: Specify the portrait ID query, if it is empty, query all portraits under the account • systemFigure: query the public portraits of the platform, empty: query all, true: returns the public portrait of the platform, false: returns the custom portrait • trainSuccess: whether to query whether the training is completed and the status of the available portrait (empty: no filtering, true: only returns the available portrait (the public portrait of the platform and the customized portrait of the training success state), false: returns only the custom portrait that is in the queue, during training, or failed training) • pageNo: the page number, Default is 1 • pageSize: The size of each page, default is 10

• figureId: The digital portrait ID generated based on the uploaded video recorded by a real person • name: The name of the generated digital portrait, the length of which does not exceed 50 • gender: the gender of the digital human • keepBackground: whether to keep the background of the video, true is retained, false is removed, and the default value is false • status: status (LINE_UP (queued), GENERATING, SUCCESS, FAILED) • failedCode: Failure error code<br% 3E • failedMessage: Reason for failure to make a product

2. Digital human video compositing

  • Function description: Generate a digital human video based on the selected digital portrait and timbre

  • Sample prompt words:

Use the voice of the digital portrait ID xxx and the voice voice person ID as yyy, the content of the video is "Hello everyone, I am the content broadcast by the digital person", use the camera position of the whole body of the horizontal screen, use the video background with "https://digital-human-material.bj.bcebos.com/-%5BLjava.lang.String%3B%4046f6cc1e.png", turn on the automatic action added, turn on the subtitles, Generate a 1080P digital human video.

Check the digital human video with a taskid of xxx.

  • Tool details:

Tool name

Tool description

Input parameters

Output content

generateDhVideo

Generate a digital human video based on the selected digital portrait and timbre.

• figureId: digital portrait ID • driveType: the data type that drives the digital human, which supports text-driven or audio-driven • text: If the driver type is text-driven, the required video content should not exceed 20000 • person: When the driver type is text-driven, the required voice talent ID • inputAudioUrl: When the driver type is audio driver, the required audio link URL • width: the width of the output video resolution • hight: the high of the output video resolution • cameraId: the camera setting of the system portrait, 0: horizontal half-body, 1: vertical half-body, 2: horizontal full-body, 3: vertical full-body • enabled: whether to enable subtitles, true to enable subtitles, default false is not enabled. • backgroundImageUrl: URL of the background image • autoAnimoji: The system portrait is automatically added, true is automatically added, and the default value is false

• taskId: the ID of the current video synthesis task

getDhVideoStatus

Query the progress of digital human video composition.

• taskId: the ID of the current video synthesis task

• taskId: the task ID of the current video composition • status: SUBMIT(submitted for synthesis), GENERATING (compositing), SUCCESS(synthesis successful), FAILED(synthesis failed) • failedCode: Error code • failedMessage: Reason for production failure • videoUrl: The address of the successfully synthesized video file corresponding to the task ID, which will be saved for 7 days

3. 123 digital human video compositing

  • Function description: Providing a 10 second to 4-minute live streaming video of saying "123", the corresponding digital human video can be directly produced without the need for portrait generation

  • Sample prompt words:

Use a video file with fileid as xxx and a voice voice with the voice talent ID of yyy, and the content of the video is "Hello everyone, I am the content broadcast by a digital human", and generate a digital human video.

The address of the video is https://open-api-test.bj.bcebos.com/ae870923-2a3b-4d5e-b6a2-e44b4025647220250417_163529_trim.mp4, the voice voice is yyy, and the content of the video is "Hello everyone, I am the content broadcast by the digital human", and a digital human video is generated.

Check the 123 digital human video with a taskid of xxx.

You can check the guide on the website

  • Tool details:

Tool name

Tool description

Input parameters

Output content

generateDh123Video

According to the video recorded by the real person and the selected timbre, it can be directly generated into a digital human video without the need for portrait generation.

• templateVideoId: the file ID corresponding to the video used to generate the digital human video • driveType: the data type that drives the digital human, supports text-driven or audio-driven • text: If the driver type is text-driven, the required video content must be filled in length, and the length cannot exceed 20000 • person: If the driver type is text-driven, the required voice talent ID • inputAudioUrl: If the driver type is audio driver, the required audio link URL

• taskId: the ID of the current video synthesis task

getDh123VideoStatus

Query the progress of video synthesis of 123 digital humans.

• taskId: the ID of the task of the current video composition

• taskId: the task ID of the current video composition • status: Status: SUBMIT (submitted for synthesis), RATING (compositing), SUCCESS (synthesis successful), FAILED • failedCode: Error code • failedMessage: Reason for production failure • videoUrl: The address of the successfully synthesized video file corresponding to the task ID, which will be saved for 7 days

4. Speech synthesis

  • Function description: According to the text content provided and the selected timbre, there is no need to generate a video, and the corresponding audio can be generated.

  • Sample prompt words:

Audio is generated with the voice voice person's ID xxx and the content is "Hello everyone, I am the content broadcast by a digital human".

Check if the speech synthesis with taskid xxx is good.

  • Tool details:

Tool name

Tool description

Input parameters

Output content

generateText2Audio

The root does not need to generate a video based on the provided text content and the selected timbre, and produces the corresponding audio.

• text: The required text content, the length of which does not exceed 2000 • person: the required voice talent ID

• taskId: The task ID of the current audio synthesis

getText2AudioStatus

query the progress of audio composition.

• taskId: the ID of the current video synthesis task

• status: SUBMIT, GENERATING, SUCCESS, FAILED • failedCode: Failure code • failedMessage: Reason for production failure • audioUrl: The address of the successfully synthesized audio file corresponding to the task ID, which will be stored for 7 days

5. File upload

  • Function description: The platform supports uploading audio and video files for subsequent sound cloning, digital human production, 123 digital human video production, etc.

  • Sample prompt words:

Upload test.mp3 this file for sound cloning in C:/Users/username/Desktop/test.mp3.

  • Tool details:

Tool name

Tool description

Input parameters

Output content

uploadFiles

Upload the required files according to the service type.

• file: The file to be uploaded • providerType: The service type that uses this file is currently limited to three service types: "2D few-shot digital human production", "sound cloning", and "123 digital human video production". • sourceFileName: the name of the uploaded file, which must be filled in with the correct file name and suffix, for example, :test.mp3.

• fileId: file ID • fileName: the name of the uploaded file

6. Voice queries

  • Function description: Query available system voices

  • Sample prompt words:

What sounds have I cloned before?

I want to use the voice of a gentle young lady in her twenties.

  • Tool details:

Tool name

Tool description

Input parameters

Output content

getVoices

Query available voice IDs.

• isSystem:"true" query system voice talent ID, "false" query clone voice talent ID, without passing any value, query available voice talent ID

• perId: voice talent ID • name: voice talent name • describe: description of timbre characteristics • gender: gender • systemProvided: whether it is a system tone

7. Figure query

  • Function description: Query the available 2D digital portrait IDs.

  • Sample prompt words:

What portraits have I generated before?

What portraits are available?

  • Tool details:

Tool name

Tool description

Input parameters

Output content

getFigures

query available figures.

• isSystem:"true" query system figure, "false" query generates figures, without passing any value, query all available figures

• figureId:2D figure ID • name:2D figure name • gender:gender • systemProvided: Whether it is a system figure

8. Sound cloning

  • Function description: Generate timbre based on the uploaded audio, which can be used for speech synthesis and video production.

  • Sample prompt words:

Clone the sound with an audio file with a file ID of xxx. Named "zhangsan", it is the timbre of a middle-aged male in his thirties, and I will listen to it with the text "This is my cloned voice".

Check if the voice with ID xxx has been cloned.

  • Tool details:

Tool name

Tool description

Input parameters

Output content

generateVoiceClone

Generate voices based on uploaded audio, which can be used in speech synthesis and video production.

• name: The name of the cloned voice, no more than 50% in length3Cbr> •gender: the gender of the voice talent • describe: A description of the cloned voice, no more than 100 • uploadAudioId: the file ID of the audio used to clone the sound •example: the text used for audition, the length of which cannot exceed 100

• perId; The voice talent ID of the cloned voice is

getVoiceCloneStatus

Query the current status of a voice clone task based on the voice speaker ID of the task.

• isSuccess: whether to query only the successfully cloned tasks (true: query only successful tasks, false: query all cloned tasks) • perId; : Query the task of specifying the voice talent ID

• perId; ID of the voice talent of the cloned voice • name: name of the voice talent • describe: description of the cloned voice • exampleText: text used for audition • examplAudioUrl: link to an audio file synthesized using the text of the audition • status: the status of the current task, PREPARING, CLONING, SUCCESS, FAIL • reason: If the clone fails, the reason for the failure is described here • gender: the gender of the voice talent whose voice is cloned

Upload test.mp3 this file for sound cloning in C:/Users/username/Desktop/test.mp3.

Related MCP server: ShiLiu MCP Server

Get started

1 Claim your trial credit

2 Obtain the API key and secret key

  • After the creation is complete, you can get the API Key (AppID) and Key and Secret Key (AppKey)

3 MCP configuration

Prerequisites

  • Python 3.12 or higher

  • API Key and Secret Key from Xiling Open Platform

You can use Python to join the Baidu Xiling Digital Human MCP Server, and it is recommended to use the uv. Source Code Access
If you want to customize the capabilities of Xiling Digital Human, you can use the source code to access:

  1. Install the UV
    Refer to the uv installation guide to make sure that the command line can execute the 'uvx' command, or that the installed 'uvx' tool can be found through the path

  2. Checkout the code to your local computer

  3. Use the agent assistant that supports MCP to add MCP configuration

{
  "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}"
      }
    }
}
  • Replace ${path/to/dh-mcp-server} with your actual local path

  • Replace ${API Key} and ${Secret Key} with your actual 'API Key' and 'Secret Key'

Python package plug-in
We have released Baidu Xiling MCP Server: "mcp-server-baidu-digitalhuman" on the pypi, which you can use any Python package management tool to get it

  1. Use UV mounting

  2. Install with pip pip install mcp-server-baidu-digitalhuman

  3. Use the agent assistant that supports MCP to add MCP configuration

{
  "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 usage declaration

Before you use the above tools, please read the Xiling Digital Human Custom Component Cloning Protocol. When you use the above tools, you agree to this agreement.

Development

To run the server locally with the MCP Inspector for testing and debugging:
npx @modelcontextprotocol/inspector uvx ${path/to/dh-mcp-server}
This will start the server in development mode and allow you to use the MCP Inspector to test the available tools and functionality.

Testing

  1. Once the environment is configured, the MCP agent will automatically get a list of all available tools tools

  2. In the dialog box, enter prompt: "Query the list of all available digital human voices" voice_list

license

This project is licensed under the MIT License - see the LICENSE file for details.

Discussion & Feedback

If you have any questions or suggestions, please feel free to contact us. You can contact us in the following ways:

Available Tools

13 tools
generateDh123VideoC

#工具说明:简单便捷的生成数字人视频,根据真人录制的视频及选定音色,对视频分辨率等没有要求,无需人像生成,直接生产对应的数字人视频。

样例1:

用户输入:用fileid为xxx的视频文件,发音人ID为yyy的音色,视频的内容是“大家好,我是数字人播报的内容”,生成一个数字人视频。 思考过程: 1.用户想要用视频文件来直接生成一个视频,用户只提供了视频文件ID,发音人ID,以及内容,是一个简单的视频合成需求,需要使用“generateDh123Video”工具。 2.工具需要templateVideoId,driveType,text,person,inputAudioUrl这几个参数。 3.templateVideoId是需要使用的视频文件的ID,所以值为xxx。给的播报内容是文本,所以driveType是文本驱动,text为“大家好,我是数字人播报的内容”。发音人已经提供了ID,所以person的值是yyy

样例2:

用户输入:视频的地址是https://open-api-test.bj.bcebos.com/ae870923-2a3b-4d5e-b6a2-e44b4025647220250417_163529_trim.mp4,用发音人ID为yyy的音色,视频的内容是“大家好,我是数字人播报的内容”,生成一个数字人视频。 思考过程: 1.用户想要用视频地址的文件来直接生成一个视频,用户只提供了视频文件链接URL,发音人ID,以及内容,是一个简单的视频合成需求用户没有提到,需要使用“generateDh123Video”工具。 2.工具需要templateVideoId,driveType,text,person,inputAudioUrl这几个参数。 3.templateVideoId是需要使用的视频文件的ID,所以值为xxx。给的播报内容是文本,所以driveType是文本驱动,text为“大家好,我是数字人播报的内容”。发音人已经提供了ID,所以person的值是yyy

ParametersJSON Schema
NameRequiredDescriptionDefault
inputTextNo文本内容
voiceIdNo音色Id,来自getVoices
videoUrlNo视频文件id或URL
titleNo标题

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions the tool generates videos and is simple/convenient, but doesn't disclose behavioral traits such as required permissions, rate limits, processing time, error conditions, or what the output looks like (e.g., video format, size). For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is poorly structured and verbose, with redundant examples and thinking processes that don't add essential value. It includes markdown headers and detailed user scenarios that could be condensed. Sentences like '思考过程:' and repetitive example details waste space without improving clarity, making it inefficient and hard to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a video generation tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral aspects (e.g., mutations, side effects), output format, error handling, and differentiation from siblings. The examples add some context but don't compensate for the missing structural information, leaving significant gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters (inputText, voiceId, videoUrl, title). The description adds some context through examples, mentioning parameters like templateVideoId, driveType, text, person, and inputAudioUrl, but these don't directly map to the schema parameters and may confuse rather than clarify. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates digital human videos using real-person recorded videos and selected voice tones, with no requirements for video resolution or portrait generation. It specifies the action (generate), resource (digital human video), and scope (simple/convenient). However, it doesn't explicitly differentiate from siblings like generateDhVideo or generateLite2dGeneralVideo.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through examples showing simple video synthesis needs with video files/URLs, voice IDs, and text content. It doesn't explicitly state when to use this tool versus alternatives like generateDhVideo or generateLite2dGeneralVideo, nor does it provide exclusions or prerequisites. The examples suggest context but lack explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generateDhVideoC

#工具说明:根据所选数字人像ID及发音人ID,生成数字人视频。

样例1:

用户输入:用数字人像ID为xxx,发音人ID为yyy的音色,视频的内容是“大家好,我是数字人播报的内容”,使用横屏全身的机位,视频背景用“https://digital-human-material.bj.bcebos.com/-%5BLjava.lang.String%3B%4046f6cc1e.png”,开启自动添加动作,开启字幕,生成一个1080P的数字人视频。 思考过程: 1.用户想要用人像ID生成一个数字人视频,对声音,背景,字幕,分辨率等有要求,不是一个简单的数字人视频,需要使用“generateDhVideo”工具。 2.工具需要FigureId,driveType,text,person,inputAudioUrl,width,hight,cameraID,enable,backgroundimageUrl,autoAnimoji这些参数。 3.FigureId是需要使用的人像ID,所以值为xxx。给的播报内容是文本,所以driveType是文本驱动,text为“大家好,我是数字人播报的内容”。发音人已经提供了ID,所以person的值是yyy,开启自动动作,所以autoAnimoji的值为true,开启字幕,所以enabled的值为true,分辨率为1080P,拆分为width的值为1920,hight的值为1080,backgroundimageUrl的值是“https://digital-human-material.bj.bcebos.com/-%5BLjava.lang.String%3B%4046f6cc1e.png”

ParametersJSON Schema
NameRequiredDescriptionDefault
figureIdNo人像ID
voiceIdNo音色ID
textNo播报内容
inputAudioUrlNo驱动音频URL
resolutionWidthNo分辨率:宽
resolutionHeightNo分辨率:高
backgroundTransparentNo背景是否透明
cameraIdNo数字人相机机位,0:横屏半身, 1:竖屏半身, 2: 横屏全身, 3: 竖屏全身
backgroundImageUrlNo背景图片
callbackUrlNo回调地址
driveTypeNo驱动类型, TEXT:文本驱动, VOICE: 音频驱动TEXT
subtitleEnableNo是否启用字幕
autoAnimojiNo自动添加数字人动作

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool generates videos but doesn't describe what happens after generation (e.g., where the video is stored, if it's returned immediately, processing time, or error conditions). The example implies it's a creation/mutation tool, but there's no information about permissions, rate limits, or side effects. This is a significant gap for a complex tool with 13 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is poorly structured and verbose. It includes a lengthy example with a '思考过程' (thought process) section that walks through parameter mapping, which is redundant given the comprehensive schema. The front-loaded tool purpose is clear, but the example occupies most of the description without adding proportional value. The content could be significantly condensed while maintaining utility.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (13 parameters, no annotations, no output schema), the description is incomplete. It focuses heavily on parameter mapping in an example but lacks critical context: what the tool returns (no output schema), behavioral traits like processing time or storage, and differentiation from sibling tools. For a video generation tool with many configuration options, this leaves significant gaps for an AI agent to understand proper usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 13 parameters thoroughly. The description adds minimal value beyond the schema: it mentions FigureId, driveType, text, person, inputAudioUrl, width, height, cameraID, enable, backgroundimageUrl, and autoAnimoji in the example, but these are already well-documented in the schema with descriptions and defaults. No additional semantic context is provided beyond what's in the structured schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '根据所选数字人像ID及发音人ID,生成数字人视频' (generate digital human video based on selected figure ID and voice ID). It specifies the verb '生成' (generate) and resource '数字人视频' (digital human video), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like generateDh123Video or generateLite2dGeneralVideo, which appear to be similar video generation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives. While it mentions a '思考过程' (thought process) that suggests using this tool for complex video generation with specific parameters, it doesn't name alternative tools or specify exclusion criteria. The example shows usage but lacks comparative context with siblings like generateDh123Video or generateText2Audio.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generateLite2dGeneralVideoC

#工具说明:根据上传真人录制的视频生成数字人像,仅可用于基础视频制作,数字人使用通用口型驱动。

样例1:

用户输入:用fileid为xxx的视频文件,生成数字人,命名为“zhangsan”,是个男生的形象。 思考过程: 1.用户想要生成数字人像,需要使用“generateLite2dGeneralVideo”工具。 2.工具需要参数,name,gender,keepBackground,templateVideoId四个参数。 3.用户提到了fileID为xxx,所以templateVideoid的值为xxx,name为zhangsan,男生的形象,gender的值为male,未提到是否保留背景所以keepBackground默认为false。

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo名称
genderNo性别FEMALE
templateVideoIdNo视频:视频文件/底板视频,来自 uploadFiles 返回的fileId
keepBackgroundNo是否保留背景
maskVideoIdNo遮罩,底板视频对应的mask视频

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions the tool is for '基础视频制作' (basic video production) and uses '通用口型驱动' (generic mouth shape driving), which adds some behavioral context. However, it lacks critical details: whether this is a read/write operation, permission requirements, rate limits, processing time, or what happens to the input video. For a tool that likely creates resources, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is poorly structured: it starts with a header '#工具说明:' followed by an example that dominates the text. The example includes unnecessary '思考过程' (thinking process) that doesn't belong in a tool description. While the core purpose is stated, the formatting wastes space and reduces clarity, making it less front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., a video ID, status object), error conditions, or prerequisites (e.g., needing uploadFiles first). For a 5-parameter tool that likely creates digital avatars, more context on behavior and results is needed to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters with descriptions. The description adds minimal value: it names parameters (name, gender, keepBackground, templateVideoId) in the example and implies templateVideoId comes from uploadFiles. However, it doesn't explain maskVideoId or provide deeper semantic context beyond what the schema offers, meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '根据上传真人录制的视频生成数字人像' (generate a digital avatar from uploaded real-person video). It specifies the resource (digital avatar) and verb (generate), and distinguishes it from siblings like generateText2Audio or generateVoiceCloneLite. However, it doesn't explicitly differentiate from generateDh123Video or generateDhVideo, which might have similar purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides some usage context: '仅可用于基础视频制作,数字人使用通用口型驱动' (only for basic video production, digital avatar uses generic mouth shape driving). This implies when to use it (basic video needs) but doesn't explicitly state when not to use it or name alternatives among siblings. The example helps illustrate usage but doesn't provide comprehensive guidelines.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generateText2AudioC

#工具说明:根据提供的文本内容及选定音色,无需生成视频,生产对应的音频。

样例1:

用户输入:用发音人ID为xxx的音色,内容是“大家好,我是数字人播报的内容”,生成音频。 思考过程: 1.用户想生成一个音频,需要使用“generateText2Audio”工具。 2.工具需要text,person这几个参数。 3.text为“大家好,我是数字人播报的内容”。发音人已经提供了ID,所以person的值是yyy

ParametersJSON Schema
NameRequiredDescriptionDefault
textNo文本内容
voiceIdNo音色ID,来自getVoices的返回值

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool generates audio without video, but doesn't cover critical aspects like whether this is a read-only or mutation operation, authentication requirements, rate limits, error handling, or what the output looks like (e.g., audio format, file location). For a tool with no annotations, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately concise but includes unnecessary elements. The first sentence states the purpose clearly, but the example and '思考过程' (thinking process) section add bulk without essential information, making it less front-loaded. It could be more streamlined by focusing on core usage rather than illustrative narratives.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (audio generation tool with no annotations and no output schema), the description is incomplete. It lacks details on output (e.g., what is returned, audio format), error cases, dependencies (e.g., voiceId from getVoices), and behavioral traits. For a tool that likely involves mutation and external resources, this leaves the agent with insufficient context to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters (text and voiceId) with descriptions. The description adds minimal value: it mentions text and person (though the actual parameter is voiceId) in the example, but doesn't provide additional semantics like constraints, examples beyond the schema, or how voiceId relates to getVoices. Baseline 3 is appropriate when the schema does most of the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '根据提供的文本内容及选定音色,无需生成视频,生产对应的音频' (generate corresponding audio from provided text content and selected voice, without generating video). This specifies the verb (generate audio), resources (text and voice), and scope (no video). However, it doesn't explicitly distinguish this from sibling tools like generateVoiceCloneLite or getText2AudioStatus, which reduces it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal usage guidance. The example shows when to use this tool (when a user wants to generate audio from text with a specific voice), but it doesn't explain when NOT to use it or mention alternatives like generateVoiceCloneLite for voice cloning or getText2AudioStatus for checking status. No explicit context or prerequisites are stated beyond the example.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generateVoiceCloneLiteC

#工具说明:根据上传音频生成音色,可用于语音合成及视频制作.

样例1:

用户输入:用文件id为xxx的音频文件克隆声音。命名为“zhangsan”,是一个三十岁左右中年男性的音色,用“这个是我克隆的声音”这段文本试听一下 思考过程: 1.用户想要克隆一个声音,需要使用“generateVoiceCloneLite”工具。 2.工具需要参数,name,gender,describe,uploadAudioId,example,五个参数。 3.uploadAudioId的值为文件ID,name的值为zhangsan,describe的值为“一个三十岁左右中年男性的音色”,gender的值为male,example为“这个是我克隆的声音”

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes音色名称
describeYes音色描述
uploadAudioIdYes音频文件id
exampleTextYes音频文本
genderNo性别unknown

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool generates voice clones for synthesis/video, but doesn't cover critical behaviors: whether this creates a persistent resource, what permissions/authentication are needed, rate limits, or what happens on failure. The example shows parameter usage but lacks operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, but includes an extensive example that occupies most of the text. While the example is helpful, it could be more concise. The structure mixes tool explanation with instructional content, making it somewhat verbose for a tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters, no annotations, and no output schema, the description is incomplete. It explains what the tool does and provides an example, but misses critical context: what the tool returns (no output schema), error conditions, prerequisites (e.g., needing uploaded audio first via 'uploadFiles'), and how the generated voice clone integrates with sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description's example illustrates parameter usage (e.g., 'name的值为zhangsan'), but doesn't add meaningful semantic context beyond what's in the schema descriptions. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '根据上传音频生成音色,可用于语音合成及视频制作' (generate voice clone from uploaded audio for speech synthesis and video production). This specifies the verb (generate), resource (voice clone), and application context. However, it doesn't explicitly differentiate from sibling tools like 'generateText2Audio' or 'getVoices', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. While it includes an example showing how to use the tool, it doesn't mention when NOT to use it or what sibling tools might be better for different scenarios. The example is instructional but not comparative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getDh123VideoStatusC

#工具说明:查询123数字人视频合成进度。

样例1:

用户输入:查一下taskid为xxx的123数字人视频好了没有 思考过程: 1.用户想要查询taskid为xxx的123数字人视频,需要使用“getDh123VideoStatus”工具。 2.工具需要task ID这些参数。 3.task ID的值为xxx

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdNo视频任务ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the tool queries progress, implying it's a read-only operation, but doesn't disclose behavioral traits such as authentication requirements, rate limits, error handling, or what the response format looks like (e.g., progress percentage, status codes). The example adds minimal context but leaves key operational details unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is poorly structured and includes redundant elements. It starts with a tool explanation but devotes most space to a verbose example with unnecessary '思考过程' (thinking process) that doesn't add value for an AI agent. The core information is buried, and the example could be condensed or omitted to improve clarity and efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no annotations, no output schema, and a simple parameter, the description is incomplete. It lacks details on what the tool returns (e.g., status indicators, progress values), error conditions, or how it integrates with sibling tools like 'generateDh123Video'. For a query tool in a video synthesis context, more operational context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'taskId' documented as '视频任务ID' (video task ID). The description mentions '工具需要task ID这些参数' (the tool needs task ID parameters), adding no meaningful semantics beyond the schema. Since schema coverage is high, the baseline score of 3 is appropriate, as the description doesn't compensate with additional details like format examples or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '查询123数字人视频合成进度' (query 123 digital human video synthesis progress). It specifies the verb '查询' (query) and resource '123数字人视频' (123 digital human video). However, it doesn't explicitly distinguish this tool from sibling tools like 'getDhVideoStatus' or 'getLite2dGeneralStatus', which likely serve similar purposes for different video types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a usage example that implies when to use this tool: when a user wants to check if a video with a specific task ID is ready. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'getDhVideoStatus' or 'getLite2dGeneralStatus', nor does it mention any prerequisites or exclusions. The example helps but lacks comprehensive context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getDhVideoStatusC

#工具说明:查询基础数字人视频合成进度。

样例1:

用户输入:查一下taskid为xxx的数字人视频好了没有 思考过程: 1.用户想要查询taskid为xxx的数字人视频好了没有,需要根据context来做判断,最近调用了“generateDhVideo”工具,需要使用“getDhVideoStatus”工具,如果没有查询到,则需要使用“getDh123VideoStatus”工具继续查询。 2.工具需要task ID这些参数。 3.task ID的值为xxx

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdNo基础数字人视频任务ID

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions the tool queries progress but doesn't disclose behavioral traits like what the response format includes (e.g., status codes, error handling), whether it's idempotent, or any rate limits. The example implies it returns results or requires fallback, but this is vague. More details on behavior would improve transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is poorly structured and verbose, including a markdown header, example, and step-by-step thinking process that doesn't belong in a tool description. It's front-loaded with unnecessary commentary rather than focusing on concise, actionable information. Sentences like '思考过程:' (thinking process) add clutter without earning their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete for a tool that queries status. It lacks details on return values (e.g., what progress indicators are provided), error conditions, or how to interpret results. The example hints at fallback behavior but doesn't fully explain it. For a status-checking tool, this leaves significant gaps in understanding its operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the parameter 'taskId' clearly documented in the schema as '基础数字人视频任务ID' (basic digital human video task ID). The description adds minimal value beyond this, only noting in the example that '工具需要task ID这些参数' (the tool needs task ID parameters). It doesn't provide additional semantics like format constraints or usage tips, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool '查询基础数字人视频合成进度' (query basic digital human video synthesis progress), which is a clear verb+resource combination. However, it doesn't explicitly distinguish this tool from its sibling 'getDh123VideoStatus', which appears to serve a similar purpose for a different type of digital human video. The description mentions both tools in the example but doesn't clarify their distinct scopes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: after calling 'generateDhVideo' to check progress. It explicitly mentions 'getDh123VideoStatus' as an alternative if no results are found, offering guidance on tool selection. However, it doesn't specify when NOT to use this tool or address other potential alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getFiguresC

#工具说明:查询可用的人像ID

ParametersJSON Schema
NameRequiredDescriptionDefault
systemFigureNo是否是平台公共人像,true返回平台公共人像,false返回定制人像,空查询全部

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the tool queries portrait IDs, without mentioning whether this is a read-only operation, if it requires authentication, what the return format looks like, or any rate limits. For a query tool with zero annotation coverage, this leaves critical behavioral traits undocumented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—just one phrase in Chinese. While this avoids waste, it's arguably under-specified rather than efficiently structured. It lacks front-loading of key details and doesn't provide a complete overview, making it feel sparse rather than optimally concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a query operation with one parameter) and the absence of both annotations and an output schema, the description is incomplete. It doesn't explain what the tool returns, how results are formatted, or any behavioral nuances. For a tool with no structured output documentation, the description should provide more context to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'systemFigure' well-documented in the schema itself. The description adds no additional parameter information beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting. No compensation is needed given the high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's purpose as '查询可用的人像ID' (query available portrait IDs), which provides a basic verb+resource combination. However, it's somewhat vague about what 'available portrait IDs' means in practice, and it doesn't differentiate this tool from sibling tools like 'getVoices' or other query tools. The description is functional but lacks specificity about scope or context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There are multiple sibling query tools (e.g., getVoices, getDh123VideoStatus), but the description doesn't explain how this tool differs or when it's appropriate. No context, exclusions, or prerequisites are mentioned, leaving usage unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getLite2dGeneralStatusB

#工具说明:根据2D小样本数字人对应的人像ID,查询该任务目前的状态,也可以用于查询有哪些可用的2D人像。

样例1:

用户输入:查一下id为xxx的数字人好了没有。 思考过程: 1.用户想要查询人像生成任务的状态,需要使用“getLite2dGeneralStatus”工具。 2.工具需要,figureId,systemFigure,trainSuccess,pageNo,ppageSize这些参数。 3.用户提到了ID为xxx,所以figureId的值为xxx,现在不清楚这个任务的状态,所以trainSuccess的值不需要填,系统人像不需要生成过程,所以systemFigure值为false,其他为默认值。

样例2:

用户输入:我可以用哪些人像 思考过程: 1.用户想要查询哪些人像ID可以使用,需要使用“getLite2dGeneralStatus”工具。 2.工具需要,figureId,systemFigure,trainSuccess,pageNo,ppageSize这些参数。 3.查询可用人像,所以figureId为空,syste Figure为空,trainSuccess为ture,pageNo默认为1,避免漏查pageSize为最大值100。

ParametersJSON Schema
NameRequiredDescriptionDefault
figureIdNo人像ID
systemFigureNo是否是平台公共人像,true返回平台公共人像,false返回定制人像,空查询全部
trainSuccessNo是否查询训练完成:true:只返回可用人像,false:只返回排队中、训练中或训练失败的定制人像,为空不进行过滤

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While it explains the dual-purpose nature and provides example parameter configurations, it doesn't describe important behavioral aspects: whether this is a read-only operation (implied but not stated), what the response format looks like, pagination behavior (mentioned in examples but not explained), error conditions, or rate limits. The examples help but don't constitute comprehensive behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a clear purpose statement, but includes lengthy example sections with detailed '思考过程' (thought process) that could be more concise. While the examples are helpful, they contain redundant explanations and could be streamlined. The structure is logical (purpose → examples) but the examples themselves are verbose and could be condensed while preserving their instructional value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's dual-purpose nature (status queries AND listing available figures), 3 parameters, no annotations, and no output schema, the description is moderately complete. It covers the main use cases and parameter interactions well through examples, but lacks information about response format, error handling, and pagination details (though pagination parameters are mentioned in examples). For a tool with no output schema, more information about what to expect in return would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, providing good baseline documentation for all 3 parameters. The description adds significant value beyond the schema by explaining parameter semantics through practical examples: it shows how figureId should be set for status queries vs. listing queries, clarifies that systemFigure=false for custom figures, and demonstrates trainSuccess usage patterns. This contextual guidance helps users understand how parameters interact to achieve different outcomes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '根据2D小样本数字人对应的人像ID,查询该任务目前的状态,也可以用于查询有哪些可用的2D人像' (Query the status of a 2D digital human generation task based on figure ID, or query available 2D figures). This specifies both primary and secondary uses with clear verbs ('查询' - query) and resources ('任务状态' - task status, '可用人像' - available figures). It doesn't explicitly differentiate from sibling tools like 'getFigures', but the dual-purpose nature is well-defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidance through two examples: Example 1 shows when to use for checking task status (with figureId specified), and Example 2 shows when to use for listing available figures (with figureId empty and trainSuccess=true). However, it doesn't explicitly state when NOT to use this tool or mention alternatives like 'getFigures' for similar queries, leaving some ambiguity about tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getText2AudioStatusC

#工具说明:查询音频合成进度。

样例1:

用户输入:查一下taskid为xxx的语音合成好了没有。 思考过程: 1.用户想要查询taskid为xxx的音频好了没有,需要使用“getText2AudioStatus”工具查询。 2.工具需要task ID这些参数。 3.task ID的值为xxx

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdNo语音合成任务ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions the tool queries progress but doesn't disclose behavioral traits like whether it's read-only, what the response format is (e.g., progress percentage, status codes), error handling, or rate limits. The example shows it requires a task ID, but this is already in the schema. It adds minimal context beyond basic operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is poorly structured, mixing tool explanation with an example and 'thinking process' in Chinese. It includes redundant elements like '#工具说明:' and step-by-step reasoning that don't add value for an AI agent. Sentences like '思考过程:' and numbered steps are wasteful, making it longer than necessary without improving clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete for a status-checking tool. It doesn't explain what the tool returns (e.g., status values like 'processing', 'completed', or error details), how to interpret results, or prerequisites (e.g., task ID must be valid). The example helps but doesn't cover behavioral context needed for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'taskId' documented as '语音合成任务ID' (audio synthesis task ID). The description adds no additional meaning beyond the schema—it reiterates that the tool needs 'task ID这些参数' (task ID parameters) in the example, but this doesn't enhance semantics. With high schema coverage, the baseline is 3, and the description doesn't compensate further.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as '查询音频合成进度' (query audio synthesis progress), which is a specific verb+resource combination. It distinguishes from sibling tools like 'generateText2Audio' (which creates audio) and 'getVoices' (which lists voices). However, it doesn't explicitly differentiate from other status-checking siblings like 'getDh123VideoStatus' or 'getVoiceCloneStatus' beyond the audio focus.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an example scenario ('查一下taskid为xxx的语音合成好了没有') that implies usage when a user wants to check if a specific audio synthesis task is complete. It doesn't explicitly state when NOT to use this tool or name alternatives (e.g., using other status tools for video tasks). The example guides usage but lacks explicit exclusions or comparisons to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getVoiceCloneStatusC

#工具说明:根据声音克隆任务的发音人ID,查询该任务目前的状态。

样例1:

用户输入:查一下id为xxx的声音克隆好了没有。 思考过程: 1.用户想要查询声音克隆任务的状态,需要使用“getVoiceCloneStatus”工具。 2.工具需要参数,isSuccess,perId两个参数。 3.用户提到了ID为xxx,所以perid的值为xxx,现在不清楚这个任务的状态,所以isSuccess的值为false。

ParametersJSON Schema
NameRequiredDescriptionDefault
perIdNo音色克隆任务的ID

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It describes a query operation ('查询' - query) which implies read-only behavior, but doesn't disclose any behavioral traits like authentication needs, rate limits, error conditions, or what the status response might contain. The example mentions parameters but doesn't explain tool behavior beyond the basic query intent. Significant gaps remain for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is poorly structured with a mix of tool explanation and example thinking process. The first sentence is useful, but the example section includes unnecessary implementation details ('思考过程' - thinking process) that don't belong in a tool description. This creates clutter and reduces clarity. The description is not appropriately front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and 1 parameter with good schema coverage, the description is incomplete. It explains the basic purpose but lacks crucial context: what status values might be returned, error handling, authentication requirements, or typical use patterns. For a status-checking tool that likely returns important state information, this leaves too many unanswered questions for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with one parameter ('perId' described as '音色克隆任务的ID' - voice clone task ID). The description adds minimal value beyond the schema: it mentions 'perId' in the example but doesn't provide additional semantics like format requirements, valid ranges, or relationship to other parameters. Since schema coverage is high, baseline 3 is appropriate even with limited param info in description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool '查询该任务目前的状态' (queries the current status of the task), which is a clear verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'getDh123VideoStatus' or 'getText2AudioStatus', which likely serve similar status-checking purposes for different resource types. The purpose is understandable but lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions a specific use case in the example ('查一下id为xxx的声音克隆好了没有' - check if voice clone with ID xxx is ready), but doesn't explain when this tool is appropriate compared to other status-checking tools or when not to use it. No explicit alternatives or context boundaries are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getVoicesC

#工具说明:查询可用的发音人ID。

样例1:

用户输入:我之前克隆过哪些声音? 思考过程: 1.用户想要查询可用的发音人ID,需要使用“getVoices”工具。 2.工具需要参数,isSystem,一个参数。 3.从“克隆过的”可以推测希望查询克隆发音人ID,因此参数的值为“false”

样例2:

用户输入:我想用一个二十岁左右温柔小姐姐的声音。 思考过程: 1.用户想要查询可用的发音人ID,需要使用“getVoices”工具。 2.工具需要参数,isSystem,一个参数。 3.用户未明确指出发音人ID的来源,因此不传任何值。 4.从接口返回的内容中寻找describe中“二十岁”左右,gender中为“female”的音色,优先推荐给用户

ParametersJSON Schema
NameRequiredDescriptionDefault
isSysNo是否是系统音色,true获取系统音色,false获取克隆音色, 空查询所有音色

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes the tool's function and parameter usage through examples, but lacks critical behavioral details such as whether this is a read-only operation, potential rate limits, authentication requirements, or what the output format looks like. The examples add some context but don't fully compensate for the missing annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is overly verbose and poorly structured, consisting of lengthy example scenarios with thought processes rather than a clear, front-loaded explanation. It wastes space on hypothetical user interactions instead of concisely stating the tool's purpose and usage. Every sentence doesn't earn its place, as the examples could be condensed or replaced with direct guidelines.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It explains parameter usage through examples but fails to describe the tool's behavior, output format, or any constraints. For a tool with one parameter and no structured output documentation, the description should provide more comprehensive context about what the tool returns and how to interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the parameter 'isSys' well-documented in the schema. The description adds value through examples that illustrate how to interpret and use the parameter in different scenarios (e.g., setting to 'false' for cloned voices, omitting for all voices), but doesn't provide additional semantic information beyond what's in the schema. Baseline 3 is appropriate given the high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool '查询可用的发音人ID' (queries available voice IDs), which is a clear purpose. However, it doesn't differentiate from siblings like 'getFigures' or 'getVoiceCloneStatus' that might also retrieve voice-related data. The description focuses on examples rather than a concise statement of what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance through two detailed examples, showing when to use the tool (to query voice IDs) and how to handle the parameter (isSystem). It implies usage for both cloned and system voices, but doesn't explicitly state when not to use it or compare to alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

uploadFilesC

#工具说明:根据业务类型上传所需要的文件。

样例:

用户输入:上传test.mp3这个文件用于声音克隆,文件在C:/Users/username/Desktop/test.mp3。 思考过程: 1.用户想要上传文件,需要使用“uploadFiles”工具。 2.工具需要参数,file,providerType,sourceFileName三个参数。 3.file:在C:/Users/username/Desktop/test.mp3路径下,名称为test.mp3的文件;providerType:声音克隆对应的值OPEN_TTS_CLONE_LITE;sourceFileName:test.mp3

ParametersJSON Schema
NameRequiredDescriptionDefault
localFilePathYes本地文件路径
providerTypeYes上传文件的业务类型, OPEN_CUSTOMIZATION_2D_GENERAL:通用口型,OPEN_TTS_CLONE_LITE:音色克隆
fileNameYes文件名

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions uploading files but doesn't describe what happens after upload (e.g., file processing, storage location, success/failure responses), authentication requirements, rate limits, file size restrictions, or error conditions. The example shows parameter mapping but lacks operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is poorly structured with mixed Chinese/English and markdown formatting that doesn't add value. It includes an overly detailed example that occupies most of the description rather than concise explanatory text. The content isn't front-loaded with clear purpose - it starts with a heading in Chinese followed by an example rather than a clear statement of what the tool does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a file upload tool with 3 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns, error conditions, file requirements, or how uploaded files integrate with sibling tools. The example provides some context but doesn't compensate for missing behavioral and operational information needed for proper tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds minimal value by showing an example mapping in Chinese, but doesn't provide additional semantic context beyond what's in the schema (e.g., file format requirements, business type implications). Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool uploads files based on business type, which gives a general purpose. However, it doesn't specify what kind of files or what happens after upload, and doesn't clearly distinguish from sibling tools like generateVoiceCloneLite that might also involve file processing. The purpose is vague rather than specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an example scenario but no explicit guidance on when to use this tool versus alternatives. It mentions 'business type' but doesn't explain when to choose OPEN_CUSTOMIZATION_2D_GENERAL vs OPEN_TTS_CLONE_LITE, or when to use uploadFiles versus other tools like generateVoiceCloneLite. There's no when-not-to-use guidance or prerequisites mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 13 tool updates
    • First observedgenerateDh123Video
    • First observedgenerateDhVideo
    • First observedgenerateLite2dGeneralVideo
    • First observedgenerateText2Audio
    • First observedgenerateVoiceCloneLite
    • First observedgetDh123VideoStatus
    • First observedgetDhVideoStatus
    • First observedgetFigures
    • First observedgetLite2dGeneralStatus
    • First observedgetText2AudioStatus
    • First observedgetVoiceCloneStatus
    • First observedgetVoices
    • First observeduploadFiles

TDQS

B3/5.0

Scored across 13 tools

Disambiguation3/5

Most tools have distinct purposes (e.g., generateDh123Video vs. generateDhVideo), but there is notable overlap between getDh123VideoStatus and getDhVideoStatus, which both query video synthesis progress but for different video types, potentially causing confusion. The status-checking tools (getDhVideoStatus, getDh123VideoStatus, getLite2dGeneralStatus, getText2AudioStatus, getVoiceCloneStatus) all serve similar query functions across different domains, which could lead to misselection if the agent isn't careful about tracking context.

Naming Consistency4/5

Tool names follow a consistent verb_noun pattern with camelCase (e.g., generateDh123Video, getDhVideoStatus), which is predictable and readable. Minor deviations exist, such as 'uploadFiles' using plural 'Files' while others use singular nouns, and 'getFigures'/'getVoices' using plural nouns without a verb prefix, but overall the naming is largely consistent.

Tool Count5/5

With 13 tools, the count is well-scoped for a digital human video generation server, covering core operations like video/audio generation, status queries, resource listing, and file uploads. Each tool has a clear role, and there is no bloat or excessive fragmentation, making it manageable for agents to navigate.

Completeness4/5

The tool set provides comprehensive coverage for digital human video creation, including generation (video, audio, voice cloning), status monitoring, resource queries (figures, voices), and file uploads. Minor gaps exist, such as no tools for deleting or updating generated resources (e.g., videos, voices) or managing background images, but core workflows are fully supported without dead ends.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers