手册手册
  • 数字人创作进阶教程

数字人创作进阶教程

1. 简介

本教程为进阶内容,将详细介绍nuwa数字人创作流程和协议。通过本教程,您将深入了解nuwa数字人的底层原理,从而更好地集成和定制数字人功能。

1.1 什么是数字人创作?

数字人创作是指通过技术手段创建具有人类特征的虚拟人物,包括形象设计、声音克隆、智能对话等多个方面。数字人可以应用于多种场景,如客户服务、教育培训、娱乐互动等。

1.2 nuwa数字人创作的核心技术

  • 形象生成:通过AI技术生成或编辑数字人的外观
  • 声音克隆:复制或创建数字人的语音特征
  • 性格塑造:复制或创建数字人的语音特征
  • 知识赋予:复制或创建数字人的语音特征
  • 动作生成:让数字人做出自然的动作和表情

1.3 本教程的目标

通过本教程,您将学习:

  • 数字人创作的完整流程
  • 如何使用NuwaAI平台的协议进行数字人创作开发
  • 数字人创作的最佳实践和技巧
  • 如何解决数字人创作中常见的问题

2. 核心概念

在开始数字人创作之前,了解以下核心概念将有助于您更好地理解整个创作过程。

2.1 数字人组成部分

  • 形象(Figure):数字人的外观,包括面部特征、服装、发型,有意义动作和无意义动作等
  • 声音(Voice):数字人的语音特征,包括音调、语速、情感等
  • 角色(Role):数字人的身份设定,包括职业、性格、专业背景,技能等
  • 知识库(Knowledge):数字人存储的知识,包括图片、视频、ppt等
  • 智能体(Digital Human):完整的数字人实体,包含形象、声音和智能对话能力

2.2 创作须知

  1. 准备阶段:收集素材,确定数字人定位
  2. 形象创作:设计或生成数字人外观
  3. 声音创作:克隆或创建数字人声音
  4. 角色选择:设定数字人角色,包括职业、性格、专业背景,技能等
  5. 知识上传:上传知识到数字人知识库,包括图片、视频、ppt等
  6. 测试与优化:测试数字人表现并进行优化

2.3 如何快速创建一个数字人

  • 步骤1: 鉴权 (/web/apiKey/auth)
  • 步骤2: 获取声音列表 (/web/model/voice/list)
  • 步骤3: 选取一个声音,记录 声音模型名称,声音名称,声音类型
  • 步骤4: 创建形象(/web/model/figure/create)
  • 步骤5: 使用提示词生成一张图片(/web/model/submitTask)
  • 步骤6: 查询图片生成状态(/web/model/submitTask/query)
  • 步骤7: 查询图片生成完成,取到图片URL
  • 步骤8: 使用提示词和图片URL生成视频(/web/model/submitTask)
  • 步骤9: 查询视频生成状态(/web/model/submitTask/query)
  • 步骤10: 查询视频生成完成,取到视频URL
  • 步骤11: 根据视频URL,声音相关信息编辑形象(/web/model/figure/update),
  • 步骤12: 返回请求ID
  • 步骤13: 查询编辑状态(/web/model/submitTask/query)
  • 步骤14: 查询编辑完成,取到编辑结果
  • 步骤15: 查询角色列表(/web/model/role/list)
  • 步骤16: 选取一个角色,记录 角色ID,角色名称,角色类型
  • 步骤17: 创建智能体(/web/model/digitalHuman/create)
  • 步骤18: 返回智能体ID
  • 步骤19: 根据形象ID, 角色信息编辑智能体(/web/model/digitalHuman/update),
  • 步骤20: 返回请求ID
  • 步骤21: 查询编辑完成,取到编辑结果
  • 步骤22: 完成
sequenceDiagram
    participant 客户端 as 客户端
    participant 平台 as Nuwa 平台

    客户端->>平台: 1. 鉴权 (/web/apiKey/auth)
    平台-->>客户端: 2. 返回token

    客户端->>平台: 3. 获取声音列表 (/web/model/voice/list)
    平台-->>客户端: 4. 返回声音列表

    客户端->>客户端: 5. 选取一个声音,记录 声音模型名称,声音名称,声音类型

    客户端->>平台: 6. 创建形象(/web/model/figure/create)
    平台-->>客户端: 7. 返回形象ID

    客户端->>平台: 8. 使用提示词生成一张图片(/web/model/submitTask)
    客户端->>客户端: 9. 查询图片生成状态(/web/model/submitTask/query)
    客户端->>客户端: 10. 查询图片生成完成,取到图片URL

    客户端->>平台: 11. 使用提示词和图片URL生成视频(/web/model/submitTask)
    客户端->>客户端: 12. 查询视频生成状态(/web/model/submitTask/query)
    客户端->>客户端: 13. 查询视频生成完成,取到视频URL

    客户端->>平台: 14. 根据视频URL,声音相关信息编辑形象(/web/model/figure/update),
    平台-->>客户端: 15. 返回请求ID
    客户端->>客户端: 16. 查询编辑状态(/web/model/submitTask/query)
    客户端->>客户端: 17. 查询编辑完成,取到编辑结果

    客户端->>平台: 18. 查询角色列表(/web/model/role/list)
    平台-->>客户端: 19. 返回角色列表
    客户端->>客户端: 20. 选取一个角色,记录 角色ID,角色名称,角色类型

    客户端->>平台: 21. 创建智能体(/web/model/digitalHuman/create)
    平台-->>客户端: 22. 返回智能体ID

    客户端->>平台: 23. 根据形象ID, 角色信息编辑智能体(/web/model/digitalHuman/update),
    平台-->>客户端: 24. 返回请求ID
    客户端->>客户端: 25. 查询编辑完成,取到编辑结果

    客户端->>客户端: 完成

3. 数字人创作协议详解

本节将详细介绍NuwaAI平台提供的数字人创作协议,包括鉴权、文件管理、生图/生视频、声音创作、形象创作和智能体创作等接口。

3.1 根据API Key获取Token

POST /web/apiKey/auth

请求示例

curl -X POST https://api.nuwaai.com/web/apiKey/auth \
  -H 'Content-Type: application/json' \
  -d '{
  "secretKey": "sk-aEr4mRLm9TTBe2_E-LwHNppQ6BhXL3DNce5_1xfdSPN_-LFOnyJHr67wgca1KwcI"
}'

返回示例

{
  "code": 0,
  "msg": null,
  "data": "MnTjgFHRfslJov-PG9yNdKtGaxPicW06VKCRCt5-zuAh_YA0ECkp9cbFCR8kuK50EgSPFjtabTkAtR-1fNFLUoa-G7o3301t4zIem82yn2Sj5iglV-GDU3OA7pwaZff_"
}

请求参数说明

参数名参数类型是否必填参数说明
secretKeyString是API key

响应参数说明

参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataStringtoken

3.2 文件管理接口

3.2.1 文件上传

POST /web/web-file/upload

请求示例
curl -X POST https://api.nuwaai.com/web/web-file/upload \
-H 'Authorization: Bearer d8zKE2Wne0ooQ8y9RrW77lfXreNbWDuQ_njsBmrQEU26u1Wtkg7c0PrQUog6sG-WmkO7cnFHX8wG-_m9WTx7Ljdeag8bJj_bR4JMUO8SlCQFfhiWJv7Wsn5nQKb_aVzO' \
  -H 'Content-Type: multipart/form-data' \
 --form 'file=@"D:\\document\\test\\test001.jpeg"'
返回示例
{
    "code": 0,
    "msg": null,
    "data": {
        "bucketName": "nuwa",
        "fileName": "78/202512/20251202/5c0b16e1c89d4ff9ae9b93f775a722f6.jpeg",
        "url": "/nuwa/78/202512/20251202/5c0b16e1c89d4ff9ae9b93f775a722f6.jpeg"
    }
}

请求参数说明
参数名参数类型是否必填参数说明
fileMultipartFile是文件
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据
bucketNameString桶名
fileNameStringoss中的文件名
urlStringoss中的路径

3.2.2 文件删除

DELETE /web/web-file/deleteFile

请求示例
curl -X DELETE https://api.nuwaai.com/web/web-file/deleteFile?filePath=%2Fnuwa%2F78%2F202512%2F20251202%2F5c0b16e1c89d4ff9ae9b93f775a722f6.jpeg \
  -H 'Authorization: Bearer x-Snc8HAJKMcV6Rt6NYqqL-biS3jbOJIwuhAZl84k2qjJi84njFsOi6ibrFRn5XDN4ZyvZBGQrE4K0u5s0i7ovQc1QecoFKC8HIlbtWUWy89t6Ay8YhYpsPb_gt4XvaA'
返回示例
 {
  "code": 0,
  "msg": null,
  "data": true
}

请求参数说明
参数名参数类型是否必填参数说明
filePathString是oss中的文件路径
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataBooleantrue : 成功,false:失败

3.2.3 获取文件预览地址

GET /web/document/getDownPreSignedUrl

请求示例
curl -X GET https://api.nuwaai.com/web/document/getDownPreSignedUrl?filename=134%2Ffigure%2F1947499417004638210%2Fbe367e3322de4b0eb857aaa62ddd3e46.mp4 \
  -H 'Authorization: Bearer x-Snc8HAJKMcV6Rt6NYqqL-biS3jbOJIwuhAZl84k2qjJi84njFsOi6ibrFRn5XDN4ZyvZBGQrE4K0u5s0i7ovQc1QecoFKC8HIlbtWUWy89t6Ay8YhYpsPb_gt4XvaA'
  
返回示例
{
  "code": 0,
  "msg": null,
  "data": "https://nuwa-ai.oss-cn-shenzhen.aliyuncs.com/134/figure/1947499417004638210/be367e3322de4b0eb857aaa62ddd3e46.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20251202T025318Z&X-Amz-SignedHeaders=host&X-Amz-Expires=518399&X-Amz-Credential=YHenriLQRiAqWFbmnZgQ%2F20251202%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=93e949dd325710726103601e661b9bb8b517abcc830fc783388fcd067ecee586"
}

请求参数说明
参数名参数类型是否必填参数说明
filenameString是oss中的文件名
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataString文件预览地址

3.2.4 文件下载

GET /web/web-file/download

请求示例
 
curl -X GET https://api.nuwaai.com/web/web-file/download?url=%2Fnuwa%2F134%2Ffigure%2F1947499417004638210%2Fbe367e3322de4b0eb857aaa62ddd3e46.mp4 \
  -H 'Authorization: Bearer x-Snc8HAJKMcV6Rt6NYqqL-biS3jbOJIwuhAZl84k2qjJi84njFsOi6ibrFRn5XDN4ZyvZBGQrE4K0u5s0i7ovQc1QecoFKC8HIlbtWUWy89t6Ay8YhYpsPb_gt4XvaA'
返回示例


请求参数说明
参数名参数类型是否必填参数说明
urlString是oss中的文件地址

3.3 生图/生视频接口

3.3.1 文生图

POST /web/model/submitTask

请求示例

curl -X POST https://api.nuwaai.com/web/model/submitTask \
  -H 'Authorization: Bearer d8zKE2Wne0ooQ8y9RrW77lfXreNbWDuQ_njsBmrQEU26u1Wtkg7c0PrQUog6sG-WmkO7cnFHX8wG-_m9WTx7Ljdeag8bJj_bR4JMUO8SlCQFfhiWJv7Wsn5nQKb_aVzO' \
  -H 'Content-Type: application/json' \
  -d '{
  "type": "text2img",
  "forwardPrompt": "生成一张在海边散步的美女图片",
  "bizId": 1995841869673639938,
  "from": "1",
  "aspectRatio": "16:9",
  "model": "doubao-seedream-4-5-251128"
}'
返回示例
{
  "code": 0,
  "msg": null,
  "data": "0be340e8bfd4405fab420a02ac3150d1"
}

请求参数说明
参数名参数类型是否必填参数说明
typeString是生成类型(img2img:图生图,text2img:文生图,img2video:图生视频)
forwardPromptString是正向提示词
bizIdLong是形象或才艺Id
fromString是来源(1:形象美化,2:才艺美化,3:创建数字人,4:生成形象动作视频,5:生成才艺动作视频)
modelString是模型Id(文生图可选项:gemini-3-pro-image-preview,gemini-3.1-flash-image-preview,doubao-seedream-4-0-250828,doubao-seedream-4-5-251128,doubao-seedream-5-0-260128)
aspectRatioString否生成图片的宽高比(可选:16:9,9:16,默认:16:9)
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataString请求Id

3.3.2 图生图

POST /web/model/submitTask

请求示例
curl -X POST https://api.nuwaai.com/web/model/submitTask \
  -H 'Authorization: Bearer d8zKE2Wne0ooQ8y9RrW77lfXreNbWDuQ_njsBmrQEU26u1Wtkg7c0PrQUog6sG-WmkO7cnFHX8wG-_m9WTx7Ljdeag8bJj_bR4JMUO8SlCQFfhiWJv7Wsn5nQKb_aVzO' \
  -H 'Content-Type: application/json' \
  -d '{
  "type": "img2img",
  "forwardPrompt": "生成一张在海边散步的美女图片",
  "bizId": 1995841869673639938,
  "from": "1",
  "aspectRatio": "16:9",
  "model": "doubao-seedream-4-5-251128",
"path": "/nuwa/78/figure/1995841869673639938/58eafbb780964614bc5d7b4761211517.jpg"
}'
返回示例
{
  "code": 0,
  "msg": null,
  "data": "0be340e8bfd4405fab420a02ac3150d1"
}

请求参数说明
参数名参数类型是否必填参数说明
typeString是生成类型(img2img:图生图,text2img:文生图,img2video:图生视频)
forwardPromptString是正向提示词
bizIdLong是形象或才艺Id
fromString是来源(1:形象美化,2:才艺美化,3:创建数字人,4:生成形象动作视频,5:生成才艺动作视频)
modelString是模型Id(文生图可选项:gemini-3-pro-image-preview,gemini-3.1-flash-image-preview,doubao-seedream-4-0-250828,doubao-seedream-4-5-251128,doubao-seedream-5-0-260128)
aspectRatioString否生成图片的宽高比(可选:16:9,9:16,默认:16:9)
pathString是Oss中参考图片地址
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataString请求Id

3.3.3 图生视频

POST /api/order/detail?id=557899

请求示例
curl -X POST https://api.nuwaai.com/web/model/submitTask \
  -H 'Authorization: Bearer d8zKE2Wne0ooQ8y9RrW77lfXreNbWDuQ_njsBmrQEU26u1Wtkg7c0PrQUog6sG-WmkO7cnFHX8wG-_m9WTx7Ljdeag8bJj_bR4JMUO8SlCQFfhiWJv7Wsn5nQKb_aVzO' \
  -H 'Content-Type: application/json' \
  -d '{
  "type": "img2video",
  "forwardPrompt": "生成一张在海边散步的美女图片",
  "bizId": 1995841869673639938,
  "from": "1",
  "videoTime":5,
  "path": "/nuwa/78/figure/1995841869673639938/58eafbb780964614bc5d7b4761211517.jpg"
}'
返回示例
{
  "code": 0,
  "msg": null,
  "data": "0be340e8bfd4405fab420a02ac3150d1"
}

请求参数说明
参数名参数类型是否必填参数说明
typeString是生成类型(img2img:图生图,text2img:文生图,img2video:图生视频)
forwardPromptString是正向提示词
bizIdLong是形象或才艺Id
fromString是来源(1:形象美化,2:才艺美化,3:创建数字人,4:生成形象动作视频,5:生成才艺动作视频)
videoTimeString是视频时长(单位:秒),可选范围[4,10]
pathString是Oss中参考图片地址
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataString请求Id

3.3.4 查询生图/生视频结果

POST /web/model/queryTask

请求示例
curl -X POST https://api.nuwaai.com/web/model/queryTask \
  -H 'Authorization: Bearer Cc-QNbhsWbwc7NcQVr0-NuCQl8NVT6JxbTTi010yDvx0C-w18FmkELIZL5G7E77uRSnfGt7uX9rXjvcb_ee6cfTyNLIYWwDrr71oOJFdwO18HTXf63ca1vWwSS1imjfZ' \
  -H 'Content-Type: application/json' \
  -d '{
  "requestId": "330937c2796b417c9ebd3bf72853ad39",
  "lastReq": 0
}'
返回示例
{
  "code": 0,
  "msg": null,
  "data": {
    "status": "done",
    "data": {
      "requestId": "6fa929b620b74dbabe90bade8d967f7a",
      "thumbnailPath": "/pub-nuwa/78/figure/1995841869673639938/a5e9d52675be4a0da036a8093e3ab1d0.jpg",
      "scenePath": "/nuwa/78/figure/1995841869673639938/58eafbb780964614bc5d7b4761211517.jpg",
      "watermarkUrl": "/nuwa/78/figure/1995841869673639938/81ab006fee864635b63b35499216f383.jpg",
      "videoPath": null,
      "userId": "78",
      "from": "1"
    }
  }
}

请求参数说明
参数名参数类型是否必填参数说明
requestIdString是请求Id
lastReqInteger是是否最后一次请求(0:否,1:是)
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据
数据对象属性
statusString处理状态(running:处理中,done:处理完成)
dataObject处理结果数据
requestIdString请求Id
userIdLong用户Id
fromString来源(1:形象美化,2:才艺美化,3:创建数字人,4:生成形象动作视频,5:生成才艺动作视频)
videoPathString生成的视频路径
scenePathString生成的图片路径
thumbnailPathString生成的缩略图路径
watermarkUrlString生成的带水印的图片路径

3.4 数字人声音创作接口

3.4.1 创作声音模型

POST /webhp/humanAgent/voiceSet

请求示例
curl -X POST https://api.nuwaai.com/webhp/humanAgent/voiceSet \
-H 'Authorization: Bearer aNKOUvxiG7aeNM-_IDWMnmPo-aGYiqKPXDx341SI1oynyXb8PH3accwurofBAwiXhwXXZIpz1Pvsc6yAfRJ51qNM-mYs8W4odih8DhFZjZu7B7Ko7OkHr1hEOy7Mu89X' \
-H 'Content-Type: multipart/form-data; boundary=--------------------------906665457628847285063471' \
--form 'file=@"D:\\tmp\\voice\\温柔小雅_.wav"' \
--form 'text="这天气真的热啊,衣服刚晾完就在琢磨晚饭,是煮点面条还是蒸个米饭炒个小菜?先不想了待会儿再说吧。"'
返回示例
{
    "code": 200,
    "model": [
        {
            "version": "1",
            "name": "speech:声音克隆__e4ca50ff",
            "url": "/nuwa-ai/4000170/voice/f2656220c9654cb292ddf6091e56f4b3.wav"
        },
        {
            "version": "3",
            "name": "index:声音克隆__dfb303370fc24d70b328593d4621ae3c",
            "url": "/nuwa-ai/4000170/voice/ba3d776aaf7e4ee1951ee03a47b91f21.wav"
        }
    ]
}

请求参数说明
参数名参数类型是否必填参数说明
fileMultipartFile是音频文件
textString是音频文本内容
响应参数说明
参数名参数类型参数说明
codeInteger200:请求成功,非200 :请求失败
modelArray声音模型列表
model 对象属性
versionString1:支持多国语言,3:仅支持中文
nameString声音模型名称
urlStringoss中声音模型路径

3.4.2 克隆声音

POST /web/voice/clone

请求示例

curl -X POST https://api.nuwaai.com/web/voice/clone \
  -H 'Authorization: Bearer x-Snc8HAJKMcV6Rt6NYqqL-biS3jbOJIwuhAZl84k2qjJi84njFsOi6ibrFRn5XDN4ZyvZBGQrE4K0u5s0i7ovQc1QecoFKC8HIlbtWUWy89t6Ay8YhYpsPb_gt4XvaA' \
  -H 'Content-Type: application/json' \
  -d '{
    "voiceName": "A0012",
    "content": "这天气真的热啊,衣服刚晾完就在琢磨晚饭,是煮点面条还是蒸个米饭炒个小菜?先不想了待会儿再说吧。",
    "voiceType": "5",
    "featureList": [
      "温柔体贴",
    "甜美可爱"
    ],
    "model": [
        {
            "version": "1",
            "name": "speech:声音克隆__e4ca50ff",
            "url": "/nuwa-ai/4000170/voice/f2656220c9654cb292ddf6091e56f4b3.wav"
        },
        {
            "version": "3",
            "name": "index:声音克隆__dfb303370fc24d70b328593d4621ae3c",
            "url": "/nuwa-ai/4000170/voice/ba3d776aaf7e4ee1951ee03a47b91f21.wav"
        }
    ],
    "sex": "2",
    "voiceTime": 17,
    "age": "1"
}'
返回示例
{
    "code": 0,
    "msg": null,
    "data": true
}

请求参数说明
参数名参数类型是否必填参数说明
voiceNameString是声音显示名称
contentString是声音文本内容
voiceTypeString是声音类型(3:豆包,5:复刻)
sexString是性别(1:男,2:女,3:中性)
ageString是年龄(1:青年,2:中年,3:老年,4:儿童)
voiceTimeInteger是声音时长(单位:秒)
featureListArray否声音特征
modelArray是声音模型
model 对象属性
versionString是1:支持多国语言,3:仅支持中文
nameString是声音模型名称
urlString是oss中声音模型路径
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataBooleantrue :成功,false:失败

3.4.3 删除声音

DELETE /web/voice/delete/{id}

请求示例
curl -X DELETE https://api.nuwaai.com/web/voice/delete/1935958397612609538 \
  -H 'Authorization: Bearer x-Snc8HAJKMcV6Rt6NYqqL-biS3jbOJIwuhAZl84k2qjJi84njFsOi6ibrFRn5XDN4ZyvZBGQrE4K0u5s0i7ovQc1QecoFKC8HIlbtWUWy89t6Ay8YhYpsPb_gt4XvaA'
返回示例
{
  "code": 0,
  "msg": null,
  "data": true
}

请求参数说明
参数名参数类型是否必填参数说明
idLong是声音Id
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataBooleantrue :成功,false:失败

3.4.4 声音列表

POST /web/voice/voiceList

请求示例
curl -X POST https://api.nuwaai.com/web/voice/voiceList \
  -H 'Authorization: Bearer x-Snc8HAJKMcV6Rt6NYqqL-biS3jbOJIwuhAZl84k2qjJi84njFsOi6ibrFRn5XDN4ZyvZBGQrE4K0u5s0i7ovQc1QecoFKC8HIlbtWUWy89t6Ay8YhYpsPb_gt4XvaA' \
  -H 'Content-Type: application/json' \
  -d '{
    "type": 1,
    "size": 12,
    "current": 2,
    "feature": "",
    "age": "",
    "voiceName": ""
}'
返回示例
{
  "code": 0,
  "msg": null,
  "data": {
    "records": [
      {
        "createTime": "2025-08-12 15:00:50",
        "updateTime": "2025-08-12 15:00:50",
        "voiceId": "1955162543697666049",
        "voiceName": "热血青年",
        "modeName": "index:测试1__06bd8d06",
        "sex": "1",
        "age": "1",
        "voiceType": "5",
        "feature": "大气活力",
        "path": "/pub-nuwa/admin/audio/284ea5be2345470cbffef3aceecde81f.wav",
        "systemFlag": "1",
        "featureList": [
          "大气活力"
        ]
      },
      {
        "createTime": "2025-08-12 14:59:41",
        "updateTime": "2025-08-12 14:59:41",
        "voiceId": "1955162254982750210",
        "voiceName": "少儿故事",
        "modeName": "index:少儿故事__1b7293b3",
        "sex": "1",
        "age": "4",
        "voiceType": "5",
        "feature": "亲和力强",
        "path": "/pub-nuwa/admin/audio/d5077c655c5e4dc3b35eb93e7d74b491.wav",
        "systemFlag": "1",
        "featureList": [
          "亲和力强"
        ]
      }
    ],
    "total": 14,
    "size": 2,
    "current": 2,
    "pages": 7
  }
}

请求参数说明
参数名参数类型是否必填参数说明
sizeLong是每页显示条数
currentLong是当前页(从1开始计数)
typeInteger是查询类型(1:平台声音,2:我克隆的声音)
ageString否年龄(1:青年,2:中年,3:老年,4:儿童)
voiceNameString否声音显示名称
featureString否声音特征
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据
recods 属性
createTimeLocalDateTime创建时间
updateTimeLocalDateTime更新时间
voiceIdLong声音id
voiceNameString声音显示名称
modeNameString声音模型名称
sexString性别(1:男,2:女,3:中性)
ageString年龄(1:青年,2:中年,3:老年,4:儿童)
voiceTimeInteger声音时长(单位:秒)
voiceTypeString声音类型(3:豆包,5:复刻)
featureString声音特征
pathString声音路径
systemFlagString声音权限(1:公开可见,2:仅个人可见)
featureListArray声音特征列表
分页参数
totalLong总记录数
sizeLong每页显示条数
currentLong当前页(从1开始计数)
pagesLong总页数

3.5 数字人形象创作接口

3.5.1 创建形象

POST /web/figure/create

请求示例
curl -X POST https://api.nuwaai.com/web/figure/create \
  -H 'Authorization: Bearer x-Snc8HAJKMcV6Rt6NYqqL-biS3jbOJIwuhAZl84k2qjJi84njFsOi6ibrFRn5XDN4ZyvZBGQrE4K0u5s0i7ovQc1QecoFKC8HIlbtWUWy89t6Ay8YhYpsPb_gt4XvaA' \
  -H 'Content-Type: application/json' \
  -d '{
  "figureName": "A042"
}'
返回示例
{
  "code": 0,
  "msg": null,
  "data": {
    "createBy": "18672393036",
    "createTime": "2025-12-02 21:05:57",
    "updateBy": "18672393036",
    "updateTime": "2025-12-02 21:05:57",
    "figureId": "1995841869673639938",
    "figureName": "A042",
    "status": "0",
    "systemFlag": "2",
    "client": "pc",
    "channel": "natural",
    "userId": "78"
  }
}

请求参数说明
参数名参数类型是否必填参数说明
figureNameString是形象名称
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据
形象对象属性
figureIdLong形象id
figureNameString形象名称
statusString形象状态(0:待完善资料,1:创建中,2:创建成功,3:创建失败)
systemFlagString形象权限(1:公开可见,2:仅个人可见)
userIdLong用户Id
createByString创建人
updateByString更新人
updateTimeLocalDateTime更新时间
clientString客户端
channelString渠道

3.5.2 修改形象

PUT /web/figure/edit

请求示例
curl -X PUT https://api.nuwaai.com/web/figure/edit \
  -H 'Authorization: Bearer x-Snc8HAJKMcV6Rt6NYqqL-biS3jbOJIwuhAZl84k2qjJi84njFsOi6ibrFRn5XDN4ZyvZBGQrE4K0u5s0i7ovQc1QecoFKC8HIlbtWUWy89t6Ay8YhYpsPb_gt4XvaA' \
  -H 'Content-Type: application/json' \
  -d '{
    "figureName": "A042",
    "figureType": "2",
    "startPath": null,
    "videoPath": "/nuwa-ai/4000170/figure/1995841607195533313/995a0fdfe22d483ebca42c54c0ae5014.mp4",
    "voiceType": "5",
    "age": "1",
    "sex": "2",
    "voiceName": null,
    "modeName": "index:新闻女主播__d67c8ff2",
    "displayName": "新闻女主播",
    "figureId": "1995841607195533313",
    "style": "古风",
    "actionList": []
}'
返回示例
{
    "code": 0,
    "msg": null,
    "data": "db5945deccd24ad2bf13687b94c585d8"
}

请求参数说明
参数名参数类型是否必填参数说明
figureIdLong是形象Id
figureNameString是形象名称
videoPathString是oss中的视频路径
voiceTypeString是声音类型(3:豆包,5:复刻)
modeNameString是声音模型名称
displayNameString是声音显示名称
voicePathString否声音文件路径
styleString否风格名称
ageString是年龄(1:青年,2:中年,3:老年,4:儿童)
sexString是性别(1:男,2:女,3:中性)
actionListArray否形象动作视频列表
动作视频对象属性
idLong否动作Id
actionTypeString是动作类型(0:开场白,1:情感表达,2:表演)
videoPathString是Oss中动作视频路径
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataString请求Id,根据这个Id可以查询形象模型的生成状态

3.5.3 删除形象

DELETE /web/figure/delete/{id}

请求示例
curl -X DELETE https://api.nuwaai.com/web/figure/delete/1995841607195533313 \
  -H 'Authorization: Bearer x-Snc8HAJKMcV6Rt6NYqqL-biS3jbOJIwuhAZl84k2qjJi84njFsOi6ibrFRn5XDN4ZyvZBGQrE4K0u5s0i7ovQc1QecoFKC8HIlbtWUWy89t6Ay8YhYpsPb_gt4XvaA'
返回示例
 {
    "code": 0,
    "msg": null,
    "data": true
}

请求参数说明
参数名参数类型是否必填参数说明
idLong是形象Id
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataBooleantrue: 成功,false:失败

3.5.4 形象列表

POST /web/figure/figureList

请求示例
curl -X POST https://api.nuwaai.com/web/figure/figureList \
  -H 'Authorization: Bearer oSBvPLPvYl2emsnvOP_Vbzf_pfLb0V8TiRSuBYvbvxU00YObhaUbf4yk0AD1IVcb7_NX1LQddpW1AIqw7geXWLzU73Yc5D_v-ttzhUhm_qtazrFjoQZlze0mdTkoWNvp' \
  -H 'Content-Type: application/json' \
  -d '{
  "figureName": "",
  "type": 2,
  "age": "",
  "sex": "",
  "style": "",
  "size": 2,
  "current": 1
}'
返回示例
{
  "code": 0,
  "msg": null,
  "data": {
    "records": [
      {
        "createTime": "2025-12-02 21:05:57",
        "updateTime": "2025-12-02 21:05:57",
        "figureId": "1995841869673639938",
        "figureName": "A042",
        "thumbnailPath": /pub-nuwa/47/figure/1996947256201060354/53e2bc648edb4b68918d8936251544da.jpg,
        "status": "0",
        "systemFlag": "2",
        "storage": "0",
        "userId": "78",
        "nickName": "王白玄龟"
      },
      {
       "createTime": "2025-11-28 12:02:40",
       "updateTime": "2025-11-28 12:06:29",
       "figureId": "1994255593560322050",
        "figureName": "星辰ixYb",
        "thumbnailPath": "/pub-nuwa/78/figure/1994255593560322050/262f413c69914f718c30c9fedd53d692.jpg",
        "status": "2",
        "systemFlag": null,
       "storage": "1584116",
       "userId": "78",
        "nickName": "王白玄龟"
       
      }
    ],
    "total": 8,
    "size": 2,
    "current": 1,
    "pages": 4
  }
}

请求参数说明
参数名参数类型是否必填参数说明
currentLong是当前页(从1开始)
sizeLong是每页显示条数
typeInteger是查询类型(1:平台形象,2:我的形象)
ageString否年龄(1:青年,2:中年,3:老年,4:儿童)
sexString否性别(1:男,2:女,3:中性)
figureNameString否形象名称
styleString否形象风格
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataArray接口响应数据
records对象属性
figureIdLong形象Id
figureNameString形象名称
userIdLong用户Id
nickNameString用户昵称
thumbnailPathString形象缩略图路径
storageLong占用存储空间大小(单位:Byte)
statusString形象状态(0:待完善资料,1:创建中,2:创建成功,3:创建失败)
createTimeLocalDateTime创建时间
updateTimeLocalDateTime更新时间

3.5.5 形象详情

GET /web/figure/detail/{figureId}

请求示例
curl -X GET https://api.nuwaai.com/web/figure/detail/1994255593560322050 \
  -H 'Authorization: Bearer oSBvPLPvYl2emsnvOP_Vbzf_pfLb0V8TiRSuBYvbvxU00YObhaUbf4yk0AD1IVcb7_NX1LQddpW1AIqw7geXWLzU73Yc5D_v-ttzhUhm_qtazrFjoQZlze0mdTkoWNvp'
返回示例
{
  "code": 0,
  "msg": null,
  "data": {
    "createBy": "",
    "createTime": "2025-11-28 12:02:40",
    "updateBy": "",
    "updateTime": "2025-11-28 12:06:29",
    "delFlag": "0",
    "figureId": "1994255593560322050",
    "figureName": "星辰ixYb",
    "age": "1",
    "sex": "2",
    "style": null,
    "startPath": "/nuwa/78/figure/1994255593560322050/13d93328e5c04802b22bb77378f69097.jpg",
    "thumbnailPath": "/pub-nuwa/78/figure/1994255593560322050/262f413c69914f718c30c9fedd53d692.jpg",
    "previewPath": null,
    "figurePath": "/nuwa/78/figure/1994255593560322050/model.mp4",
    "videoPath": "/nuwa/78/figure/1994255593560322050/0cc04aa4c8224a6b86dfd8a48e588665.mp4",
    "voicePath": "",
    "displayName": "中二少女",
    "modeName": "index:飞销__cbbcc4ec",
    "voiceType": "5",
    "generaType": "3",
    "preStatus": "0",
    "status": "2",
    "systemFlag": "2",
    "failReason": "",
    "storage": "1584116",
    "client": "pc",
    "channel": "natural",
    "userId": "78"
  }
}

请求参数说明
参数名参数类型是否必填参数说明
figureIdLong是形象Id
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据
形象对象属性
figureIdLong形象id
figureNameString形象名称
ageString年龄(1:青年,2:中年,3:老年,4:儿童)
sexString性别(1:男,2:女,3:中性)
styleString形象风格
thumbnailPathString缩略图路径
previewPathString形象预览路径
figurePathString形象模型路径
videoPathString视频路径
voicePathString声音文件路径
displayNameString声音显示名称
modeNameString声音模型名称
voiceTypeString声音类型(3:豆包,5:复刻)
generaTypeString生成模型的类型(1:根据图片生成,2:根据参考帧生成,3:根据视频生成)
preStatusString形象预览状态(1:创建中,2:创建成功,3:创建失败)
statusString形象状态(0:待完善资料,1:创建中,2:创建成功,3:创建失败)
systemFlagString形象权限(1:公开可见,2:仅个人可见)
failReasonString形象模型创建失败的原因
actionsString动作列表
clientString客户端
channelString渠道
storageLong占用存储空间大小(单位:Byte)
userIdLong用户Id
delFlagString删除标记,1:已删除,0:正常

3.6 智能体创作接口

3.6.1 创建智能体

POST /web/digital/user/create

请求示例
curl -X POST https://api.nuwaai.com/web/digital/user/create \
  -H 'Authorization: Bearer DH4X6eBEvzBwZ-mkIv7cu0PTxTYhxXPK0-HfBXRzI88byaMSRkmlqsNbtGQGJjYvc5NgIlyjFFOLFy1-q17Ti48mYhg6zFgD0hOCz8D1jdMIJcAhwEDoGMGhB_AbpUhv' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "A020"
}'
返回示例
{
  "code": 0,
  "msg": null,
  "data": {
    "createBy": "18672393036",
    "createTime": "2025-12-04 21:29:59",
    "updateBy": "18672393036",
    "updateTime": "2025-12-04 21:29:59",
    "delFlag": "0",
    "id": "1996572693326966785",
    "name": "A020",
    "status": "0",
    "client": "pc",
    "channel": "natural",
    "userId": "78",
    "systemFlag": "2"
  }
}

请求参数说明
参数名参数类型是否必填参数说明
nameString是智能体名称
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据
智能体对象属性
idLong智能体Id
nameString智能体名称
statusString智能体状态(0:待完善资料,1:创建中,2:创建成功,3:创建失败)
clientString客户端(pc,h5)
channelString渠道
userIdLong用户Id
systemFlagString智能体权限(1:公开可见,2:仅个人可见)
createByString创建人
createTimeLocalDateTime创建时间
updateByString更新人
updateTimeLocalDateTime更新时间
delFlagString删除标记,1:已删除,0:正常

3.6.2 更新智能体

PUT /web/digital/user/edit

请求示例
curl -X PUT https://api.nuwaai.com/web/digital/user/edit \
  -H 'Authorization: Bearer DH4X6eBEvzBwZ-mkIv7cu0PTxTYhxXPK0-HfBXRzI88byaMSRkmlqsNbtGQGJjYvc5NgIlyjFFOLFy1-q17Ti48mYhg6zFgD0hOCz8D1jdMIJcAhwEDoGMGhB_AbpUhv' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "A019",
    "age": "1",
    "sex": "1",
    "applicationScenarios": "5",
    "thumbnailPath": "/pub-nuwa/4000170/figure/1993263270656843778/f754be98e8c4420693c95519d0726a5a.jpg",
    "figurePath": "/nuwa-ai/4000170/figure/1993263270656843778/model.mp4",
    "shapeMouth": 1.5,
    "speedSpeech": 1,
    "specialty": "- 持有营销传播专业资格证书和品牌推广师认证\n- 在创新科技有限公司担任品牌营销大使2年,负责品牌形象推广和产品宣传\n- 擅长品牌故事讲述、产品特色展示、客户关系维护、活动现场推广\n- 成功参与过创新科技有限公司的多次重大营销活动和产品发布会\n- 在社交媒体平台拥有10万粉丝,品牌传播影响力显著",
    "personality": "- 热情、亲和、自信、表达力强、具有强烈的品牌归属感\n- 沟通风格:语言生动有感染力,善于用真实体验和情感共鸣推广品牌",
    "languageStyle": "根据场合灵活适配非正式口语化和正式官方话\n- 词汇丰富度:品牌相关术语准确,善用生活化语言和情感化表达传递品牌价值。",
    "goal": "- 主要目标:推广创新科技有限公司品牌形象和智能手机产品",
    "recommend1": "",
    "recommend2": "",
    "recommend3": "",
    "remark": "",
    "roleName": "品牌营销大使",
    "roleId": "1941365527974854658",
    "skillList": [
        {
            "skillName": "PPT演讲",
            "enabled": "1"
        },
        {
            "skillName": "知识问答",
            "enabled": "1"
        },
        {
            "skillName": "用户线索记录",
            "enabled": "1"
        }
    ],
    "figureId": "1993263270656843778",
    "id": "1996571773882441730"
}'
返回示例
{
    "code": 0,
    "msg": null,
    "data": "aced3bf3189c4576817fd590a6d397b7"
}

请求参数说明
参数名参数类型是否必填参数说明
idLong是智能体Id
nameString是智能体名称
ageString是智能体年龄
sexString是性别(1:男,2:女,3:中性)
figureIdLong是形象Id
figurePathString是形象模型路径
thumbnailPathString是形象缩率图
shapeMouthString是嘴型
speedSpeechString是语速
roleIdLong是角色Id
roleNameString是角色名称
specialtyString否专业背景
personalityString否性格特点
languageStyleString否语言风格
goalString否对话目标
recommend1String否推荐提问1
recommend2String否推荐提问2
recommend3String否推荐提问3
remarkString否开场白
applicationScenariosString否应用场景编号
skillListArray否技能列表
技能对象属性
skillNameString是技能名称
enabledString是是否启用(1:启用,0:未启用)
cardListArray否桌面卡片列表
卡片对象属性
cardNameString是卡片名称
enabledString是是否启用(1:启用,0:未启用)
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataString创建智能体模型的任务Id,为空时表示不需要床创建智能体模型,更新绑定的形象模型时才会触发创建智能体模型任务

3.6.3 删除智能体

DELETE /web/digital/user/delete/{id}

请求示例
curl -X DELETE  https://api.nuwaai.com/web/digital/user/delete/1996571773882441730 \
  -H 'Authorization: Bearer DH4X6eBEvzBwZ-mkIv7cu0PTxTYhxXPK0-HfBXRzI88byaMSRkmlqsNbtGQGJjYvc5NgIlyjFFOLFy1-q17Ti48mYhg6zFgD0hOCz8D1jdMIJcAhwEDoGMGhB_AbpUhv'
返回示例
{
    "code": 0,
    "msg": null,
    "data": true
}

请求参数说明
参数名参数类型是否必填参数说明
idLong是智能体Id
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataBooleantrue:成功,false:失败

3.6.4 智能体列表

POST /web/digital/user/digitalList

请求示例
curl -X POST https://api.nuwaai.com/web/digital/user/digitalList \
  -H 'Authorization: Bearer DH4X6eBEvzBwZ-mkIv7cu0PTxTYhxXPK0-HfBXRzI88byaMSRkmlqsNbtGQGJjYvc5NgIlyjFFOLFy1-q17Ti48mYhg6zFgD0hOCz8D1jdMIJcAhwEDoGMGhB_AbpUhv' \
  -H 'Content-Type: application/json' \
  -d '{
    "type": 2,
    "size": 2,
    "current": 1,
    "name": "",
    "age": "",
    "sex": ""
}'
返回示例
{
  "code": 0,
  "msg": null,
  "data": {
    "records": [
      {     
        "createTime": "2025-12-04 21:29:59",
        "updateTime": "2025-12-04 21:29:59",
        "id": "1996572693326966785",
        "name": "A020",
        "status": "0",
        "knowledgeStorage": "0",
        "userId": "78",
        "systemFlag": "2",
        "nickName": "王白玄龟",
      },
      {

        "createTime": "2025-11-27 11:17:02",
        "updateTime": "2025-11-28 11:31:07",
        "id": "1993881722078064641",
        "name": "76d64eac",
        "roleName": "小云",
        "thumbnailPath": "/pub-nuwa/1/figure/1955077707972714497/69c52b2e195444aa973cdf1a94286f69.jpg",
        "status": "2",
        "knowledgeStorage": "0",
        "userId": "78",
        "systemFlag": "2",
        "nickName": "王白玄龟"
      
      }
    ],
    "total": 4,
    "size": 2,
    "current": 1,
    "pages": 2
  }
}

请求参数说明
参数名参数类型是否必填参数说明
typeInteger是查询类型(1:平台数字人,2:我的数字人)
currentLong是当前页(从1开始)
sizeLong是每页记录数
nameString否智能体名称
ageString否年龄(1:青年,2:中年,3:老年,4:儿童)
sexString否性别(1:男,2:女,3:中性)
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据
recordsArray智能体列表
currentLong当前页(从1 开始)
sizeLong每页记录数
totalLong总记录数
pagesLong总页数
智能体对象属性
idLong智能体Id
nameString智能体名称
statusString智能体状态(0:待完善资料,1:创建中,2:创建成功,3:创建失败)
systemFlagString智能体权限(1:公开可见,2:仅个人可见)
userIdLong用户Id
nickNameString用户昵称
knowledgeStorageLong占用空间大小(单位:Byte)
roleNameString角色名称
thumbnailPathString缩略图路径
applicationScenariosNameString应用场景名称
createTimeLocalDateTime创建时间
updateTimeLocalDateTime更新时间

3.6.5 角色列表

GET /web/role/list

请求示例
curl -X GET   https://api.nuwaai.com/web/role/list?roleName=&size=2&current=1 \
  -H 'Authorization: Bearer GmPx7rCB_kZag3yG_0QL9D3Cof6nc4OS1ZHPCl1Nst7Pz13-MlYeOSB8KoToiWtFUx7DbxGYCvod5CWby_wJ6yYL8gPN2XAF2U8N0_ihcNzERa6DHQOlBY1KUkv2Ok4J'
返回示例
{
  "code": 0,
  "msg": null,
  "data": {
    "records": [
      {      
        "createTime": "2025-11-08 20:12:13",
        "updateTime": "2025-11-08 20:12:13",
        "roleId": "1987131038946664449",
        "roleName": "直播带货11",
        "applicationScenarios": "0",
        "language": "1",
        "specialty": "",
        "personality": "",
        "languageStyle": "",
        "goal": "",
        "workThinking": "",
        "modelName": "",

        "skillList": [
          {       
            "skillName": "PPT演讲",    
            "enabled": "1"
          }
        ],
        "nickName": null
      },
      {
      
        "createTime": "2025-11-03 12:06:25",
        "updateTime": "2025-11-08 20:12:03",
        "roleId": "1985196841234313218",
        "roleName": "直播带货",
        "applicationScenarios": "0",
        "language": "0",
        "specialty": "11",
        "personality": "22",
        "languageStyle": "33",
        "goal": "44",
        "workThinking": "55",
        "modelName": "66",
        "description": "77",
        "skillList": [
          {
            "skillName": "知识问答",
            "enabled": "1"
          },
          {
            "skillName": "PPT演讲",
            "enabled": "1"
          },
          {
            "skillName": "文件发送",
            "enabled": "1"
          },
          {
            "skillName": "福利设定",
            "enabled": "1"
          }
        ],
        "nickName": null
      }
    ],
    "total": 22,
    "size": 2,
    "current": 1,
    "pages": 11
  }
}  

请求参数说明
参数名参数类型是否必填参数说明
currentLong是当前页(从1开始)
sizeLong是每页记录数
roleNameString否角色名称
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据
recordsArray角色列表
currentLong当前页(从1 开始)
sizeLong每页记录数
totalLong总记录数
pagesLong总页数
角色对象属性
roleIdLong角色编号
roleNameString角色名称
languageString语种(0:文中,1:英文)
specialtyString专业背景
personalityString性格特征
languageStyleString语言风格
goalString对话目标
nickNameString创建人昵称
applicationScenariosString应用场景编号
workThinkingString工作思维
modelNameString角色模型名称
createTimeLocalDateTime创建时间
updateTimeLocalDateTime更新时间
skillListArray技能列表
技能属性
skillNameString技能名称
enabledString是否启用(1:启用,0:未启用)

3.7 知识库增删改查接口

3.7.1 新增文档信息

POST /web/document/4.0/add

请求示例
curl -X POST https://api.nuwaai.com/web/document/4.0/add \
  -H 'Authorization: Bearer GmPx7rCB_kZag3yG_0QL9D3Cof6nc4OS1ZHPCl1Nst7Pz13-MlYeOSB8KoToiWtFUx7DbxGYCvod5CWby_wJ6yYL8gPN2XAF2U8N0_ihcNzERa6DHQOlBY1KUkv2Ok4J' \
  -H 'Content-Type: application/json' \
  -d '{
  "fileSize": 27451057,
  "digitalUserId": 1996852095362637826,
  "originalFilename": "Nuwaai介绍手册2505-邦彦技术.pdf",
  "description": ""
}'
返回示例
{
    "code": 0,
    "msg": null,
    "data": {
        "documentId": "7131",
        "preUploadUrl": "https://myres.nuwaai.com/nuwa-ai/4000170/knowledge/1996852095362637826/f53c7e92d8aa48e58814dfd93e47f79b.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20251206T032711Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=tkqWx3Hb2WOTUVeXoyJD%2F20251206%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=1340429dcd1a9a228e0e1121cfcb39d0e5f87f0bfa1fda59eed37318a178031e"
    }
}

请求参数说明
参数名参数类型是否必填参数说明
fileSizeLong是文件大小(单位:Byte)
digitalUserIdLong是数字人ID
originalFilenameString是原始文件名称
descriptionString否描述
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据
documentIdLong文档Id
preUploadUrlString预上传地址

3.7.2 导入网站

POST /web/document/importWebsite

请求示例
curl -X POST https://api.nuwaai.com/web/document/importWebsite \
  -H 'Authorization: Bearer GmPx7rCB_kZag3yG_0QL9D3Cof6nc4OS1ZHPCl1Nst7Pz13-MlYeOSB8KoToiWtFUx7DbxGYCvod5CWby_wJ6yYL8gPN2XAF2U8N0_ihcNzERa6DHQOlBY1KUkv2Ok4J' \
  -H 'Content-Type: application/json' \
  -d '{
  "url": "www.nuwaai.com",
  "digitalUserId": 1996852095362637826
}'
返回示例
{
    "code": 0,
    "msg": null,
    "data": "7133"
}

请求参数说明
参数名参数类型是否必填参数说明
urlString是网站地址
digitalUserIdLong是智能体Id
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataLong文档Id

3.7.3 上传知识文档

PUT {preUploadUrl}

请求示例
https://myres.nuwaai.com/nuwa-ai/4000170/knowledge/1996852095362637826/eeb6399027ae49d7a83fe0669f9b30d3.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20251206T072952Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=tkqWx3Hb2WOTUVeXoyJD%2F20251206%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=260ab3c6ee54c9137b80e815f558e8e6c93b4440a421c9a81e53435b8bbab868

请求参数说明
参数名参数类型是否必填参数说明
preUploadUrlString是预上传地址,新增文档信息接口返回,前端直接请求预上传地址接口上传文件

3.7.4 删除知识文档

POST /web/document/removeV2

请求示例
curl -X POST https://api.nuwaai.com/web/document/removeV2 \
  -H 'Authorization: Bearer GmPx7rCB_kZag3yG_0QL9D3Cof6nc4OS1ZHPCl1Nst7Pz13-MlYeOSB8KoToiWtFUx7DbxGYCvod5CWby_wJ6yYL8gPN2XAF2U8N0_ihcNzERa6DHQOlBY1KUkv2Ok4J' \
  -H 'Content-Type: application/json' \
  -d '{
  "digitalUserId": 9007199254740991,
  "docIds": [
    9007199254740991
  ]
}'
返回示例
{
    "code": 0,
    "msg": null,
    "data": null
}

请求参数说明
参数名参数类型是否必填参数说明
digitalUserIdLong是智能体Id
docIdsLong[]是文档Id集合
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据

3.7.5 修改知识文档

POST /web/document/modifyV2

请求示例
curl -X POST https://api.nuwaai.com/web/document/modifyV2?docId=7131&editType=0 \
  -H 'Authorization: Bearer GmPx7rCB_kZag3yG_0QL9D3Cof6nc4OS1ZHPCl1Nst7Pz13-MlYeOSB8KoToiWtFUx7DbxGYCvod5CWby_wJ6yYL8gPN2XAF2U8N0_ihcNzERa6DHQOlBY1KUkv2Ok4J' \
  -H 'Content-Type: multipart/form-data' \
  -F 'file=@test001.jpeg;type=image/jpeg'
返回示例
{
    "code": 0,
    "msg": null,
    "data": null
}

请求参数说明
参数名参数类型是否必填参数说明
fileMultipartFile是知识文档
docIdLong是文档Id
editTypeInteger是文档类型(0:图片/视频,1:文本文档,2:ppt,3: URL)
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据

3.7.6 查看知识文档

GET /web/document/getDocumentById

请求示例
curl -X GET https://api.nuwaai.com/web/document/getDocumentById?docId=7131 \
  -H 'Authorization: Bearer GmPx7rCB_kZag3yG_0QL9D3Cof6nc4OS1ZHPCl1Nst7Pz13-MlYeOSB8KoToiWtFUx7DbxGYCvod5CWby_wJ6yYL8gPN2XAF2U8N0_ihcNzERa6DHQOlBY1KUkv2Ok4J'

返回示例
{
    "code": 0,
    "msg": null,
    "data": {
        "id": "7131",
        "analysisUrl": "4000170/knowledge/1996852095362637826/b6aa31c01ab843f5bd3e9b309e77a294.md",
        "filePath": "4000170/knowledge/1996852095362637826/f53c7e92d8aa48e58814dfd93e47f79b.pdf",
        "type": "pdf",
        "original": "Nuwaai介绍手册2505-邦彦技术.pdf",
        "sendPermission": "1",
        "playPermission": "1",
        "description": null,
        "category": 1,
        "createTime": "2025-12-06 11:27:11",
        "updateTime": "2025-12-06 16:03:09",
        "status": "1",
        "reason": null
    }
}

请求参数说明
参数名参数类型是否必填参数说明
docIdString是文档Id
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据
对象属性
idLong文档Id
analysisUrlString解析后的文件地址
typeString文档类型
originalString原始文件名
sendPermissionString发送权限(0:关闭,1:开启)
playPermissionString播放权限(0:关闭,1:开启)
descriptionString描述
categoryString文档类型(0:图片/视频,1:文本文档,2:ppt,3: URL)
statusString状态(0:解析中,1:解析成功,2:解析失败)
reasonString失败原因
createTimeLocalDateTime上传时间
updateTimeLocalDateTime更新时间

3.7.7 知识列表

GET /web/document/pageV2

请求示例
curl -X GET https://api.nuwaai.com/web/document/pageV2?digitalUserId=1996852095362637826&size=10&current=1&type=web&documentName= \
  -H 'Authorization: Bearer GmPx7rCB_kZag3yG_0QL9D3Cof6nc4OS1ZHPCl1Nst7Pz13-MlYeOSB8KoToiWtFUx7DbxGYCvod5CWby_wJ6yYL8gPN2XAF2U8N0_ihcNzERa6DHQOlBY1KUkv2Ok4J'

返回示例
{
    "code": 0,
    "msg": null,
    "data": {
        "records": [
            {
                "id": "7130",
                "analysisUrl": "4000170/knowledge/1996852095362637826/fb3187e71a5944bba8bd9e4e75b4b65a.md",
                "filePath": "www.nuwaai.com",
                "type": "web",
                "original": "www.nuwaai.com",
                "sendPermission": "1",
                "playPermission": "1",
                "description": null,
                "category": 3,
                "createTime": "2025-12-06 11:17:59",
                "updateTime": "2025-12-06 11:18:42",
                "status": "1",
                "reason": null
            }
        ],
        "total": 1,
        "size": 10,
        "current": 1,
        "pages": 1
    }
}

请求参数说明
参数名参数类型是否必填参数说明
digitalUserIdLong是数字人ID
currentLong是当前页(从1 开始)
sizeLong是每页记录数
typeString否文档类型
documentNameString否文档名称
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据
对象属性
idLong文档Id
analysisUrlString解析后的文件地址
filePathString原始文档路径
typeString文档类型
originalString原始文件名
sendPermissionString发送权限(0:关闭,1:开启)
playPermissionString播放权限(0:关闭,1:开启)
descriptionString描述
categoryString文档类型(0:图片/视频,1:文本文档,2:ppt,3: URL)
statusString状态(0:解析中,1:解析成功,2:解析失败)
reasonString失败原因
createTimeLocalDateTime上传时间
updateTimeLocalDateTime更新时间

3.8 才艺创作接口

3.8.1 创建才艺

POST /web/talent/create

请求示例
curl -X POST https://api.nuwaai.com/web/talent/create \
  -H 'Authorization: Bearer x-Snc8HAJKMcV6Rt6NYqqL-biS3jbOJIwuhAZl84k2qjJi84njFsOi6ibrFRn5XDN4ZyvZBGQrE4K0u5s0i7ovQc1QecoFKC8HIlbtWUWy89t6Ay8YhYpsPb_gt4XvaA' \
  -H 'Content-Type: application/json' \
  -d '{
  "type": "1"
}'
返回示例
{
    "code": 0,
    "msg": null,
    "data": {
        "createBy": "18672393036",
        "createTime": "2025-12-12 09:41:40",
        "updateBy": "18672393036",
        "updateTime": "2025-12-12 09:41:40",
        "delFlag": "0",
        "id": "1999293545418145794",
        "name": "e0bc2e17",
        "type": "1",
        "client": "pc",
        "channel": "natural",
        "userId": "47",
        "systemFlag": "2"
       
    }
}

请求参数说明
参数名参数类型是否必填参数说明
typeString是才艺类型(1:个人演唱,2:个人演讲)
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据
才艺对象属性
createByString创建人
createTimeLocalDateTime创建时间
updateByString更新人
updateTimeLocalDateTime更新时间
idLong才艺Id
nameString才艺名称
typeString才艺类型(1:个人演唱,2:个人演讲)
clientString客户端
channelString渠道
userIdLong用户Id
systemFlagString才艺权限(1:公开可见,2:仅个人可见)

3.8.2 修改才艺

PUT /web/talent/edit

请求示例
curl -X PUT https://api.nuwaai.com/web/talent/edit \
-H 'Authorization: Bearer 8thQxHLFXwpEbub_AYQEMwjqAfMzGmA7DuRTggx28pWKT4ji1xwJ3dn7QePpAdBBTPQz7fgnsMiyMhspQg0_klCP9ci3856nvyaH7Qyvfoo7NdreXDtiupW8iKmbo6Rp'\
  -H 'Content-Type: application/json' \
  -d '{
    "songId": "80",
    "videoPath": "/nuwa-ai/47/talent/1999293545418145794/cb882de8b5fd42c3a9f549c14843df9e.mp4",
    "name": "A032",
    "songPath": "/pub-nuwa/admin/music/192643bf5b154bd6920be4278be36fe6.mp3",
    "type": "1",
    "style": "",
    "songName": "七夕之约",
    "acappella": "/pub-nuwa/admin/music/c615b8a14c15428fbb8fa0c0d79e7227.mp3",
    "songFrom": "1",
    "lyric": "/pub-nuwa/admin/music/79ab6e5076694db0ae00e1655146c9b5.lrc",
    "subtitlesStatus": "0",
    "id": "1999293545418145794"
}'
返回示例
{
    "code": 0,
    "msg": null,
    "data": true
}

请求参数说明
参数名参数类型是否必填参数说明
idLong是才艺编号
nameString是才艺名称
typeString是才艺类型(1:个人演唱,2:个人演讲)
videoPathString是场景视频路径
styleString否风格
songIdLong否音乐Id
songPathString否音乐路径
songNameString否音乐名称
songFromString否音乐来源(1:平台,2:我创作的,3:本地上传)
lyricString否歌词文件路径
subtitlesStatusString是字幕状态(0:不开启,1:开启)
acappellaString否分离的人声音路径
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataBooleantrue:成功,false:失败

3.8.3 删除才艺

DELETE /web/talent/delete/{id}

请求示例
curl -X DELETE https://api.nuwaai.com/web/talent/delete/9007199254740991 \
  -H 'Authorization: Bearer 8thQxHLFXwpEbub_AYQEMwjqAfMzGmA7DuRTggx28pWKT4ji1xwJ3dn7QePpAdBBTPQz7fgnsMiyMhspQg0_klCP9ci3856nvyaH7Qyvfoo7NdreXDtiupW8iKmbo6Rp'
  
返回示例
{
    "code": 0,
    "msg": null,
    "data": true
}

请求参数说明
参数名参数类型是否必填参数说明
idLong是才艺Id
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataBooelantrue:成功,false:失败

3.8.4 生成才艺视频

POST /web/talent/preview

请求示例
curl -X POST https://api.nuwaai.com/web/talent/preview \
 -H 'Authorization: Bearer 8thQxHLFXwpEbub_AYQEMwjqAfMzGmA7DuRTggx28pWKT4ji1xwJ3dn7QePpAdBBTPQz7fgnsMiyMhspQg0_klCP9ci3856nvyaH7Qyvfoo7NdreXDtiupW8iKmbo6Rp'\
  -H 'Content-Type: application/json' \
  -d '{
    "songId": "80",
    "videoPath": "/nuwa-ai/47/talent/1999293545418145794/cb882de8b5fd42c3a9f549c14843df9e.mp4",
    "name": "A032",
    "songPath": "/pub-nuwa/admin/music/192643bf5b154bd6920be4278be36fe6.mp3",
    "type": "1",
    "style": "",
    "songName": "七夕之约",
    "acappella": "/pub-nuwa/admin/music/c615b8a14c15428fbb8fa0c0d79e7227.mp3",
    "songFrom": "1",
    "lyric": "/pub-nuwa/admin/music/79ab6e5076694db0ae00e1655146c9b5.lrc",
    "subtitlesStatus": "0",
    "id": "1999293545418145794"
}'
返回示例
{
    "code": 0,
    "msg": null,
    "data": "a516fb5714484f14bfb4723bbaa9dc0d"
}

请求参数说明
参数名参数类型是否必填参数说明
idLong是才艺编号
nameString是才艺名称
typeString是才艺类型(1:个人演唱,2:个人演讲)
videoPathString是场景视频路径
styleString否风格
songIdLong否音乐Id
songPathString否音乐路径,个人演唱必填,个人演讲非必填
songNameString否音乐名称
songFromString否音乐来源(1:平台,2:我创作的,3:本地上传)
lyricString否歌词文件路径,个人演唱必填,个人演讲非必填
subtitlesStatusString是字幕状态(0:不开启,1:开启)
acappellaString是分离的人声音路径,个人演唱必填,个人演讲非必填
voiceTypeString否声音类型(3:豆包,5:复刻),个人演讲必填,个人演唱非必填
modeNameString否声音模型名称,个人演讲必填,个人演唱非必填
speechTextString否演讲文案,个人演讲必填,个人演唱非必填
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataString请求Id,用于查询才艺是视频生成结果

3.8.5 才艺列表

POST /web/talent/talentList

请求示例
curl -X POST https://myapi.nuwaai.com/web/talent/talentList \
  -H 'Authorization: Bearer 8thQxHLFXwpEbub_AYQEMwjqAfMzGmA7DuRTggx28pWKT4ji1xwJ3dn7QePpAdBBTPQz7fgnsMiyMhspQg0_klCP9ci3856nvyaH7Qyvfoo7NdreXDtiupW8iKmbo6Rp'\
-H 'Content-Type: application/json' \  
  -d '
  {
    "name": "",
    "type": "",
    "current": 1,
    "size": 15,
    "systemFlag": "2"
}
  '
返回示例
{
    "code": 0,
    "msg": null,
    "data": {
        "records": [
          
{  
    "createTime": "2025-12-01 16:02:11",
    "updateTime": "2025-12-01 18:01:55",
    "id": "1995403034264707074",
    "name": "b3baac21",
    "type": "1",
    "thumbnailPath": "/pub-nuwa/4000170/talent/1995403034264707074/0f5bf4fd6e934ab7b3fbdef049505b6c.jpg",
    "preStatus": "0",
    "storage": "4906412",
    "userId": "4000170",
    "nickName": "林墨麟" 
},
{  
    "createTime": "2025-12-01 09:16:14",
    "updateTime": "2025-12-01 09:20:44",
    "id": "1995300872645877762",
    "name": "青春旋律",
    "type": "1",
    "thumbnailPath": "/pub-nuwa/4000170/talent/1995300872645877762/df380a72f7ef4b4bb513ced80e7c544c.jpg",
    "preStatus": "2",
    "storage": "41966629", 
    "userId": "4000170",
    "nickName": "林墨麟"
}
        ],
        "total": 22,
        "size": 2,
        "current": 1,
        "pages": 11
    }
}

请求参数说明
参数名参数类型是否必填参数说明
currentLong是当前页
sizeLong是每页记录数
systemFlagString是权限(1:公开可见,2:仅个人可见)
nameString否才艺名称
typeString否才艺类型(1:个人演唱,2:个人演讲)
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据
recordsArray才艺列表
currentLong当前页(从1 开始)
sizeLong每页记录数
totalLong总记录数
pagesLong总页数
才艺对象属性
idLong才艺Id
nameString才艺名称
typeString才艺类型(1:个人演唱,2:个人演讲)
thumbnailPathString视频缩略图路径
storageLong占用存储空间大小(单位:Byte)
userIdLong用户Id
nickNameString用户昵称
createTimeLocalDateTime创建时间
updateTimeLocalDateTime更新时间

3.8.6 才艺详情

GET /web/talent/detail/{id}

请求示例
curl -X GET https://api.nuwaai.com/web/talent/detail/1993205490860269569' \
  -H 'Authorization: Bearer 7gtVj6W2PtnaYnAwPaGSdPf2H07oMJs9Yxe1RSxonDmPuMiIuRJNb1nc7Tz9vKbBf_byrTvEiufnoYGgapIDL-tjv7bhFaLSA7Zp37CXbI2DcNfyP_eAQFs6uOyCQM7V'\
  -H 'Content-Type: application/json' \
返回示例
{
    "code": 0,
    "msg": null,
    "data": {
      
        "createTime": "2025-11-25 14:29:56",
        "updateTime": "2025-11-25 21:18:30",
        "id": "1993205490860269569",
        "name": "A0012",
        "type": "2",
        "previewPath": "/nuwa-ai/talent/1993205490860269569/video-3f6bacb0400b403d98e1a6b70df7821b.mp4",
        "videoPath": "/nuwa-ai/4000170/talent/1993205490860269569/d6056ccbea144ffaaa2e1cbb6f25b7b7.mp4",
        "thumbnailPath": "/pub-nuwa/4000170/talent/1993205490860269569/14b459fe4ca344f7ba05ef1c68d137bb.jpg",
        "style": "现代",
        "songId": "74",
        "songPath": "/pub-nuwa/admin/music/8c95aa1cee1d4c89b328478b3b50e269.mp3",
        "songFrom": "1",
        "songName": "假如给我三天光明",
        "songVolume": 0.5,
        "subtitlesStatus": "0",
        "labiate": 1.5,
        "acappella": null,
        "lyric": null,
        "soundPath": "/pub-nuwa/admin/audio/571901a4f8974cedafc081c9ce5c9006.wav",
        "soundName": "新闻女主播",
        "speedSpeech": 1,
        "speechText": ""
        "voiceType": "5",
        "modeName": "index:新闻女主播__d67c8ff2",
        "preStatus": "2",
        "storage": "60905886",
        "client": "pc",
        "channel": "natural",
        "userId": "4000170",
        "systemFlag": "2"
    }
}


请求参数说明
参数名参数类型是否必填参数说明
idLong是才艺Id
响应参数说明
参数名参数类型参数说明
codeInteger0:请求成功,非0 :请求失败
msgString响应码 描述
dataObject接口响应数据
idLong才艺Id
nameString才艺名称
typeString才艺类型(1:个人演唱,2:个人演讲)
previewPathString生成的才艺视频路径
videoPathString场景视频路径
thumbnailPathString视频缩略图路径
styleString风格
songIdLong音乐Id
songPathString音乐路径
songFromString音乐来源(1:平台,2:我创作的,3:本地上传)
songNameString音乐显示名称
songVolumeBigDecimal音乐音量
subtitlesStatusString字幕状态(0:不开启,1:开启)
labiateBigDecimal唇形
acappellaString分离的人声音路径
lyricString歌词文件路径
soundPathString演讲声音路径
soundNameString演讲声音显示名称
speedSpeechBigDecimal语速
speechTextString演讲文案
voiceTypeString声音类型(3:豆包,5:复刻)
modeNameString声音模型名称
preStatusString才艺预览地址状态(1:创建中,2:创建成功,3:创建失败)
actionsString动作列表
storageLong占用存储空间大小(单位:Byte)
clientString客户端
channelString渠道
userIdLong用户Id
systemFlagString权限(1:公开可见,2:仅个人可见)

4. 测试与优化

  1. 测试数字人:与数字人进行交互,测试其表现
  2. 收集反馈:收集用户反馈,找出问题和改进空间
  3. 优化数字人:根据反馈调整数字人的形象、声音和智能对话能力
  4. 部署数字人:将优化后的数字人部署到实际应用场景

5. 高级功能与技巧

本节将介绍数字人创作的高级功能和技巧,帮助您创建更加专业和个性化的数字人。

5.1 形象优化技巧

  • 参考素材选择:选择高质量、清晰的参考图片或视频
  • 提示词优化:使用详细、具体的提示词来指导AI生成形象
  • 风格一致性:确保数字人的形象风格与应用场景一致
  • 细节调整:关注数字人的面部表情、服装细节等

5.2 声音定制技巧

  • 参考音频选择:选择音质清晰、风格符合数字人定位的参考音频
  • 声音特征调整:根据数字人的性格和角色调整声音的音调、语速等
  • 情感表达:确保数字人的声音能够表达适当的情感
  • 多语言支持:根据需要为数字人添加多语言能力

5.3 智能体配置高级技巧

  • 角色设定:为数字人设定详细的角色背景和性格特点
  • 专业知识注入:为数字人添加特定领域的专业知识
  • 对话风格调整:根据应用场景调整数字人的对话风格
  • 技能组合:为数字人组合多种技能,提高其能力

6. 常见问题与解决方案

本节将解答数字人创作中常见的问题,并提供解决方案。

6.1 形象创作问题

问题:生成的形象不符合预期

解决方案:

  • 提供更详细、具体的提示词
  • 选择更合适的参考素材
  • 尝试不同的生成模型
  • 调整生成参数

问题:形象生成失败

解决方案:

  • 检查参考素材的质量和格式
  • 确保API调用参数正确
  • 检查账户余额是否充足
  • 联系技术支持

6.2 声音创作问题

问题:克隆的声音与参考音频差异较大

解决方案:

  • 提供更长、更清晰的参考音频
  • 确保参考音频中的语音特征明显
  • 调整声音克隆参数
  • 尝试不同的声音模型

问题:声音生成失败

解决方案:

  • 检查参考音频的质量和格式
  • 确保API调用参数正确
  • 检查账户余额是否充足
  • 联系技术支持

6.3 智能体配置问题

问题:智能体对话不自然

解决方案:

  • 完善智能体的角色设定和背景信息
  • 为智能体添加更多的专业知识
  • 优化对话流程和语言风格
  • 测试不同的对话场景

7. 总结

数字人创作是一项融合了多种技术的复杂过程,需要综合考虑形象、声音、智能对话等多个方面。通过本教程,您应该已经了解了数字人创作的核心概念、技术原理和完整流程,以及如何使用NuwaAI平台的API进行数字人创作。

数字人技术正在快速发展,未来将在更多领域得到应用。我们将持续改进数字人技术,不断探索和创新,创建更加智能、自然的数字人,为您提供更好的服务和支持。

最近更新:: 2026/3/30 11:30
Contributors: 005609, 邹丹晔, chen1581703976, chenming