【SIS服务】python版token调用语音合成,怎么使用?

举报
美丽的天使 发表于 2026/09/02 09:28:26 2026/09/02
【摘要】 注意:此博客,调用了北京四局点语音合成API1、获取token,参考https://support.huaweicloud.com/sis_faq/sis_04_0077.html参考代码如下:(注意:文件名字为  get_token.py)#!/usr/bin/env python# -*- coding: utf-8 -*-import requestsdef get_subject_t...

注意:此博客,调用了北京四局点语音合成API

1、获取token,参考https://support.huaweicloud.com/sis_faq/sis_04_0077.html

参考代码如下:(注意:文件名字为  get_token.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests


def get_subject_token():
    # API的URL
    url = "https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens"

    # 请求头
    headers = {
        "Content-Type": "application/json"
    }

    # 请求体
    data = {
        "auth": {
            "identity": {
                "methods": [
                    "password"
                ],
                "password": {
                    "user": {
                        "name": "****",  # 用户名
                        "password": "******",  # 密码
                        "domain": {
                            "name": "*****"  # 账号名
                        }
                    }
                }
            },
            "scope": {
                "project": {
                    "name": "cn-north-4"  # 局点名称
                }
            }
        }
    }

    # 发送POST请求

    response = requests.post(url, headers=headers, json=data, verify=False)
    print(response.headers.get('x-subject-token'))
    # 检查响应状态码
    if response.status_code == 201:
        # 获取 X-Subject-Token
        x_subject_token = response.headers.get('X-subject-token')
        if x_subject_token:
            return x_subject_token
        else:
            print("响应头中未找到 X-Subject-Token")
    else:
        # 请求失败,打印错误信息
        print("请求失败,状态码:", response.status_code)
        print("错误信息:", response.text)


if __name__ == "__main__":
    get_subject_token()

2、调用语音合成接口,参考:https://support.huaweicloud.com/api-sis/sis_03_0111.html

参考代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 此demo仅供测试使用,强烈建议使用sdk。需提前安装requests,执行pip install requests
import requests
import json
import get_token


def stts_demo(endpoint, project_id):
    url = f'https://{endpoint}/v1/{project_id}/tts'
    token = get_token.get_subject_token()
    text = '待识别的文本'
    header = {
        'Content-Type': 'application/json',
        'X-Auth-Token': token
    }
    body = {'text': text}
    resp = requests.post(url, data=json.dumps(body), headers=header)
    print(resp.text)  # 返回结果,语音base64编码


if __name__ == '__main__':
    endpoint = "sis-ext.cn-north-4.myhuaweicloud.com"
    project_id = "*******"  # 此处请填写真实project id
    stts_demo(endpoint, project_id)

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。