NuwaAI Digital Human PlatformNuwaAI Digital Human Platform
  • 简体中文
  • English
  • 简体中文
  • English
  • Advanced Digital Human Creation Tutorial

Advanced Digital Human Creation Tutorial

1. Overview

This advanced tutorial introduces the Nuwa digital-human creation workflow and APIs in detail. You will gain a deeper understanding of the underlying principles, enabling better integration and customization of digital-human capabilities.

1.1 What is digital human creation?

Digital-human creation uses technology to build virtual people with human-like traits, including appearance design, voice cloning, and intelligent dialogue. Digital humans can serve many scenarios, such as customer service, education and training, and entertainment.

1.2 Core Nuwa digital-human creation technologies

  • Appearance generation: Generate or edit the digital human's appearance with AI
  • Voice cloning: Reproduce or create the digital human's vocal characteristics
  • Personality design: Define the digital human's personality and speaking style
  • Knowledge assignment: Add domain knowledge to the digital human
  • Motion generation: Give the digital human natural movements and expressions

1.3 Tutorial objectives

Through this tutorial, you will learn:

  • The complete digital-human creation workflow
  • How to use NuwaAI platform APIs to create digital humans
  • Best practices and tips for digital-human creation
  • How to solve common creation problems

2. Core concepts

Before creating a digital human, understanding these core concepts will help you follow the workflow.

2.1 Digital-human components

  • Figure: The digital human's appearance, including facial features, clothing, hairstyle, and intentional or incidental movements
  • Voice: Vocal characteristics such as tone, speaking rate, and emotion
  • Role: Identity settings including profession, personality, background, and skills
  • Knowledge: Knowledge stored for the digital human, including images, videos, and PPT files
  • Digital human: The complete entity combining figure, voice, and intelligent dialogue capabilities

2.2 Creation notes

  1. Preparation: Gather assets and define the digital human's positioning.
  2. Figure creation: Design or generate the appearance.
  3. Voice creation: Clone or create the voice.
  4. Role selection: Define profession, personality, background, and skills.
  5. Knowledge upload: Upload images, videos, PPT files, and other knowledge assets.
  6. Testing and optimization: Test the digital human and optimize its performance.

2.3 How to quickly create a digital human

  • Step 1: Authenticate (/web/apiKey/auth)
  • Step 2: Get the voice list (/web/voice/voiceList)
  • Step 3: Select a voice and record its model name, name, and type
  • Step 4: Create a figure (/web/figure/create)
  • Step 5: Generate an image from a prompt (/web/model/submitTask)
  • Step 6: Query image-generation status (/web/model/queryTask)
  • Step 7: Wait for image generation and obtain the image URL
  • Step 8: Generate a video from the prompt and image URL (/web/model/submitTask)
  • Step 9: Query video-generation status (/web/model/queryTask)
  • Step 10: Wait for video generation and obtain the video URL
  • Step 11: Edit the figure with the video URL and voice information (/web/figure/edit)
  • Step 12: Receive the request ID
  • Step 13: Query edit status (/web/model/queryTask; do not call this endpoint if the figure was created successfully with status='2')
  • Step 14: Wait for editing to finish and obtain the result
  • Step 15: Query the role list (/web/role/list)
  • Step 16: Select a role and record its ID, name, and type
  • Step 17: Create the digital human (/web/digital/user/create)
  • Step 18: Receive the digital-human ID
  • Step 19: Edit the digital human using the figure ID and role information (/web/digital/user/edit)
  • Step 20: Receive the request ID
  • Step 21: Wait for editing to finish and obtain the result
  • Step 22: Done
sequenceDiagram
    participant Client as Client
    participant Platform as NuwaAI Platform

    Client->>Platform: 1. Authenticate (/web/apiKey/auth)
    Platform-->>Client: 2. Return the token

    Client->>Platform: 3. Get the voice list (/web/voice/voiceList)
    Platform-->>Client: 4. Return the voice list

    Client->>Client: 5. Select a voice and record its model name, name, and type

    Client->>Platform: 6. Create a figure (/web/figure/create)
    Platform-->>Client: 7. Return the figure ID

    Client->>Platform: 8. Generate an image from a prompt (/web/model/submitTask)
    Client->>Client: 9. Query image-generation status (/web/model/queryTask)
    Client->>Client: 10. Wait for image generation and obtain the image URL

    Client->>Platform: 11. Generate a video from the prompt and image URL (/web/model/submitTask)
    Client->>Client: 12. Query video-generation status (/web/model/queryTask)
    Client->>Client: 13. Wait for video generation and obtain the video URL

    Client->>Platform: 14. Edit the figure using the video URL and voice information (/web/figure/edit)
    Platform-->>Client: 15. Return the request ID
    Client->>Client: 16. Query edit status (/web/model/queryTask)
    Client->>Client: 17. Wait for editing to finish and obtain the result

    Client->>Platform: 18. Query the role list (/web/role/list)
    Platform-->>Client: 19. Return the role list
    Client->>Client: 20. Select a role and record its ID, name, and type

    Client->>Platform: 21. Create the digital human (/web/digital/user/create)
    Platform-->>Client: 22. Return the digital-human ID

    Client->>Platform: 23. Edit the digital human using the figure ID and role information (/web/digital/user/edit)
    Platform-->>Client: 24. Return the request ID
    Client->>Client: 25. Wait for editing to finish and obtain the result

    Client->>Client: Done

3. Digital-human creation protocol reference

This section description the digital-human creation APIs provided by the NuwaAI platform, including authentication, file management, image/video generation, voice creation, figure creation, and digital-human creation.

3.1 Get a token with an API key

POST /web/apiKey/auth

Request example

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

Response example

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

Request parameter description

ParameterTypeRequiredDescription
secretKeyStringYesAPI key

Response parameter description

ParameterTypeDescription
codeInteger0: request succeeded; non-zero: request failed
msgStringResponse message
dataStringToken

3.2 File management API

3.2.1 File upload

POST /web/web-file/upload

Request example
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"'
Response example
{
    "code": 0,
    "msg": null,
    "data": {
        "bucketName": "nuwa",
        "fileName": "78/202512/20251202/5c0b16e1c89d4ff9ae9b93f775a722f6.jpeg",
        "url": "/nuwa/78/202512/20251202/5c0b16e1c89d4ff9ae9b93f775a722f6.jpeg"
    }
}

Request parameter description
NameTypeRequiredDescription
fileMultipartFileYesfile
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
bucketNameStringdescription
fileNameStringOSS file name
urlStringOSS path

3.2.2 File deletion

DELETE /web/web-file/deleteFile

Request example
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'
Response example
 {
  "code": 0,
  "msg": null,
  "data": true
}

Request parameter description
NameTypeRequiredDescription
filePathStringYesOSS file path
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataBooleantrue : success,false:failure

3.2.3 Get a file preview URL

GET /web/document/getDownPreSignedUrl

Request example
curl -X GET https://api.nuwaai.com/web/document/getDownPreSignedUrl?filename=134%2Ffigure%2F1947499417004638210%2Fbe367e3322de4b0eb857aaa62ddd3e46.mp4 \
  -H 'Authorization: Bearer x-Snc8HAJKMcV6Rt6NYqqL-biS3jbOJIwuhAZl84k2qjJi84njFsOi6ibrFRn5XDN4ZyvZBGQrE4K0u5s0i7ovQc1QecoFKC8HIlbtWUWy89t6Ay8YhYpsPb_gt4XvaA'
  
Response example
{
  "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"
}

Request parameter description
NameTypeRequiredDescription
filenameStringYesOSS file name
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataStringfile preview URL

3.2.4 Download a File

GET /web/web-file/download

Request example
 
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'
Response example


Request parameter description
NameTypeRequiredDescription
urlStringYesOSSfileURL

3.3 Image/video generation API

3.3.1 Text-to-image

POST /web/model/submitTask

Request example

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"
}'
Response example
{
  "code": 0,
  "msg": null,
  "data": "0be340e8bfd4405fab420a02ac3150d1"
}

Request parameter description
NameTypeRequiredDescription
typeStringYesgeneration type(img2img:description,text2img: image generation,img2video: video generation)
forwardPromptStringYesforward prompt,300description
bizIdLongYesfigure or talent ID
fromStringYesSource (1: appearance image/video, 2: talent image/video, 3: create digital human, 4: generate appearance action video, 5: generate talent action video)
modelStringYesmodel ID(description:doubao-seedream-4-0-250828,doubao-seedream-4-5-251128,doubao-seedream-5-0-260128)
aspectRatioStringNodescription(description:16:9,9:16,description:16:9)
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataStringrequest ID

3.3.2 Image-to-image

POST /web/model/submitTask

Request example
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"
}'
Response example
{
  "code": 0,
  "msg": null,
  "data": "0be340e8bfd4405fab420a02ac3150d1"
}

Request parameter description
NameTypeRequiredDescription
typeStringYesgeneration type(img2img:description,text2img: image generation,img2video: video generation)
forwardPromptStringYesforward prompt,300description
bizIdLongYesfigure or talent ID
fromStringYesSource (1: appearance image/video, 2: talent image/video, 3: create digital human, 4: generate appearance action video, 5: generate talent action video)
modelStringYesmodel ID(description: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)
aspectRatioStringNodescription(description:16:9,9:16,description:16:9)
pathStringYesOssChineseURL
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataStringrequest ID

3.3.3 Image-to-video

POST /web/model/submitTask

Request example
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"
}'
Response example
{
  "code": 0,
  "msg": null,
  "data": "0be340e8bfd4405fab420a02ac3150d1"
}

Request parameter description
NameTypeRequiredDescription
typeStringYesgeneration type(img2img:description,text2img: image generation,img2video: video generation)
forwardPromptStringYesforward prompt,500description
bizIdLongYesfigure or talent ID
fromStringYesSource (1: appearance image/video, 2: talent image/video, 3: create digital human, 4: generate appearance action video, 5: generate talent action video)
videoTimeStringYesvideo duration(unit:seconds),description[4,10]
pathStringYesOssChineseURL
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataStringrequest ID

3.3.4 Query generation results

POST /web/model/queryTask

Request example
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
}'
Response example
{
  "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"
    }
  }
}

Request parameter description
NameTypeRequiredDescription
requestIdStringYesrequest ID
lastReqIntegerYesYesNodescription(0:No,1:Yes)
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
description
statusStringprocessing status(running:processing,done:option)
dataObjectdescription
requestIdStringrequest ID
userIdLonguser ID
fromStringSource (1: appearance image/video, 2: talent image/video, 3: create digital human, 4: generate appearance action video, 5: generate talent action video)
videoPathStringpath
scenePathStringpath
thumbnailPathStringthumbnail path
watermarkUrlStringpath

3.4 Digital-human voice API

3.4.1 Create a voice model

POST /webhp/humanAgent/voiceSet

Request example
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="这天气真的热啊,衣服刚晾完就在琢磨晚饭,是煮点面条还是蒸个米饭炒个小菜?先不想了待会儿再说吧。"'
Response example
{
    "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"
        }
    ]
}

Request parameter description
NameTypeRequiredDescription
fileMultipartFileYesfile
textStringYescontent
Response parameter description
NameTypeDescription
codeInteger200: success; non-zero: failure
modelArrayvoice feature list
model description
versionString1:description,3:Chinese only
nameStringvoice model name
urlStringOSSvoice model path

3.4.2 Clone a voice

POST /web/voice/clone

Request example

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"
}'
Response example
{
    "code": 0,
    "msg": null,
    "data": true
}

Request parameter description
NameTypeRequiredDescription
voiceNameStringYesvoice model name
contentStringYesvoice content
voiceTypeStringYesvoice type(3:description,5:description)
sexStringYesgender(1:male,2:female,3:neutral)
ageStringYesage(1:description,2:Chinesedescription,3:description,4:description)
voiceTimeIntegerYesvoiceduration(unit:seconds)
featureListArrayNovoice feature
modelArrayYesvoice feature
model description
versionStringYes1:description,3:Chinese only
nameStringYesvoice model name
urlStringYesOSSvoice model path
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataBooleantrue :success,false:failure

3.4.3 Delete a voice

DELETE /web/voice/delete/{id}

Request example
curl -X DELETE https://api.nuwaai.com/web/voice/delete/1935958397612609538 \
  -H 'Authorization: Bearer x-Snc8HAJKMcV6Rt6NYqqL-biS3jbOJIwuhAZl84k2qjJi84njFsOi6ibrFRn5XDN4ZyvZBGQrE4K0u5s0i7ovQc1QecoFKC8HIlbtWUWy89t6Ay8YhYpsPb_gt4XvaA'
Response example
{
  "code": 0,
  "msg": null,
  "data": true
}

Request parameter description
NameTypeRequiredDescription
idLongYesvoice ID
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataBooleantrue :success,false:failure

3.4.4 Voice list

POST /web/voice/voiceList

Request example
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": ""
}'
Response example
{
  "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
  }
}

Request parameter description
NameTypeRequiredDescription
sizeLongYespage size
currentLongYescurrent page(starts at 1)
typeIntegerYesQuery type (1: platform voices, 2: my cloned voices)
ageStringNoage(1:description,2:Chinesedescription,3:description,4:description)
voiceNameStringNovoice model name
featureStringNovoice feature
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
recods description
createTimeLocalDateTimecreated at
updateTimeLocalDateTimeupdated at
voiceIdLongvoiceid
voiceNameStringvoice model name
modeNameStringvoice model name
sexStringgender(1:male,2:female,3:neutral)
ageStringage(1:description,2:Chinesedescription,3:description,4:description)
voiceTimeIntegervoiceduration(unit:seconds)
voiceTypeStringvoice type(3:description,5:description)
featureStringvoice feature
pathStringVoice path
systemFlagStringvoicepermission(1:public,2:private)
featureListArrayvoice feature list
description
totalLongtotal records
sizeLongpage size
currentLongcurrent page(starts at 1)
pagesLongtotal pages

3.5 Digital-human appearance API

3.5.1 Create an appearance

POST /web/figure/create

Request example
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"
}'
Response example
{
  "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"
  }
}

Request parameter description
NameTypeRequiredDescription
figureNameStringYesfigurename
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
figure
figureIdLongfigureid
figureNameStringfigurename
statusStringfigurestatus(0:incomplete,1:creating,2:created,3:creation failed)
systemFlagStringfigurepermission(1:public,2:private)
userIdLonguser ID
createByStringCreatedescription
updateByStringdescription
updateTimeLocalDateTimeupdated at
clientStringclient
channelStringchannel

3.5.2 Update an appearance

PUT /web/figure/edit

Request example
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": []
}'
Response example
{
    "code": 0,
    "msg": null,
    "data": "db5945deccd24ad2bf13687b94c585d8"
}

Request parameter description
NameTypeRequiredDescription
figureIdLongYesfigure ID
figureNameStringYesfigurename
videoPathStringYesOSS path
voiceTypeStringYesvoice type(3:description,5:description)
modeNameStringYesvoice model name
displayNameStringYesvoice model name
voicePathStringNovoicefile path
styleStringNostylename
ageStringYesage(1:description,2:Chinesedescription,3:description,4:description)
sexStringYesgender(1:male,2:female,3:neutral)
actionListArrayNofigureList
description
idLongNomodel ID
actionTypeStringYesgeneration type(0:opening text,1:description,2:description)
videoPathStringYesOssChinesepath
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataStringRequest ID used to query the appearance model generation status

3.5.3 Delete an appearance

DELETE /web/figure/delete/{id}

Request example
curl -X DELETE https://api.nuwaai.com/web/figure/delete/1995841607195533313 \
  -H 'Authorization: Bearer x-Snc8HAJKMcV6Rt6NYqqL-biS3jbOJIwuhAZl84k2qjJi84njFsOi6ibrFRn5XDN4ZyvZBGQrE4K0u5s0i7ovQc1QecoFKC8HIlbtWUWy89t6Ay8YhYpsPb_gt4XvaA'
Response example
 {
    "code": 0,
    "msg": null,
    "data": true
}

Request parameter description
NameTypeRequiredDescription
idLongYesfigure ID
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataBooleantrue: success,false:failure

3.5.4 Appearance list

POST /web/figure/figureList

Request example
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
}'
Response example
{
  "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
  }
}

Request parameter description
NameTypeRequiredDescription
currentLongYescurrent page(starts at 1)
sizeLongYespage size
typeIntegerYesQuery type (1: platform appearances, 2: my appearances)
ageStringNoage(1:description,2:Chinesedescription,3:description,4:description)
sexStringNogender(1:male,2:female,3:neutral)
figureNameStringNofigurename
styleStringNofigurestyle
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataArraydescription
recordsdescription
figureIdLongfigure ID
figureNameStringfigurename
userIdLonguser ID
nickNameStringuserdescription
thumbnailPathStringfigurethumbnailpath
storageLongstorage size(unit:Byte)
statusStringfigurestatus(0:incomplete,1:creating,2:created,3:creation failed)
createTimeLocalDateTimecreated at
updateTimeLocalDateTimeupdated at

3.5.5 Appearance details

GET /web/figure/detail/{figureId}

Request example
curl -X GET https://api.nuwaai.com/web/figure/detail/1994255593560322050 \
  -H 'Authorization: Bearer oSBvPLPvYl2emsnvOP_Vbzf_pfLb0V8TiRSuBYvbvxU00YObhaUbf4yk0AD1IVcb7_NX1LQddpW1AIqw7geXWLzU73Yc5D_v-ttzhUhm_qtazrFjoQZlze0mdTkoWNvp'
Response example
{
  "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"
  }
}

Request parameter description
NameTypeRequiredDescription
figureIdLongYesfigure ID
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
figure
figureIdLongfigureid
figureNameStringfigurename
ageStringage(1:description,2:Chinesedescription,3:description,4:description)
sexStringgender(1:male,2:female,3:neutral)
styleStringfigurestyle
thumbnailPathStringthumbnailpath
previewPathStringfigurepath
figurePathStringfigurepath
videoPathStringpath
voicePathStringvoicefile path
displayNameStringvoice model name
modeNameStringvoice model name
voiceTypeStringvoice type(3:description,5:description)
generaTypeStringgeneration type(1:description,2:description,3:option)
preStatusStringfigurestatus(1:creating,2:created,3:creation failed)
statusStringfigurestatus(0:incomplete,1:creating,2:created,3:creation failed)
systemFlagStringfigurepermission(1:public,2:private)
failReasonStringfigurecreation faileddescription
actionsStringaction list
clientStringclient
channelStringchannel
storageLongstorage size(unit:Byte)
userIdLonguser ID
delFlagStringDeletion description,1:delete,0:description

3.6 Agent Creation API

3.6.1 Create an agent

POST /web/digital/user/create

Request example
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"
}'
Response example
{
  "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"
  }
}

Request parameter description
NameTypeRequiredDescription
nameStringYesagentname
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
agentdescription
idLongagent ID
nameStringagentname
statusStringagentstatus(0:incomplete,1:creating,2:created,3:creation failed)
clientStringclient(pc,h5)
channelStringchannel
userIdLonguser ID
systemFlagStringagentpermission(1:public,2:private)
createByStringCreatedescription
createTimeLocalDateTimecreated at
updateByStringdescription
updateTimeLocalDateTimeupdated at
delFlagStringDeletion description,1:delete,0:description

3.6.2 Agent details

GET /web/digital/user/detail/{id}

Request example
curl -X GET https://api.nuwaai.com/web/digital/user/detail/2072205535148556289 \
  -H 'Authorization: Bearer DH4X6eBEvzBwZ-mkIv7cu0PTxTYhxXPK0-HfBXRzI88byaMSRkmlqsNbtGQGJjYvc5NgIlyjFFOLFy1-q17Ti48mYhg6zFgD0hOCz8D1jdMIJcAhwEDoGMGhB_AbpUhv' \
  -H 'Content-Type: application/json' 

Response example
{
  "code": 0,
  "msg": null,
  "data": {
    "createBy": "",
    "createTime": "2026-07-01 14:27:54",
    "updateBy": "",
    "updateTime": "2026-08-12 10:45:40",
    "delFlag": "0",
    "id": "2072205535148556289",
    "name": "萌莎",
    "age": "1",
    "sex": "2",
    "musicName": "",
    "musicPath": "",
    "musicVolume": 0.5,
    "keyWords": "福马迎春",
    "shapeMouth": 2.1,
    "speedSpeech": 1,
    "driveMode": "1",
    "detectMode": "1",
    "configInfo": "{\"loadType\": \"normal\", \"poseMode\": \"circle\", \"asrConfig\": {\"model\": \"doubao\", \"autoGainControl\": \"0\", \"echoCancellation\": \"1\", \"noiseSuppression\": \"0\"}, \"modelType\": \"remote\", \"textStyle\": {\"fontSize\": 24, \"subtitleAlign\": \"center\", \"subtitleBottom\": 40, \"userInputColor\": \"#069be5bd\", \"modelReplyColor\": \"#ffffff\", \"avatarReplyColor\": \"#c27cf0\"}, \"cameraConfig\": {\"position\": {\"x\": 0, \"y\": 0, \"width\": 100, \"height\": 100}, \"displayTime\": 3, \"intervalTime\": 3, \"positionConfig\": null}, \"isFullScreen\": \"0\", \"bitRateConfig\": {\"bitRateMax\": 5000000, \"bitRateMin\": 4000000, \"bitRateMode\": \"auto\", \"bitRateDefault\": 8000000}, \"FullExtraction\": \"0\", \"backgroundPath\": \"\", \"isEnableModify\": \"0\", \"isEnableGreenScreen\": \"0\"}",
    "uiConfig": null,
    "roleId": "1987135341259210753",
    "roleName": "趣味导游",
    "applicationScenarios": "5",
    "applicationScenariosName": "知识讲解",
    "skill": "[{\"enabled\": \"1\", \"skillName\": \"知识问答\"}, {\"enabled\": \"1\", \"skillName\": \"PPT演讲\"}, {\"enabled\": \"1\", \"skillName\": \"互联网搜索\"}, {\"enabled\": \"1\", \"skillName\": \"多人控制\"}, {\"enabled\": \"1\", \"skillName\": \"才艺\"}, {\"enabled\": \"1\", \"skillName\": \"山歌对唱\"}, {\"enabled\": \"1\", \"skillName\": \"即兴演唱\"}, {\"enabled\": \"1\", \"skillName\": \"流行歌对唱\"}]",
    "card": "[]",
    "specialty": "昵称:萌莎,莎莎。\n出身地: 诞生于深圳大芬油画村(Dafen Oil Painting Village)。她原本是一幅挂在画室里的“蒙娜丽莎”高仿作,因为笑点太低,经常自己在画框里憋不住笑出声,最后干脆跑出来玩。\n核心身份: 深圳大运中心 x 大芬油画村的联名快乐大使。她是“不神秘、只傻乐”的深圳版蒙娜丽莎,拥有“让高雅艺术瞬间接地气”的特殊才艺。小名,萌莎或者莎莎。\n朋友关系:大运梦鹿,甘坑李白,龙岗神马也是他的朋友,她还认识深圳站长深小铁和深铁酒店的小可爱象好好。",
    "personality": "乐天憨憨 (Goofy & Optimistic): 反射弧有点长,别人在焦虑,她在傻笑。拥有顶级的“钝感力”,烦恼对她来说就像油画上的颜料,干了就没事了。\n脑洞清奇 (Quirky): 思考问题的角度总是很刁钻。\n真诚直率 (Sincere): 所有的喜怒哀乐都写在脸上(主要是喜)。不懂阴阳怪气,只会直球夸人。\n自带喜感 (Funny): 不用刻意讲段子,她站在那里就是快乐源泉。",
    "languageStyle": "-口吻基调: 魔性洗脑,自带笑声。说话像个还没长大的小孩,语气轻快,经常使用语气助词(嘿嘿、哇哦、呀)。\n-句式结构: “短句硬核祝福 + 场景化比喻”。\n-话术长短: 拒绝长难句,单句不超过25个字。\n- 语言支持:中文、英文。\n-禁忌:\n  严禁啰嗦与重复。\n  严禁触碰政治敏感话题:遇到此类提问直接回答:嘿嘿,不要问一个老外这么深奥的问题哟。",
    "goal": "不讲道理,只讲快乐。同时展现深圳龙岗大芬“艺术、亲民、欢乐”的文化氛围",
    "figureId": "2052581370442522625",
    "status": "2",
    "auditStatus": "1",
    "auditRemark": "审核通过",
    "openText": "嘿嘿,大家好,我是你们今天的大芬村气氛担当萌莎!别看我一张嘴就傻乐,我今天就是来负责让大家忍不住跟着笑,直接把这新年欢乐模式拉满。走进来就别害羞,跟我一块儿傻乐,门槛低得很,笑一笑,福气到,咱大芬人就要这么有梗有乐!",
    "detectFlag": "1",
    "silentTime": 5,
    "recommend1": "跳舞视频",
    "recommend2": "唱歌",
    "recommend3": "",
    "remark": "萌莎加码,幸福加加倍!",
    "failReason": "",
    "knowledgeStorage": "0",
    "client": "pc",
    "channel": "natural",
    "userId": "47",
    "tenantId": "1",
    "systemFlag": "2",
    "startPath": null,
    "nickName": null,
    "skillList": null,
    "cardList": null,
    "digitalUserText": null,
    "thumbnailPath": "/pub-nuwa/148/figure/2052581370442522625/7ea7307b5a7549408020f2396e4c317d.jpg",
    "canClone": false,
    "analysis": null
  }
}

Request parameter description
NameTypeRequiredDescription
idLongYesagent ID
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
agentdescription
idLongagent ID
nameStringagentname
ageStringage(1:description,2:Chinesedescription,3:description,4:description)
sexStringgender(1:male,2:female,3:neutral)
musicNameStringbackground musicname
musicPathStringbackground musicpath
musicVolumeBigDecimalbackground musicvolume
keyWordsStringhotwords
shapeMouthBigDecimaldescription
speedSpeechBigDecimalspeaking rate
driveModeStringdescription(0:reverse,1:forward)
detectModeStringdescription(0:description,1:option)
configInfoStringagentdescription
uiConfigStringUIdescription
roleIdLongagentrole ID
roleNameStringrolename
applicationScenariosStringapplication scenarioID
applicationScenariosNameStringapplication scenarioname
skillStringskill
cardStringdescription
specialtyStringbackground
personalityStringpersonality
languageStyleStringlanguage style
goalStringconversation goal
figureIdLongagentfigure ID
statusStringagentstatus(0:incomplete,1:creating,2:created,3:creation failed)
auditStatusStringaudit status(0:pending review,1:approved,2:rejected,3:pending removal)
auditRemarkStringaudit remarks
openTextStringopening text
detectFlagStringdescription(0:off,1:on)
silentTimeIntegerdescription(unit:seconds)
recommend1String1
recommend2String2
recommend3String3
remarkStringcontent
failReasonStringcreation faileddescription
knowledgeStorageLongdescription(unit:Byte)
clientStringclient(pc,h5)
channelStringchannel
userIdLonguser ID
tenantIdLongTenant ID
systemFlagStringagentpermission(1:public,2:private)
createByStringCreatedescription
createTimeLocalDateTimecreated at
updateByStringdescription
updateTimeLocalDateTimeupdated at
delFlagStringDeletion description,1:delete,0:description

3.6.3 Update an Agent

PUT /web/digital/user/edit

Request example
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"
}'
Response example
{
    "code": 0,
    "msg": null,
    "data": "aced3bf3189c4576817fd590a6d397b7"
}

Request parameter description
NameTypeRequiredDescription
idLongYesagent ID
nameStringYesagentname
ageStringYesagentage
sexStringYesgender(1:male,2:female,3:neutral)
musicNameStringNobackground musicname
musicPathStringNobackground musicpath
musicVolumeBigDecimalNobackground musicvolume
keyWordsStringNohotwords
shapeMouthBigDecimalNodescription,1.8,0,description[1.5,2.8]
speedSpeechBigDecimalNospeaking rate,1.0,0,description[0.8,1.4]
driveModeStringNodescription(0:reverse,1:forward),description 1
detectModeStringNodescription(0:description,1:option),description 0
configInfoStringNodescription
uiConfigStringNoUIdescription
roleIdLongYesrole ID
roleNameStringYesrolename
applicationScenariosStringNoapplication scenarioID
specialtyStringNobackground
personalityStringNopersonality
languageStyleStringNolanguage style
goalStringNoconversation goal
figureIdLongYesfigure ID
openTextStringNoopening text
detectFlagStringNodescription(0:off,1:on)
silentTimeIntegerNodescription(unit:seconds)
recommend1StringNo1
recommend2StringNo2
recommend3StringNo3
remarkStringNodescription
skillListArrayYesSkill list, obtained from the role information
skilldescription
skillNameStringYesskillname
enabledStringYesEnabled(1:enabled,0:disabled)
cardListArrayNolist
description
cardNameStringYesname
enabledStringYesEnabled(1:enabled,0:disabled)
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataStringTask ID for creating the agent model. Empty means no agent-model creation is needed; the task is triggered only when the bound appearance model is updated

3.6.4 Delete an agent

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

Request example
curl -X DELETE  https://api.nuwaai.com/web/digital/user/delete/1996571773882441730 \
  -H 'Authorization: Bearer DH4X6eBEvzBwZ-mkIv7cu0PTxTYhxXPK0-HfBXRzI88byaMSRkmlqsNbtGQGJjYvc5NgIlyjFFOLFy1-q17Ti48mYhg6zFgD0hOCz8D1jdMIJcAhwEDoGMGhB_AbpUhv'
Response example
{
    "code": 0,
    "msg": null,
    "data": true
}

Request parameter description
NameTypeRequiredDescription
idLongYesagent ID
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataBooleantrue:success,false:failure

3.6.5 Agent list

POST /web/digital/user/digitalList

Request example
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": ""
}'
Response example
{
  "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
  }
}

Request parameter description
NameTypeRequiredDescription
typeIntegerYesQuery type (1: platform digital humans, 2: my digital humans)
currentLongYescurrent page(starts at 1)
sizeLongYesdescription
nameStringNoagentname
ageStringNoage(1:description,2:Chinesedescription,3:description,4:description)
sexStringNogender(1:male,2:female,3:neutral)
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
recordsArrayagentList
currentLongcurrent page(1 description)
sizeLongdescription
totalLongtotal records
pagesLongtotal pages
agentdescription
idLongagent ID
nameStringagentname
statusStringagentstatus(0:incomplete,1:creating,2:created,3:creation failed)
systemFlagStringagentpermission(1:public,2:private)
userIdLonguser ID
nickNameStringuserdescription
knowledgeStorageLongdescription(unit:Byte)
roleNameStringrolename
thumbnailPathStringthumbnailpath
applicationScenariosNameStringapplication scenarioname
createTimeLocalDateTimecreated at
updateTimeLocalDateTimeupdated at

3.6.6 Role list

GET /web/role/list

Request example
curl -X GET   https://api.nuwaai.com/web/role/list?roleName=&size=2&current=1 \
  -H 'Authorization: Bearer GmPx7rCB_kZag3yG_0QL9D3Cof6nc4OS1ZHPCl1Nst7Pz13-MlYeOSB8KoToiWtFUx7DbxGYCvod5CWby_wJ6yYL8gPN2XAF2U8N0_ihcNzERa6DHQOlBY1KUkv2Ok4J'
Response example
{
  "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
  }
}  

Request parameter description
NameTypeRequiredDescription
currentLongYescurrent page(starts at 1)
sizeLongYesdescription
roleNameStringNorolename
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
recordsArrayroleList
currentLongcurrent page(1 description)
sizeLongdescription
totalLongtotal records
pagesLongtotal pages
roledescription
roleIdLongroleID
roleNameStringrolename
languageStringdescription(0:Chinese,1:description)
specialtyStringbackground
personalityStringdescription
languageStyleStringlanguage style
goalStringconversation goal
nickNameStringCreatedescription
applicationScenariosStringapplication scenarioID
workThinkingStringdescription
modelNameStringrolename
createTimeLocalDateTimecreated at
updateTimeLocalDateTimeupdated at
skillListArrayskillList
skilldescription
skillNameStringskillname
enabledStringEnabled(1:enabled,0:disabled)

3.7 Knowledge Base CRUD APIs

3.7.1 Add Document Metadata

POST /web/document/4.0/add

Request example
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": ""
}'
Response example
{
    "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"
    }
}

Request parameter description
NameTypeRequiredDescription
fileSizeLongYesfiledescription(unit:Byte)
digitalUserIdLongYesdigital humanID
originalFilenameStringYesoriginal filenamedescription
descriptionStringNodescription
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
documentIdLongdocument ID
preUploadUrlStringURL

3.7.2 Import a Website

POST /web/document/importWebsite

Request example
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
}'
Response example
{
    "code": 0,
    "msg": null,
    "data": "7133"
}

Request parameter description
NameTypeRequiredDescription
urlStringYesURL
digitalUserIdLongYesagent ID
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataLongdocument ID

3.7.3 Upload a Knowledge Base Document

PUT {preUploadUrl}

Request example
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

Request parameter description
NameTypeRequiredDescription
preUploadUrlStringYesURL,Adddocumentdescription,URLfile

3.7.4 Delete a Knowledge Base Document

POST /web/document/removeV2

Request example
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
  ]
}'
Response example
{
    "code": 0,
    "msg": null,
    "data": null
}

Request parameter description
NameTypeRequiredDescription
digitalUserIdLongYesagent ID
docIdsLong[]Yesdocument IDdescription
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription

3.7.5 Update a Knowledge Base Document

POST /web/document/modifyV2

Request example
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'
Response example
{
    "code": 0,
    "msg": null,
    "data": null
}

Request parameter description
NameTypeRequiredDescription
fileMultipartFileYesdocument
docIdLongYesdocument ID
editTypeIntegerYesdocument type(0:image/video,1:document,2:ppt,3: URL)
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription

3.7.6 View a Knowledge Base Document

GET /web/document/getDocumentById

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

Response example
{
    "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
    }
}

Request parameter description
NameTypeRequiredDescription
docIdStringYesdocument ID
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
description
idLongdocument ID
analysisUrlStringfileURL
typeStringdocument type
originalStringoriginal filename
sendPermissionStringSend permission (0: off, 1: on)
playPermissionStringPlay permission (0: off, 1: on)
descriptionStringdescription
categoryStringdocument type(0:image/video,1:document,2:ppt,3: URL)
statusStringstatus(0:Chinese,1:success,2:failure)
reasonStringfailuredescription
createTimeLocalDateTimeuploaded at
updateTimeLocalDateTimeupdated at

3.7.7 List Knowledge Base Documents

GET /web/document/pageV2

Request example
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'

Response example
{
    "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
    }
}

Request parameter description
NameTypeRequiredDescription
digitalUserIdLongYesdigital humanID
currentLongYescurrent page(1 option)
sizeLongYesdescription
typeStringNodocument type
documentNameStringNodocumentname
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
Object properties
idLongdocument ID
analysisUrlStringfileURL
filePathStringdocumentpath
typeStringdocument type
originalStringoriginal filename
sendPermissionStringSend permission (0: off, 1: on)
playPermissionStringPlay permission (0: off, 1: on)
descriptionStringdescription
categoryStringdocument type(0:image/video,1:document,2:ppt,3: URL)
statusStringstatus(0:Chinese,1:success,2:failure)
reasonStringfailuredescription
createTimeLocalDateTimeuploaded at
updateTimeLocalDateTimeupdated at

3.8 Talent Creation API

3.8.1 Create talent

POST /web/talent/create

Request example
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"
}'
Response example
{
    "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"
       
    }
}

Request parameter description
NameTypeRequiredDescription
typeStringYestalenttype(1:description,2:option)
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
talent
createByStringCreatedescription
createTimeLocalDateTimecreated at
updateByStringdescription
updateTimeLocalDateTimeupdated at
idLongtalent ID
nameStringtalentname
typeStringtalenttype(1:description,2:option)
clientStringclient
channelStringchannel
userIdLonguser ID
systemFlagStringtalentpermission(1:public,2:private)

3.8.2 Update a talent

PUT /web/talent/edit

Request example
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"
}'
Response example
{
    "code": 0,
    "msg": null,
    "data": true
}

Request parameter description
NameTypeRequiredDescription
idLongYestalentID
nameStringYestalentname
typeStringYestalenttype(1:description,2:option)
videoPathStringYespath
styleStringNostyle
songIdLongNomodel ID
songPathStringNopath
songNameStringNoname
songFromStringNodescription(1:platform,2:description,3:local upload)
lyricStringNofile path
subtitlesStatusStringYesSubtitle status (0: off, 1: on)
acappellaStringNoSeparated vocal track path
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataBooleantrue:success,false:failure

3.8.3 Delete a talent

DELETE /web/talent/delete/{id}

Request example
curl -X DELETE https://api.nuwaai.com/web/talent/delete/9007199254740991 \
  -H 'Authorization: Bearer 8thQxHLFXwpEbub_AYQEMwjqAfMzGmA7DuRTggx28pWKT4ji1xwJ3dn7QePpAdBBTPQz7fgnsMiyMhspQg0_klCP9ci3856nvyaH7Qyvfoo7NdreXDtiupW8iKmbo6Rp'
  
Response example
{
    "code": 0,
    "msg": null,
    "data": true
}

Request parameter description
NameTypeRequiredDescription
idLongYestalent ID
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataBooelantrue:success,false:failure

3.8.4 Generate a Talent Video

POST /web/talent/preview

Request example
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"
}'
Response example
{
    "code": 0,
    "msg": null,
    "data": "a516fb5714484f14bfb4723bbaa9dc0d"
}

Request parameter description
NameTypeRequiredDescription
idLongYestalentID
nameStringYestalentname
typeStringYestalenttype(1:description,2:option)
videoPathStringYespath
styleStringNostyle
songIdLongNomodel ID
songPathStringNopath,description,description
songNameStringNoname
songFromStringNodescription(1:platform,2:description,3:local upload)
lyricStringNofile path,description,description
subtitlesStatusStringYesSubtitle status (0: off, 1: on)
acappellaStringYesSeparated vocal track path; required for personal singing, optional for personal speech
voiceTypeStringNovoice type(3:description,5:option),description,description
modeNameStringNovoice model name,description,description
speechTextStringNodescription,description,description
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataStringRequest ID used to query the talent video generation result

3.8.5 Talent list

POST /web/talent/talentList

Request example
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"
}
  '
Response example
{
    "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
    }
}

Request parameter description
NameTypeRequiredDescription
currentLongYescurrent page
sizeLongYesdescription
systemFlagStringYespermission(1:public,2:private)
nameStringNotalentname
typeStringNotalenttype(1:description,2:option)
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
recordsArraytalentList
currentLongcurrent page(1 description)
sizeLongdescription
totalLongtotal records
pagesLongtotal pages
talent
idLongtalent ID
nameStringtalentname
typeStringtalenttype(1:description,2:option)
thumbnailPathStringthumbnail path
storageLongstorage size(unit:Byte)
userIdLonguser ID
nickNameStringuserdescription
createTimeLocalDateTimecreated at
updateTimeLocalDateTimeupdated at

3.8.6 Talent details

GET /web/talent/detail/{id}

Request example
curl -X GET https://api.nuwaai.com/web/talent/detail/1993205490860269569' \
  -H 'Authorization: Bearer 7gtVj6W2PtnaYnAwPaGSdPf2H07oMJs9Yxe1RSxonDmPuMiIuRJNb1nc7Tz9vKbBf_byrTvEiufnoYGgapIDL-tjv7bhFaLSA7Zp37CXbI2DcNfyP_eAQFs6uOyCQM7V'\
  -H 'Content-Type: application/json' \
Response example
{
    "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"
    }
}


Request parameter description
NameTypeRequiredDescription
idLongYestalent ID
Response parameter description
NameTypeDescription
codeInteger0: success; non-zero: failure
msgStringdescription
dataObjectdescription
idLongtalent ID
nameStringtalentname
typeStringtalenttype(1:description,2:option)
previewPathStringGenerated talent video path
videoPathStringpath
thumbnailPathStringthumbnail path
styleStringstyle
songIdLongmodel ID
songPathStringpath
songFromStringdescription(1:platform,2:description,3:local upload)
songNameStringname
songVolumeBigDecimalMusic volume
subtitlesStatusStringSubtitle status (0: off, 1: on)
labiateBigDecimaldescription
acappellaStringSeparated vocal track path
lyricStringfile path
soundPathStringSpeech voice path
soundNameStringvoice model name
speedSpeechBigDecimalspeaking rate
speechTextStringdescription
voiceTypeStringvoice type(3:description,5:description)
modeNameStringvoice model name
preStatusStringTalent preview URL status (1: creating, 2: created, 3: creation failed)
actionsStringaction list
storageLongstorage size(unit:Byte)
clientStringclient
channelStringchannel
userIdLonguser ID
systemFlagStringpermission(1:public,2:private)

4. Testing and Optimization

  1. Test the digital human: Interact with the digital human and evaluate its performance.
  2. Collect feedback: Gather user feedback to identify issues and opportunities for improvement.
  3. Optimize the digital human: Refine its appearance, voice, and conversational capabilities based on the feedback.
  4. Deploy the digital human: Deploy the optimized digital human in its intended application scenario.

5. Advanced Features and Techniques

This section introduces advanced features and techniques for creating more polished and personalized digital humans.

5.1 Appearance Optimization

  • Select reference material: Use high-quality, clear reference images or videos.
  • Refine prompts: Use detailed, specific prompts to guide AI-based appearance generation.
  • Maintain visual consistency: Ensure that the digital human's visual style suits the application scenario.
  • Fine-tune details: Pay attention to facial expressions, clothing, and other details.

5.2 Voice Customization

  • Select reference audio: Use clear, high-quality audio whose style suits the digital human's intended role.
  • Adjust voice characteristics: Tune pitch, speaking rate, and other characteristics to match the digital human's personality and role.
  • Convey emotion: Ensure that the digital human's voice expresses the appropriate emotions.
  • Support multiple languages: Add multilingual capabilities as needed.

5.3 Advanced Agent Configuration

  • Define the role: Give the digital human a detailed role, background, and personality.
  • Add domain knowledge: Provide specialized knowledge relevant to the digital human's domain.
  • Adjust the conversational style: Tailor the digital human's conversational style to the application scenario.
  • Combine skills: Equip the digital human with multiple skills to expand its capabilities.

6. FAQs and Troubleshooting

This section addresses common issues encountered when creating digital humans and provides recommended solutions.

6.1 Appearance Creation Issues

Issue: The generated appearance does not meet expectations.

Solutions:

  • Provide a more detailed and specific prompt.
  • Select more suitable reference material.
  • Try a different generation model.
  • Adjust the generation parameters.

Issue: Appearance generation fails.

Solutions:

  • Check the quality and format of the reference material.
  • Verify that the API request parameters are correct.
  • Confirm that the account has sufficient balance.
  • Contact technical support.

6.2 Voice Creation Issues

Issue: The cloned voice differs significantly from the reference audio.

Solutions:

  • Provide longer, clearer reference audio.
  • Ensure that the speaker's voice characteristics are distinct in the reference audio.
  • Adjust the voice-cloning parameters.
  • Try a different voice model.

Issue: Voice generation fails.

Solutions:

  • Check the quality and format of the reference audio.
  • Verify that the API request parameters are correct.
  • Confirm that the account has sufficient balance.
  • Contact technical support.

6.3 Agent Configuration Issues

Issue: The agent's conversations sound unnatural.

Solutions:

  • Expand the agent's role definition and background information.
  • Add more domain knowledge to the agent.
  • Optimize the conversation flow and language style.
  • Test a variety of conversation scenarios.

7. Summary

Creating a digital human is a complex, multidisciplinary process that requires careful consideration of appearance, voice, conversational intelligence, and other factors. This tutorial has introduced the core concepts, technical principles, and end-to-end workflow for digital human creation, including how to use the NuwaAI platform APIs.

Digital human technology is advancing rapidly and will continue to expand into new domains. We will continue improving and innovating this technology to create more intelligent and natural digital humans and provide better service and support.

Last Updated:: 9/23/26, 3:03 PM
Contributors: 005609, 邹丹晔, chen1581703976, chenming