更新时间:2024-04-17 GMT+08:00
分享

查询智能交互对话详情

功能介绍

该接口用于查询智能交互对话详情。

调用方法

请参见如何调用API

URI

GET /v1/{project_id}/smart-chat-rooms/{room_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方法请参考获取项目ID

room_id

String

智能交互对话ID。获取方法请参考创建智能交互对话

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。使用Token鉴权方式时必选。

通过调用IAM服务获取用户Token接口获取。

响应消息头中X-Subject-Token的值。

Authorization

String

使用AK/SK方式认证时必选,携带的鉴权信息。

X-Sdk-Date

String

使用AK/SK方式认证时必选,请求的发生时间。

格式为(YYYYMMDD'T'HHMMSS'Z')。

X-Project-Id

String

使用AK/SK方式认证时必选,携带项目ID信息。

X-App-UserId

String

第三方用户ID。不允许输入中文。

响应参数

状态码: 200

表3 响应Header参数

参数

参数类型

描述

X-Request-Id

String

请求ID。

表4 响应Body参数

参数

参数类型

描述

room_name

String

对话名称

room_description

String

对话描述。

video_config

VideoConfig object

视频输出配置。

说明:
  • 智能交互仅支持配置codec=H264,bitrate,width,height,frame_rate。

model_asset_id

String

数字人模型资产ID。

voice_config

VoiceConfig object

语音配置参数。

robot_id

String

机器人ID。获取方法请参考创建应用

concurrency

Integer

并发路数。

background_config

BackgroundConfigInfo object

背景配置。

layer_config

Array of LayerConfig objects

图层配置。

review_config

ReviewConfig object

内容审核配置

chat_subtitle_config

ChatSubtitleConfig object

对话字幕配置

chat_video_type

String

智能交互对话端配置。

  • COMPUTER: 电脑端

  • MOBILE: 手机端

  • HUB: 大屏

room_id

String

对话ID。

create_time

String

智能交互对话创建时间,格式遵循:RFC 3339 如"2021-01-10T08:43:17Z"。

update_time

String

智能交互对话更新时间,格式遵循:RFC 3339 如"2021-01-10T08:43:17Z"。

cover_url

String

对话封面图URL

表5 VideoConfig

参数

参数类型

描述

clip_mode

String

输出视频的剪辑方式。默认值RESIZE。

  • RESIZE:视频缩放。

  • CROP:视频裁剪。

codec

String

视频编码格式及视频文件格式。

  • H264: h264编码,输出mp4文件

  • VP8:vp8编码,输出webm文件

bitrate

Integer

输出平均码率。

单位:kbps。

最小值40,最大值30000。

说明:
  • 分身数字人视频制作采用质量优先,可能会超过设置的码率。

  • 分身数字人直播码率范围[1000, 8000]。

width

Integer

视频宽度。

单位:像素。

说明:
  • clip_mode=RESIZE时,当前支持1920x1080、1080x1920、1280x720、720x1280、3840x2160、2160x3840六种分辨率。4K分辨率视频需要分身数字人模型支持4K的情况下才能使用。

  • clip_mode=CROP,裁剪后视频,(dx,dy)为原点,保留视频像宽度为width。

  • 分身数字人直播目前只支持1080x1920。

height

Integer

视频高度。

单位:像素。

说明:
  • clip_mode=RESIZE时,当前支持1920x1080、1080x1920、1280x720、720x1280、3840x2160、2160x3840六种分辨率分辨率。

  • clip_mode=CROP,裁剪后视频,(dx,dy)为原点,保留视频像高度为height。

  • 分身数字人直播目前只支持1080x1920。

frame_rate

String

帧率。

单位:FPS。

说明:
  • 分身数字人视频固定25FPS。

is_subtitle_enable

Boolean

输出的视频是否带字幕。默认false。

说明:

true: 打开字幕 false: 关闭字幕

subtitle_config

SubtitleConfig object

字幕配置。

dx

Integer

裁剪视频左上角像素点坐标。

clip_mode= CROP时生效。

说明:
  • 以模特分辨率为画布大小,比如1920*1080分辨率的模特,dx最小值是0,最大值是1920。

dy

Integer

裁剪视频左上角像素点坐标。

clip_mode= CROP时生效。

说明:
  • 以模特分辨率为画布大小,比如1920*1080分辨率的模特,dy最小值是0,最大值是1080

表6 SubtitleConfig

参数

参数类型

描述

dx

Integer

字幕框左下角像素点坐标。

说明:

*横屏(16:9)视频像素为1920x1080;竖屏(9:16)视频像素为1080x1920。

dy

Integer

字幕框左下角像素点坐标。

说明:

*横屏(16:9)视频像素为1920x1080;竖屏(9:16)视频像素为1080x1920。

font_name

String

字体。当前支持的字体:

  • HarmonyOS_Sans_SC_Black:鸿蒙粗体

  • HarmonyOS_Sans_SC_Regular:鸿蒙常规

  • HarmonyOS_Sans_SC_Thin:鸿蒙细体

font_size

Integer

字体大小。

取值范围:[4, 120]

h

Integer

字幕框高度

说明:
  • 参数h用于方便前端计算字幕框左上角坐标,后台不使用该参数

w

Integer

字幕框宽度

说明:
  • 字幕框宽度固定为屏幕宽度的80%

  • 参数w用于方便前端计算字幕框左上角坐标,后台不使用该参数

表7 VoiceConfig

参数

参数类型

描述

voice_asset_id

String

音色资产ID。

speed

Integer

语速。

默认值100,最小值50,最大值200。

说明:
  • 当取值为“100”时,表示一个成年人正常的语速,约为250字/分钟。

  • 50表示0.5倍语速,100表示正常语速,200表示2倍语速。

pitch

Integer

音高。

默认值100,最小值50,最大值200。

volume

Integer

音量。

默认值140,最小值90,最大值240。

表8 BackgroundConfigInfo

参数

参数类型

描述

background_type

String

背景类型。

  • IMAGE:图片背景,指定图片用作分身数字人背景。

  • COLOR:纯色背景,指定颜色RGB值作为分身数字人背景。

background_config

String

背景文件的URL。

说明:
  • 仅直播支持外部URL,其他业务通过资产库查询获取,不支持外部URL。

  • background_type=COLOR时需要填写。

background_color_config

String

纯色背景的RGB颜色值。

说明:
  • background_type=IMAGE时需要填写。

background_asset_id

String

背景资产ID。

说明:
  • 背景是背景图片时,填图片资产ID。

表9 LayerConfig

参数

参数类型

描述

layer_type

String

图层类型。

  • HUMAN: 人物图层

  • IMAGE: 素材图片图层

  • VIDEO: 素材视频图层

  • TEXT: 素材文字图层

asset_id

String

图层所需资产的资产id,外部资产信息无需填写

group_id

String

多场景素材编组。同一group_id的素材,在应用全局时共享位置信息。

position

LayerPositionConfig object

图层位置配置。

size

LayerSizeConfig object

图层大小配置。

image_config

ImageLayerConfig object

素材图片图层配置。

video_config

VideoLayerConfig object

素材视频图层配置。

text_config

TextLayerConfig object

素材文字图层配置。

表10 LayerPositionConfig

参数

参数类型

描述

dx

Integer

图层左上角像素点的X轴位置值(画布左上角坐标是0x0)。

说明:
  • 横屏(16:9)画布像素为1920x1080;竖屏(9:16)画布像素为1080x1920。

dy

Integer

图层图片左上角像素点的Y轴位置值(画布左上角坐标是0x0)。

说明:

横屏(16:9)画布像素为1920x1080;竖屏(9:16)画布像素为1080x1920。

layer_index

Integer

图片/视频/人物图的层顺序。

说明:
  • 图层顺序从1开始的整数,底层图层顺序是1,往上依次增加。

表11 LayerSizeConfig

参数

参数类型

描述

width

Integer

图层图片宽度像素值(相对画布大小)。

说明:

横屏(16:9)画布像素为1920x1080;竖屏(9:16)画布像素为1080x1920。

height

Integer

图层图片高度像素值(相对画布大小)。

说明:

横屏(16:9)画布像素为1920x1080;竖屏(9:16)画布像素为1080x1920。

表12 ImageLayerConfig

参数

参数类型

描述

image_url

String

图片文件的URL。

表13 VideoLayerConfig

参数

参数类型

描述

video_url

String

视频文件的URL。

video_cover_url

String

视频封面文件的URL。

loop_count

Integer

循环播放视频次数。

表14 TextLayerConfig

参数

参数类型

描述

text_context

String

文字图层的文本,内容需做Base64编码。

示例:若想添加文字水印“测试文字水印”,那么text_context的值为:5rWL6K+V5paH5a2X5rC05Y2w

font_name

String

字体。当前支持的字体:

  • HarmonyOS_Sans_SC_Black:鸿蒙粗体

  • HarmonyOS_Sans_SC_Regular:鸿蒙常规

  • HarmonyOS_Sans_SC_Thin:鸿蒙细体

  • fzyouh:方正瘦体

font_size

Integer

字体大小(像素)。

取值范围:[4, 120]

font_color

String

字体颜色。RGB颜色值。

表15 ReviewConfig

参数

参数类型

描述

no_need_review

Boolean

免审核。 目前仅白名单用户可使用此参数,非白名单用户跟随系统策略审核。

表16 ChatSubtitleConfig

参数

参数类型

描述

dx

Integer

字幕左上角像素点坐标。

说明:

*横屏(16:9)视频像素为1920x1080;竖屏(9:16)视频像素为1080x1920。

dy

Integer

字幕左上角像素点坐标。

说明:

*横屏(16:9)视频像素为1920x1080;竖屏(9:16)视频像素为1080x1920。

width

Integer

图层图片宽度像素值(相对画布大小)。

说明:

横屏(16:9)画布像素为1920x1080;竖屏(9:16)画布像素为1080x1920。

height

Integer

图层图片高度像素值(相对画布大小)。

说明:

横屏(16:9)画布像素为1920x1080;竖屏(9:16)画布像素为1080x1920。

状态码: 400

表17 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

状态码: 401

表18 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

状态码: 404

表19 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

状态码: 500

表20 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

请求示例

GET https://{endpoint}/v1/70b76xxxxxx34253880af501cdxxxxxx/smart-chat-rooms/24bad716-87b1-45e5-8912-6102f7693265

响应示例

状态码: 200

成功。

{
  "room_id" : "24bad716-87b1-45e5-8912-6102f7693265",
  "room_name" : "云笙展厅",
  "room_description" : "云笙"
}

状态码: 400

{
  "error_code" : "MSS.00000003",
  "error_msg" : "Invalid parameter"
}

状态码: 401

{
  "error_code" : "MSS.00000001",
  "error_msg" : "Unauthorized"
}

状态码: 404

{
  "error_code" : "MSS.00000002",
  "error_msg" : "Not Found"
}

状态码: 500

{
  "error_code" : "MSS.00000004",
  "error_msg" : "Internal Error"
}

SDK代码示例

SDK代码示例如下。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.metastudio.v1.region.MetaStudioRegion;
import com.huaweicloud.sdk.metastudio.v1.*;
import com.huaweicloud.sdk.metastudio.v1.model.*;


public class ShowSmartChatRoomSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        MetaStudioClient client = MetaStudioClient.newBuilder()
                .withCredential(auth)
                .withRegion(MetaStudioRegion.valueOf("<YOUR REGION>"))
                .build();
        ShowSmartChatRoomRequest request = new ShowSmartChatRoomRequest();
        request.withRoomId("{room_id}");
        try {
            ShowSmartChatRoomResponse response = client.showSmartChatRoom(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# coding: utf-8

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkmetastudio.v1.region.metastudio_region import MetaStudioRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkmetastudio.v1 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = __import__('os').getenv("CLOUD_SDK_AK")
    sk = __import__('os').getenv("CLOUD_SDK_SK")
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId) \

    client = MetaStudioClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(MetaStudioRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ShowSmartChatRoomRequest()
        request.room_id = "{room_id}"
        response = client.show_smart_chat_room(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    metastudio "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := metastudio.NewMetaStudioClient(
        metastudio.MetaStudioClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ShowSmartChatRoomRequest{}
	request.RoomId = "{room_id}"
	response, err := client.ShowSmartChatRoom(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

成功。

400

请求传参异常,包含错误码及对应描述。

401

未鉴权或鉴权失败。

404

无内容。

500

内部服务错误。

错误码

请参见错误码

分享:

    相关文档

    相关产品