You need to enable JavaScript to run this app.
导航
调用量查询接口说明
最近更新时间:2025.03.07 14:32:05首次发布时间:2025.03.07 14:32:05
我的收藏
有用
有用
无用
无用

接口描述

接口地址:open.volcengineapi.com
请求方式:GET
认证方式:可直接查看示例代码计算方式

Requests

参数

类型

是否必须

说明

示例

AppID

string

应用ID,通过应用列表获取,应用和账号有从属关系校验

10000000

ResourceID

string

详见附件

volc.service_type.10029

Start

date

查询起始时间,仅支持yyyy-MM-dd 格式

2025-02-23

End

date

查询结束时间,仅支持yyyy-MM-dd 格式

2025-02-25

Mode

string

查询模式,支持按天维度查询:daily

daily

Response

参数

类型

是否必须

说明

示例

status

string

响应状态,成功或失败

success

data

object

响应数据

详见下面示例部分

  • usage_monitoring

array

调用量监控结果,如果无数据,则为null

详见下面响应示例

  • day

string

查询日期维度指标

  • value

float

具体的调用量

error

string

如果有错误的话,会展示出此字段

按天查询的响应示例

{
    "status": "success",
    "error": null,
    "data": {
        "usage_monitoring": [
            {
                "day": "2025-02-23",
                "value": 472005
            },
            {
                "day": "2025-02-24",
                "value": 524597
            },
            {
                "day": "2025-02-25",
                "value": 316925
            }
        ]
    }
}

示例代码

Python

# coding:utf-8
"""
Copyright (year) Beijing Volcano Engine Technology Ltd.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""

import datetime
import hashlib
import hmac
import json
from urllib.parse import quote

import requests


# 以下参数视服务不同而不同,一个服务内通常是一致的
Service = "speech_saas_prod"
Version = "2021-08-30"
Region = "cn-north-1"
Host = "open.volcengineapi.com"
ContentType = "application/json; charset=utf-8"

# 请求的凭证,从IAM或者STS服务中获取
AK = ''
SK = ''

# 当使用临时凭证时,需要使用到SessionToken传入Header,并计算进SignedHeader中,请自行在header参数中添加X-Security-Token头
# SessionToken = ""


def norm_query(params):
    query = ""
    for key in sorted(params.keys()):
        if type(params[key]) == list:
            for k in params[key]:
                query = (
                        query + quote(key, safe="-_.~") + "=" + quote(k, safe="-_.~") + "&"
                )
        else:
            query = (query + quote(key, safe="-_.~") + "=" + quote(params[key], safe="-_.~") + "&")
    query = query[:-1]
    return query.replace("+", "%20")


# 第一步:准备辅助函数。
# sha256 非对称加密
def hmac_sha256(key: bytes, content: str):
    return hmac.new(key, content.encode("utf-8"), hashlib.sha256).digest()


# sha256 hash算法
def hash_sha256(content: str):
    return hashlib.sha256(content.encode("utf-8")).hexdigest()


# 第二步:签名请求函数
def request(method, date, query, header, ak, sk, action, body):
    # 第三步:创建身份证明。其中的 Service 和 Region 字段是固定的。ak 和 sk 分别代表
    # AccessKeyID 和 SecretAccessKey。同时需要初始化签名结构体。一些签名计算时需要的属性也在这里处理。
    # 初始化身份证明结构体
    credential = {
        "access_key_id": ak,
        "secret_access_key": sk,
        "service": Service,
        "region": Region,
    }
    # 初始化签名结构体
    request_param = {
        "body": body,
        "host": Host,
        "path": "/",
        "method": method,
        "content_type": ContentType,
        "date": date,
        "query": {"Action": action, "Version": Version, **query},
    }
    if body is None:
        request_param["body"] = ""
    # 第四步:接下来开始计算签名。在计算签名前,先准备好用于接收签算结果的 signResult 变量,并设置一些参数。
    # 初始化签名结果的结构体
    x_date = request_param["date"].strftime("%Y%m%dT%H%M%SZ")
    short_x_date = x_date[:8]
    x_content_sha256 = hash_sha256(request_param["body"])
    sign_result = {
        "Host": request_param["host"],
        "X-Content-Sha256": x_content_sha256,
        "X-Date": x_date,
        "Content-Type": request_param["content_type"],
    }
    # 第五步:计算 Signature 签名。
    signed_headers_str = ";".join(
        ["content-type", "host", "x-content-sha256", "x-date"]
    )
    # signed_headers_str = signed_headers_str + ";x-security-token"
    canonical_request_str = "\n".join(
        [request_param["method"].upper(),
         request_param["path"],
         norm_query(request_param["query"]),
         "\n".join(
             [
                 "content-type:" + request_param["content_type"],
                 "host:" + request_param["host"],
                 "x-content-sha256:" + x_content_sha256,
                 "x-date:" + x_date,
             ]
         ),
         "",
         signed_headers_str,
         x_content_sha256,
         ]
    )

    # 打印正规化的请求用于调试比对
    print(f"##### canonical_request_str: #####\n{canonical_request_str}\n")
    hashed_canonical_request = hash_sha256(canonical_request_str)

    # 打印hash值用于调试比对
    print(f"##### hashed_canonical_request: #####\n{hashed_canonical_request}\n")
    credential_scope = "/".join([short_x_date, credential["region"], credential["service"], "request"])
    string_to_sign = "\n".join(["HMAC-SHA256", x_date, credential_scope, hashed_canonical_request])

    # 打印最终计算的签名字符串用于调试比对
    print(f"##### string_to_sign: #####\n{string_to_sign}\n")
    k_date = hmac_sha256(credential["secret_access_key"].encode("utf-8"), short_x_date)
    k_region = hmac_sha256(k_date, credential["region"])
    k_service = hmac_sha256(k_region, credential["service"])
    k_signing = hmac_sha256(k_service, "request")
    signature = hmac_sha256(k_signing, string_to_sign).hex()

    sign_result["Authorization"] = "HMAC-SHA256 Credential={}, SignedHeaders={}, Signature={}".format(
        credential["access_key_id"] + "/" + credential_scope,
        signed_headers_str,
        signature,
    )
    header = {**header, **sign_result}
    # header = {**header, **{"X-Security-Token": SessionToken}}
    # 第六步:将 Signature 签名写入 HTTP Header 中,并发送 HTTP 请求。
    r = requests.request(method=method,
                         url="https://{}{}".format(request_param["host"], request_param["path"]),
                         headers=header,
                         params=request_param["query"],
                         data=request_param["body"],
                         )
    # print(r.status_code)
    # print(f"##### response header: #####\n{r.headers}\n")
    return r.json()


if __name__ == "__main__":
    now = datetime.datetime.utcnow()
    # query参数参考文档部分填充
    response_body = request("GET", now, {
        "AppID": "APPID真实值",
        "ResourceID": "ResourceID真实值",
        "Start": "2025-02-23",
        "End": "2025-02-25",
        "Mode": "daily",
    }, {}, AK, SK, "UsageMonitoring", None)
    print(f"response_body: \n{response_body}")

Java

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.io.DataInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * Copyright (year) Beijing Volcano Engine Technology Ltd.
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

public class Sign {

    private static final BitSet URLENCODER = new BitSet(256);

    private static final String CONST_ENCODE = "0123456789abcdef";
    public static final Charset UTF_8 = StandardCharsets.UTF_8;

    private final String region;
    private final String service;
    private final String schema;
    private final String host;
    private final String path;
    private final String ak;
    private final String sk;

    static {
        int i;
        for (i = 97; i <= 122; ++i) {
            URLENCODER.set(i);
        }

        for (i = 65; i <= 90; ++i) {
            URLENCODER.set(i);
        }

        for (i = 48; i <= 57; ++i) {
            URLENCODER.set(i);
        }
        URLENCODER.set('-');
        URLENCODER.set('_');
        URLENCODER.set('.');
        URLENCODER.set('~');
    }

    public Sign(String region, String service, String schema, String host, String path, String ak, String sk) {
        this.region = region;
        this.service = service;
        this.host = host;
        this.schema = schema;
        this.path = path;
        this.ak = ak;
        this.sk = sk;
    }

    public void doRequest(String method, Map<String, String> query, byte[] body, Date date, String action, String version) throws Exception {
        if (body == null) {
            body = new byte[0];
        }
        String xContentSha256 = hashSHA256(body);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'");
        sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
        String xDate = sdf.format(date);
        String shortXDate = xDate.substring(0, 8);
        String contentType = "application/json; charset=utf-8";
        String signHeader = "content-type;host;x-content-sha256;x-date";
        SortedMap<String, String> realQueryList = new TreeMap<>();
        realQueryList.put("Action", action);
        realQueryList.put("Version", version);
        realQueryList.putAll(query);
        StringBuilder querySB = new StringBuilder();
        for (String key : realQueryList.keySet()) {
            querySB.append(signStringEncoder(key)).append("=").append(signStringEncoder(realQueryList.get(key))).append("&");
        }
        querySB.deleteCharAt(querySB.length() - 1);

        String canonicalStringBuilder = method + "\n" + path + "\n" + querySB + "\n" + "content-type:" + contentType + "\n" + "host:" + host + "\n" + "x-content-sha256:" + xContentSha256 + "\n" + "x-date:" + xDate + "\n" + "\n" + signHeader + "\n" + xContentSha256;

        System.out.println(canonicalStringBuilder);

        String hashcanonicalString = hashSHA256(canonicalStringBuilder.getBytes());
        String credentialScope = shortXDate + "/" + region + "/" + service + "/request";
        String signString = "HMAC-SHA256" + "\n" + xDate + "\n" + credentialScope + "\n" + hashcanonicalString;

        byte[] signKey = genSigningSecretKeyV4(sk, shortXDate, region, service);
        String signature = bytesToHex(hmacSHA256(signKey, signString));
        System.out.println(signature);
        URL url = new URL(schema + "://" + host + path + "?" + querySB);

        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod(method);
        conn.setRequestProperty("Host", host);
        conn.setRequestProperty("X-Date", xDate);
        conn.setRequestProperty("X-Content-Sha256", xContentSha256);
        conn.setRequestProperty("Content-Type", contentType);
        conn.setRequestProperty("Authorization", "HMAC-SHA256" + " Credential=" + ak + "/" + credentialScope + ", SignedHeaders=" + signHeader + ", Signature=" + signature);
        if (!Objects.equals(conn.getRequestMethod(), "GET")) {
            conn.setDoOutput(true);
            OutputStream os = conn.getOutputStream();
            os.write(body);
            os.flush();
            os.close();
        }
        conn.connect();

        int responseCode = conn.getResponseCode();

        InputStream is;
        if (responseCode == 200) {
            is = conn.getInputStream();
        } else {
            is = conn.getErrorStream();
        }
        byte[] bytes = new byte[is.available()];
        DataInputStream dataInputStream = new DataInputStream(is);
        dataInputStream.readFully(bytes);
        String responseBody = new String(bytes);
        is.close();

        System.out.println(responseCode);
        System.out.println(responseBody);
    }

    private String signStringEncoder(String source) {
        if (source == null) {
            return null;
        }
        StringBuilder buf = new StringBuilder(source.length());
        ByteBuffer bb = UTF_8.encode(source);
        while (bb.hasRemaining()) {
            int b = bb.get() & 255;
            if (URLENCODER.get(b)) {
                buf.append((char) b);
            } else if (b == 32) {
                buf.append("%20");
            } else {
                buf.append("%");
                char hex1 = CONST_ENCODE.charAt(b >> 4);
                char hex2 = CONST_ENCODE.charAt(b & 15);
                buf.append(hex1);
                buf.append(hex2);
            }
        }

        return buf.toString();
    }

    public static String hashSHA256(byte[] content) throws Exception {
        try {
            MessageDigest md = MessageDigest.getInstance("SHA-256");

            return bytesToHex(md.digest(content));
        } catch (Exception e) {
            throw new Exception("Unable to compute hash while signing request: " + e.getMessage(), e);
        }
    }

    public static byte[] hmacSHA256(byte[] key, String content) throws Exception {
        try {
            Mac mac = Mac.getInstance("HmacSHA256");
            mac.init(new SecretKeySpec(key, "HmacSHA256"));
            return mac.doFinal(content.getBytes());
        } catch (Exception e) {
            throw new Exception("Unable to calculate a request signature: " + e.getMessage(), e);
        }
    }

    private byte[] genSigningSecretKeyV4(String secretKey, String date, String region, String service) throws Exception {
        byte[] kDate = hmacSHA256((secretKey).getBytes(), date);
        byte[] kRegion = hmacSHA256(kDate, region);
        byte[] kService = hmacSHA256(kRegion, service);
        return hmacSHA256(kService, "request");
    }

    public static String bytesToHex(byte[] bytes) {
        char[] hexChars = new char[bytes.length * 2];
        for (int j = 0; j < bytes.length; j++) {
            int v = bytes[j] & 0xFF;
            hexChars[j * 2] = CONST_ENCODE.toCharArray()[v >>> 4];
            hexChars[j * 2 + 1] = CONST_ENCODE.toCharArray()[v & 0x0F];
        }
        return new String(hexChars);
    }

    public static void main(String[] args) throws Exception {
        String AccessKeyID = "";
        String SecretAccessKey = "";

        String endpoint = "open.volcengineapi.com";
        String path = "/";
        String service = "speech_saas_prod";
        String region = "cn-north-1";
        String schema = "https";
        Sign sign = new Sign(region, service, schema, endpoint, path, AccessKeyID, SecretAccessKey);

        String version = "2021-08-30";
        Date date = new Date();
        String action = "UsageMonitoring";
        Map<String, String> queryParams = Map.of(
                "AppID", "APPID真实值",
                "ResourceID", "ResourceID真实值",
                "Start", "2025-02-23",
                "End", "2025-02-25",
                "Mode", "daily"
        );
        sign.doRequest("GET", queryParams, null, date, action, version);
    }
}

Go

/*
Copyright (year) Beijing Volcano Engine Technology Ltd.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package main

import (
    "bytes"
    "crypto/hmac"
    "crypto/sha256"
    "encoding/hex"
    "fmt"
    "log"
    "net/http"
    "net/http/httputil"
    "net/url"
    "strings"
    "time"
)

const (
    // 请求凭证,从访问控制申请
    AccessKeyID     = ""
    SecretAccessKey = ""

    // 请求地址
    Addr = "https://open.volcengineapi.com"
    Path = "/" // 路径,不包含 Query

    // 请求接口信息
    Service = "speech_saas_prod"
    Region  = "cn-north-1"
    Action  = "UsageMonitoring"
    Version = "2021-08-30"
)

func hmacSHA256(key []byte, content string) []byte {
    mac := hmac.New(sha256.New, key)
    mac.Write([]byte(content))
    return mac.Sum(nil)
}

func getSignedKey(secretKey, date, region, service string) []byte {
    kDate := hmacSHA256([]byte(secretKey), date)
    kRegion := hmacSHA256(kDate, region)
    kService := hmacSHA256(kRegion, service)
    kSigning := hmacSHA256(kService, "request")

    return kSigning
}

func hashSHA256(data []byte) []byte {
    hash := sha256.New()
    if _, err := hash.Write(data); err != nil {
       log.Printf("input hash err:%s", err.Error())
    }

    return hash.Sum(nil)
}

func doRequest(method string, queries url.Values, body []byte) error {
    // 1. 构建请求
    requestAddr := fmt.Sprintf("%s%s?%s", Addr, Path, queries.Encode())
    log.Printf("request addr: %s\n", requestAddr)

    request, err := http.NewRequest(method, requestAddr, bytes.NewBuffer(body))
    if err != nil {
       return fmt.Errorf("bad request: %w", err)
    }

    // 2. 构建签名材料
    now := time.Now()
    date := now.UTC().Format("20060102T150405Z")
    authDate := date[:8]
    request.Header.Set("X-Date", date)

    payload := hex.EncodeToString(hashSHA256(body))
    request.Header.Set("X-Content-Sha256", payload)
    request.Header.Set("Content-Type", "application/x-www-form-urlencoded")

    queryString := strings.Replace(queries.Encode(), "+", "%20", -1)
    signedHeaders := []string{"host", "x-date", "x-content-sha256", "content-type"}
    var headerList []string
    for _, header := range signedHeaders {
       if header == "host" {
          headerList = append(headerList, header+":"+request.Host)
       } else {
          v := request.Header.Get(header)
          headerList = append(headerList, header+":"+strings.TrimSpace(v))
       }
    }
    headerString := strings.Join(headerList, "\n")

    canonicalString := strings.Join([]string{
       method,
       Path,
       queryString,
       headerString + "\n",
       strings.Join(signedHeaders, ";"),
       payload,
    }, "\n")
    log.Printf("canonical string:\n%s\n", canonicalString)

    hashedCanonicalString := hex.EncodeToString(hashSHA256([]byte(canonicalString)))
    log.Printf("hashed canonical string: %s\n", hashedCanonicalString)

    credentialScope := authDate + "/" + Region + "/" + Service + "/request"
    signString := strings.Join([]string{
       "HMAC-SHA256",
       date,
       credentialScope,
       hashedCanonicalString,
    }, "\n")
    log.Printf("sign string:\n%s\n", signString)

    // 3. 构建认证请求头
    signedKey := getSignedKey(SecretAccessKey, authDate, Region, Service)
    signature := hex.EncodeToString(hmacSHA256(signedKey, signString))
    log.Printf("signature: %s\n", signature)

    authorization := "HMAC-SHA256" +
       " Credential=" + AccessKeyID + "/" + credentialScope +
       ", SignedHeaders=" + strings.Join(signedHeaders, ";") +
       ", Signature=" + signature
    request.Header.Set("Authorization", authorization)
    log.Printf("authorization: %s\n", authorization)

    // 4. 打印请求,发起请求
    requestRaw, err := httputil.DumpRequest(request, true)
    if err != nil {
       return fmt.Errorf("dump request err: %w", err)
    }

    log.Printf("request:\n%s\n", string(requestRaw))

    response, err := http.DefaultClient.Do(request)
    if err != nil {
       return fmt.Errorf("do request err: %w", err)
    }

    // 5. 打印响应
    responseRaw, err := httputil.DumpResponse(response, true)
    if err != nil {
       return fmt.Errorf("dump response err: %w", err)
    }

    log.Printf("response:\n%s\n", string(responseRaw))

    if response.StatusCode == 200 {
       log.Printf("请求成功")
    } else {
       log.Printf("请求失败")
    }

    return nil
}

func main() {
    queries := make(url.Values)
    queries.Set("Action", Action)
    queries.Set("Version", Version)
    queries.Set("AppID", "APPID真实值")
    queries.Set("ResourceID", "ResourceID真实值")
    queries.Set("Start", "2025-02-23")
    queries.Set("End", "2025-02-25")
    queries.Set("Mode", "daily")
    doRequest(http.MethodGet, queries, []byte{})
}

附录

ResourceID 说明

商品名称

商品 Code

resource_id

调用量查询指标

声音复刻-并发版

VoiceCloning

volc.megatts.concurr

text_words

声音复刻-字符版

VoiceCloning

volc.megatts.default

text_words

语音合成大模型

BigTTS

volc.service_type.10029

text_words

语音识别大模型-流式-小时版

Speech_Recognition_Seed_streaming

volc.bigasr.sauc.duration

audio_duration

语音识别大模型-流式-并发版

Speech_Recognition_Seed_streaming

volc.bigasr.sauc.concurrent

audio_duration

语音识别大模型-录音文件识别

Speech_Recognition_Seed_AUC

volc.bigasr.auc

audio_duration

语音合成(小模型版)

Speech_Synthesis

volc.tts.default

requests

一句话识别-办公-中文

one-sentence-recognition

volc.onesentenceasr.office.cn

sessions

一句话识别-办公-英文

one-sentence-recognition

volc.onesentenceasr.office.en

sessions

一句话识别-教育-中文

one-sentence-recognition

volc.onesentenceasr.education.cn

sessions

一句话识别-教育-英文

one-sentence-recognition

volc.onesentenceasr.education.en

sessions

流式语音识别-通用-中文

streaming speech recognition

volc.streamingasr.common.cn

audio_duration

流式语音识别-通用-粤语

streaming speech recognition

volc.streamingasr.common.cant

audio_duration

流式语音识别-通用-川渝

streaming speech recognition

volc.streamingasr.common.sc

audio_duration

流式语音识别-办公-中文

streaming speech recognition

volc.streamingasr.office.cn

audio_duration

流式语音识别-办公-英文

streaming speech recognition

volc.streamingasr.office.en

audio_duration

流式语音识别-办公-日语

streaming speech recognition

volc.streamingasr.office.ja

audio_duration

流式语音识别-客服-中文

streaming speech recognition

volc.streamingasr.phone.cn

audio_duration

流式语音识别-办公-韩语

streaming speech recognition

volc.service_type.82

audio_duration

流式语音识别-办公-法语

streaming speech recognition

volc.service_type.585

audio_duration

流式语音识别-办公-西班牙语

streaming speech recognition

volc.service_type.586

audio_duration

流式语音识别-办公-葡萄牙语

streaming speech recognition

volc.service_type.587

audio_duration

流式语音识别-办公-印尼语

streaming speech recognition

volc.service_type.10021

audio_duration

流式语音识别-办公-俄语

streaming speech recognition

volc.service_type.10022

audio_duration

流式语音识别-办公-马来语

streaming speech recognition

volc.service_type.10023

audio_duration

录音文件识别-办公-标准版

AUC

volc.auc.office

audio_duration

录音文件识别-客服-标准版

AUC

volc.auc.phone

audio_duration

录音文件识别-娱乐-标准版

AUC

volc.auc.entertainment

audio_duration

录音文件识别-通用-标准版

AUC

volc.auc.common

audio_duration

录音文件识别-通用-极速版

AUC

volc.service_type.76

audio_duration

录音文件识别-办公-极速版

AUC

volc.service_type.77

audio_duration

录音文件识别-客服-极速版

AUC

volc.service_type.78

audio_duration

录音文件识别-娱乐-极速版

AUC

volc.service_type.79

audio_duration

口语评测-中文

MDD

volc.service_type.80

requests

口语评测-英文

MDD

volc.service_type.81

requests

音色转换-音色转换

voice_conversion_plus

volc.service_type.83

audio_duration

一句话识别-通用-中文

one-sentence-recognition

volc.onesentenceasr.common.cn

sessions

一句话识别-办公-韩语

one-sentence-recognition

volc.service_type.578

sessions

一句话识别-办公-日语

one-sentence-recognition

volc.service_type.579

sessions

一句话识别-办公-法语

one-sentence-recognition

volc.service_type.580

sessions

一句话识别-办公-西班牙语

one-sentence-recognition

volc.service_type.581

sessions

一句话识别-办公-葡萄牙语

one-sentence-recognition

volc.service_type.582

sessions

一句话识别-通用-川渝

one-sentence-recognition

volc.service_type.583

sessions

一句话识别-通用-粤语

one-sentence-recognition

volc.service_type.584

sessions

一句话识别-办公-印尼语

one-sentence-recognition

volc.service_type.10018

sessions

一句话识别-办公-俄语

one-sentence-recognition

volc.service_type.10019

sessions

一句话识别-办公-马来语

one-sentence-recognition

volc.service_type.10020

sessions

精品长文本语音合成-普通版

long-text-tts

volc.tts_async.default

text_words

精品长文本语音合成-情感预测版

long-text-tts

volc.tts_async.emotion

text_words

自动字幕打轴-自动字幕打轴

Automatic_Transcript_Alignment

volc.ata.default

audio_duration