1、功能介绍
华为云提供了MetaStudio服务端SDK,您可以直接集成服务端SDK来调用MetaStudio的相关API,从而实现对MetaStudio的快速操作。
您将学到什么?
如何通过java版SDK来体验MetaStudio服务的数字人名片制作功能。
4、SDK获取和安装
您可以通过Maven配置所依赖的数字内容生产线SDK
Copied!
<dependency>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-metastudio</artifactId>
<version>3.1.78</version>
</dependency>
6、关键代码片段
6.1、创建数字人名片制作
Copied!
public static String createDigitalHumanBusinessCard(MetaStudioClient client, String imagePath) {
logger.info("createDigitalHumanBusinessCard start");
String jobId = null;
try {
CreateDigitalHumanBusinessCardReq req = buildCreateDigitalHumanBusinessCardReq(client, imagePath);
CreateDigitalHumanBusinessCardRequest request = new CreateDigitalHumanBusinessCardRequest()
.withBody(req);
CreateDigitalHumanBusinessCardResponse response = client.createDigitalHumanBusinessCard(request);
jobId = response.getJobId();
logger.info("createDigitalHumanBusinessCard " + response.toString());
} catch (ClientRequestException e) {
logger.error("createDigitalHumanBusinessCard ClientRequestException " + e.getHttpStatusCode());
logger.error("createDigitalHumanBusinessCard ClientRequestException " + e);
} catch (ServerResponseException e) {
logger.error("createDigitalHumanBusinessCard ServerResponseException " + e.getHttpStatusCode());
logger.error("createDigitalHumanBusinessCard ServerResponseException " + e.getMessage());
}
return jobId;
}
6.2、查询数字人名片制作任务列表
Copied!
private static void listDigitalHumanBusinessCard(MetaStudioClient client) {
logger.info("listDigitalHumanBusinessCard start");
ListDigitalHumanBusinessCardRequest request = new ListDigitalHumanBusinessCardRequest();
try {
ListDigitalHumanBusinessCardResponse response = client.listDigitalHumanBusinessCard(request);
logger.info("listDigitalHumanBusinessCard" + response.toString());
} catch (ClientRequestException e) {
logger.error("listDigitalHumanBusinessCard ClientRequestException" + e.getHttpStatusCode());
logger.error("listDigitalHumanBusinessCard ClientRequestException" + e);
} catch (ServerResponseException e) {
logger.error("listDigitalHumanBusinessCard ServerResponseException" + e.getHttpStatusCode());
logger.error("listDigitalHumanBusinessCard ServerResponseException" + e.getMessage());
}
}
6.3、查询数字人名片制作任务详情
Copied!
private static void showDigitalHumanBusinessCard(MetaStudioClient client, String jobId) {
logger.info("showDigitalHumanBusinessCard start");
ShowDigitalHumanBusinessCardRequest request = new ShowDigitalHumanBusinessCardRequest().withJobId(jobId);
try {
ShowDigitalHumanBusinessCardResponse response = client.showDigitalHumanBusinessCard(request);
logger.info("showDigitalHumanBusinessCard " + response.toString());
} catch (ClientRequestException e) {
logger.error("showDigitalHumanBusinessCard ClientRequestException " + e.getHttpStatusCode());
logger.error("showDigitalHumanBusinessCard ClientRequestException " + e);
} catch (ServerResponseException e) {
logger.error("showDigitalHumanBusinessCard ServerResponseException " + e.getHttpStatusCode());
logger.error("showDigitalHumanBusinessCard ServerResponseException " + e.getMessage());
}
}
6.4、更新数字人名片制作
Copied!
private static void updateDigitalHumanBusinessCard(MetaStudioClient client, String jobId, String imagePath) {
logger.info("updateDigitalHumanBusinessCard start");
try {
CreateDigitalHumanBusinessCardReq req = buildCreateDigitalHumanBusinessCardReq(client, imagePath).withVideoAssetName("<your video asset name>");
UpdateDigitalHumanBusinessCardRequest request = new UpdateDigitalHumanBusinessCardRequest()
.withJobId(jobId)
.withBody(req);
UpdateDigitalHumanBusinessCardResponse response = client.updateDigitalHumanBusinessCard(request);
logger.info("updateDigitalHumanBusinessCard " + response.toString());
} catch (ClientRequestException e) {
logger.error("updateDigitalHumanBusinessCard ClientRequestException " + e.getHttpStatusCode());
logger.error("updateDigitalHumanBusinessCard ClientRequestException " + e);
} catch (ServerResponseException e) {
logger.error("updateDigitalHumanBusinessCard ServerResponseException " + e.getHttpStatusCode());
logger.error("updateDigitalHumanBusinessCard ServerResponseException " + e.getMessage());
}
}
6.5、删除数字人名片制作任务
Copied!
private static void deleteDigitalHumanBusinessCard(MetaStudioClient client, String jobId) {
logger.info("deleteDigitalHumanBusinessCard start");
DeleteDigitalHumanBusinessCardRequest request = new DeleteDigitalHumanBusinessCardRequest().withJobId(jobId);
try {
DeleteDigitalHumanBusinessCardResponse response = client.deleteDigitalHumanBusinessCard(request);
logger.info("deleteDigitalHumanBusinessCard" + response.toString());
} catch (ClientRequestException e) {
logger.error("deleteDigitalHumanBusinessCard ClientRequestException" + e.getHttpStatusCode());
logger.error("deleteDigitalHumanBusinessCard ClientRequestException" + e);
} catch (ServerResponseException e) {
logger.error("deleteDigitalHumanBusinessCard ServerResponseException" + e.getHttpStatusCode());
logger.error("deleteDigitalHumanBusinessCard ServerResponseException" + e.getMessage());
}
}
7、运行结果
创建数字人名片制作
Copied!
{
"X-Request-Id":"d923e9***",
"job_id":"99c556***"
}
查询数字人名片制作任务列表
Copied!
{
"X-Request-Id":"63202a***",
"jobs":[
{
"output_asset_config":{
"asset_name":"name",
"asset_id":"8894bd***"
},"business_card_type":"2D_DIGITAL_HUMAN_CARD",
"create_time":"2024-01-26T02:47:47Z",
"job_id":"b37e93***",
"lastupdate_time":"2024-01-26T02:47:47Z",
"state":"WAITING"
}
],
"count":1752
}
查询数字人名片制作任务详情
Copied!
{
"card_templet_asset_id":"cf1cb0***",
"introduction_text":"<your introduction text>",
"card_text_config":{
"address":"address",
"mobile_phone":"123456789",
"name":"name",
"company":"company",
"title":"title"
},"X-Request-Id":"01374d***",
"card_image_url":{
"human_image_url":"https://***"
},"job_info":{
"output_asset_config":{
"asset_name":"name",
"asset_id":"8894bd***"
},"business_card_type":"2D_DIGITAL_HUMAN_CARD",
"create_time":"2024-01-26T02:47:47Z",
"job_id":"b37e93***",
"lastupdate_time":"2024-01-26T02:47:47Z",
"state":"WAITING"
},"introduction_type":"TEXT",
"voice_asset_id":"36c956***"
}
更新数字人名片制作
Copied!
{
"X-Request-Id":"75f546***",
"job_id":"b37e93***"
}
删除数字人名片制作任务
Copied!
{
"X-Request-Id":"9155f6***"
}
1、功能介绍
华为云提供了MetaStudio服务端SDK,您可以直接集成服务端SDK来调用MetaStudio的相关API,从而实现对MetaStudio的快速操作。
您将学到什么?
如何通过java版SDK来体验MetaStudio服务的数字人名片制作功能。
2、开发时序图
3、前置条件
4、SDK获取和安装
您可以通过Maven配置所依赖的数字内容生产线SDK
<dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-metastudio</artifactId> <version>3.1.78</version> </dependency>
5、接口参数说明
关于接口参数的详细说明可参见:
a.创建数字人名片制作
b.查询数字人名片制作任务列表
c.查询数字人名片制作任务详情
d.更新数字人名片制作
e.删除数字人名片制作任务
6、关键代码片段
6.1、创建数字人名片制作
/** * 创建数字人名片制作 * */ public static String createDigitalHumanBusinessCard(MetaStudioClient client, String imagePath) { logger.info("createDigitalHumanBusinessCard start"); String jobId = null; try { CreateDigitalHumanBusinessCardReq req = buildCreateDigitalHumanBusinessCardReq(client, imagePath); CreateDigitalHumanBusinessCardRequest request = new CreateDigitalHumanBusinessCardRequest() .withBody(req); // 发起请求 CreateDigitalHumanBusinessCardResponse response = client.createDigitalHumanBusinessCard(request); jobId = response.getJobId(); logger.info("createDigitalHumanBusinessCard " + response.toString()); } catch (ClientRequestException e) { logger.error("createDigitalHumanBusinessCard ClientRequestException " + e.getHttpStatusCode()); logger.error("createDigitalHumanBusinessCard ClientRequestException " + e); } catch (ServerResponseException e) { logger.error("createDigitalHumanBusinessCard ServerResponseException " + e.getHttpStatusCode()); logger.error("createDigitalHumanBusinessCard ServerResponseException " + e.getMessage()); } return jobId; }
6.2、查询数字人名片制作任务列表
/** * 查询数字人名片制作任务列表 * */ private static void listDigitalHumanBusinessCard(MetaStudioClient client) { logger.info("listDigitalHumanBusinessCard start"); ListDigitalHumanBusinessCardRequest request = new ListDigitalHumanBusinessCardRequest(); try { ListDigitalHumanBusinessCardResponse response = client.listDigitalHumanBusinessCard(request); logger.info("listDigitalHumanBusinessCard" + response.toString()); } catch (ClientRequestException e) { logger.error("listDigitalHumanBusinessCard ClientRequestException" + e.getHttpStatusCode()); logger.error("listDigitalHumanBusinessCard ClientRequestException" + e); } catch (ServerResponseException e) { logger.error("listDigitalHumanBusinessCard ServerResponseException" + e.getHttpStatusCode()); logger.error("listDigitalHumanBusinessCard ServerResponseException" + e.getMessage()); } }
6.3、查询数字人名片制作任务详情
/** * 查询数字人名片制作任务详情 * */ private static void showDigitalHumanBusinessCard(MetaStudioClient client, String jobId) { logger.info("showDigitalHumanBusinessCard start"); ShowDigitalHumanBusinessCardRequest request = new ShowDigitalHumanBusinessCardRequest().withJobId(jobId); try { ShowDigitalHumanBusinessCardResponse response = client.showDigitalHumanBusinessCard(request); logger.info("showDigitalHumanBusinessCard " + response.toString()); } catch (ClientRequestException e) { logger.error("showDigitalHumanBusinessCard ClientRequestException " + e.getHttpStatusCode()); logger.error("showDigitalHumanBusinessCard ClientRequestException " + e); } catch (ServerResponseException e) { logger.error("showDigitalHumanBusinessCard ServerResponseException " + e.getHttpStatusCode()); logger.error("showDigitalHumanBusinessCard ServerResponseException " + e.getMessage()); } }
6.4、更新数字人名片制作
/** * 更新数字人名片制作 * */ private static void updateDigitalHumanBusinessCard(MetaStudioClient client, String jobId, String imagePath) { logger.info("updateDigitalHumanBusinessCard start"); try { CreateDigitalHumanBusinessCardReq req = buildCreateDigitalHumanBusinessCardReq(client, imagePath).withVideoAssetName("<your video asset name>"); UpdateDigitalHumanBusinessCardRequest request = new UpdateDigitalHumanBusinessCardRequest() .withJobId(jobId) .withBody(req); UpdateDigitalHumanBusinessCardResponse response = client.updateDigitalHumanBusinessCard(request); logger.info("updateDigitalHumanBusinessCard " + response.toString()); } catch (ClientRequestException e) { logger.error("updateDigitalHumanBusinessCard ClientRequestException " + e.getHttpStatusCode()); logger.error("updateDigitalHumanBusinessCard ClientRequestException " + e); } catch (ServerResponseException e) { logger.error("updateDigitalHumanBusinessCard ServerResponseException " + e.getHttpStatusCode()); logger.error("updateDigitalHumanBusinessCard ServerResponseException " + e.getMessage()); } }
6.5、删除数字人名片制作任务
/** * 删除数字人名片制作任务 * */ private static void deleteDigitalHumanBusinessCard(MetaStudioClient client, String jobId) { logger.info("deleteDigitalHumanBusinessCard start"); DeleteDigitalHumanBusinessCardRequest request = new DeleteDigitalHumanBusinessCardRequest().withJobId(jobId); try { DeleteDigitalHumanBusinessCardResponse response = client.deleteDigitalHumanBusinessCard(request); logger.info("deleteDigitalHumanBusinessCard" + response.toString()); } catch (ClientRequestException e) { logger.error("deleteDigitalHumanBusinessCard ClientRequestException" + e.getHttpStatusCode()); logger.error("deleteDigitalHumanBusinessCard ClientRequestException" + e); } catch (ServerResponseException e) { logger.error("deleteDigitalHumanBusinessCard ServerResponseException" + e.getHttpStatusCode()); logger.error("deleteDigitalHumanBusinessCard ServerResponseException" + e.getMessage()); } }
7、运行结果
创建数字人名片制作
{ "X-Request-Id":"d923e9***", "job_id":"99c556***" }
查询数字人名片制作任务列表
{ "X-Request-Id":"63202a***", "jobs":[ { "output_asset_config":{ "asset_name":"name", "asset_id":"8894bd***" },"business_card_type":"2D_DIGITAL_HUMAN_CARD", "create_time":"2024-01-26T02:47:47Z", "job_id":"b37e93***", "lastupdate_time":"2024-01-26T02:47:47Z", "state":"WAITING" } ], "count":1752 }
查询数字人名片制作任务详情
{ "card_templet_asset_id":"cf1cb0***", "introduction_text":"<your introduction text>", "card_text_config":{ "address":"address", "mobile_phone":"123456789", "name":"name", "company":"company", "title":"title" },"X-Request-Id":"01374d***", "card_image_url":{ "human_image_url":"https://***" },"job_info":{ "output_asset_config":{ "asset_name":"name", "asset_id":"8894bd***" },"business_card_type":"2D_DIGITAL_HUMAN_CARD", "create_time":"2024-01-26T02:47:47Z", "job_id":"b37e93***", "lastupdate_time":"2024-01-26T02:47:47Z", "state":"WAITING" },"introduction_type":"TEXT", "voice_asset_id":"36c956***" }
更新数字人名片制作
{ "X-Request-Id":"75f546***", "job_id":"b37e93***" }
删除数字人名片制作任务
{ "X-Request-Id":"9155f6***" }
8、参考
本示例的代码工程仅用于简单演示,实际开发过程中应严格遵循开发指南。访问以下链接可以获取详细信息:开发指南