QQTool 后端接口

PRE-CS-ADAPTER API DOC #

TTS 请求 #

POST /api/v2/request/tts Request:

参数类型必填说明
provider_idstringtrue供应商 ID,支持TTS1, TTS3, TTS4
voice_idstringtrue发音人 ID
languagestringfalse语言
querystringtrue待合成语音的文本内容
ssmlbooleanfalse是否使用 SSML
timeoutintfalse等待中控返回的超时时间,单位为 ms。如中控在超时时间内返回,直接返回 TTS 结果,否则返回 request_id
pitch_offsetfloatfalse音调,数值越大越尖锐,越低越低沉,支持范围 [-60, 60];默认 0
speed_ratiofloatfalse语速,数值越大语速越慢,支持范围 [0.5, 2];默认 1.0
volumeintfalse音量,数值越大声音越大,支持范围 [1, 400];默认 100
stylestringfalse声音风格,不同发音人支持的风格不同,请参考供应商文档
{
    "provider_id": "TTS3",
    "voice_id": "xiaoling",
    "query": "待合成语音的文本内容xxxxxx",
    "timeout": 3000,
    "pitch_offset": 0.0,
    "speed_ratio": 1.0,
    "volume": 100,
    "style": "default"
}

Response:

字段类型说明
codeintcode 码,见状态表
messagestring状态说明
dataobject结果数据
data.statusint状态,见状态表
data.request_idstring请求 ID
data.resultobjectTTS 合成结果,如中控在超时时间内返回,返回此字段否则此字段为空{}
data.result.pcm_urlstringTTS 合成音频 PCM 文件 URL
data.result.wav_urlstringTTS 合成音频 WAV 文件 URL
data.result.mp3_urlstringTTS 合成音频 MP3 文件 URL
data.result.srt_urlstringTTS 音频字幕 SRT 文件 URL
data.result.phone_urlstringTTS 音素文件 URL

case1:请求超时

{
    "code": 0,
    "message": "created",
    "data": {
        "status": 1000,
        "request_id": "99c3f13f-c2b7-4388-91ff-8f3244d2c5b7",
        "result": {}
    }
}

case2:请求未超时,请求成功

{
    "code": 0,
    "message": "ok",
    "data": {
        "status": 0,
        "request_id": "99c3f13f-c2b7-4388-91ff-8f3244d2c5b7",
        "result": {
        "pcm_url": "https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx/audio1.pcm",
        "wav_url": "https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx/audio1.wav",
        "mp3_url": "https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx/audio1.mp3",
        "srt_url": "https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx/audio1.srt",
        "phone_url": "https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx/audio1.phone"
        }
    }
}

TTS 状态查询接口 #

POST /api/v2/result/tts Request:

参数类型必填说明
request_idstringtrue请求 ID
{
    "request_id": "99c3f13f-c2b7-4388-91ff-8f3244d2c5b7"
}

Response:

字段类型说明
codeintcode 码,见状态表
messagestring状态说明
dataobject结果数据
data.statusint状态,见状态表
data.request_idstring请求 ID
data.resultobjectTTS 合成结果,如中控在超时时间内返回,返回此字段否则此字段为空{}
data.result.pcm_urlstringTTS 合成音频 PCM 文件 URL
data.result.wav_urlstringTTS 合成音频 WAV 文件 URL
data.result.mp3_urlstringTTS 合成音频 MP3 文件 URL
data.result.srt_urlstringTTS 音频字幕 SRT 文件 URL
data.result.phone_urlstringTTS 音素文件 URL

case1:还在处理

{
    "code": 0,
    "message": "created",
    "data": {
        "status": 1000,
        "request_id": "99c3f13f-c2b7-4388-91ff-8f3244d2c5b7",
        "result": {}
    }
}

case2: 已处理完毕

{
    "code": 0,
    "message": "ok",
    "data": {
        "status": 0,
        "request_id": "99c3f13f-c2b7-4388-91ff-8f3244d2c5b7",
        "result": {
        "pcm_url": "https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx/audio1.pcm",
        "wav_url": "https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx/audio1.wav",
        "mp3_url": "https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx/audio1.mp3",
        "srt_url": "https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx/audio1.srt",
        "phone_url": "https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx/audio1.phone"
        }
    }
}

ASR 请求 #

POST /api/v2/request/asr Request:

Media Type: multipart/form-data

参数类型必填说明
filefiletrue待识别文本的音频文件

Response:

字段类型说明
codeintcode 码,见状态表
messagestring状态说明
dataobject结果数据
data.statusint状态,见状态表
data.request_idstring请求 ID
{
    "code": 0,
    "message": "created",
    "data": {
        "status": 1000,
        "request_id": "99c3f13f-c2b7-4388-91ff-8f3244d2c5b7",
        "result": {}
    }
}

ASR 状态查询接口 #

POST /api/v2/result/asr Request:

参数类型必填说明
request_idstringtrue请求 ID
{
    "request_id": "99c3f13f-c2b7-4388-91ff-8f3244d2c5b7"
}

Response:

字段类型说明
codeintcode 码,见状态表
messagestring状态说明
dataobject结果数据
data.statusint状态,见状态表
data.request_idstring请求 ID
data.resultobjectASR 请求结果,如中控在超时时间内返回,返回此字段,否则此字段为空{}
data.result.srt_urlstringASR 音频字幕 SRT 文件 URL
data.result.textstringASR 识别结果

case1:还在处理

{
    "code": 0,
    "message": "created",
    "data": {
        "status": 1000,
        "request_id": "99c3f13f-c2b7-4388-91ff-8f3244d2c5b7",
        "result": {}
    }
}

case2: 已处理完毕

{
    "code": 0,
    "message": "ok",
    "data": {
        "status": 0,
        "request_id": "99c3f13f-c2b7-4388-91ff-8f3244d2c5b7",
        "result": {
        "srt_url": "https://xxx.oss-cn-hangzhou.aliyuncs.com/xxx/audio1.srt",
        "text": "ASR识别结果"
        }
    }
}

图片生成 获取可选参数 #

GET /api/v2/config/image Reponse:

字段类型说明
codeintcode码,见状态表
messagestring状态说明
dataobject结果数据
data.model_namestring list可选模型列表
data.n_imagesobject可选生成图片数量
data.n_images.minobject可选生成图片数量最小值(包含)
data.n_images.maxint可选生成图片数量最大值(包含)
data.scaleobject可选文本控制力度
data.scale.minint可选文本控制力度最小值(包含)
data.scale.maxint可选文本控制力度最大值(包含)
data.seedobject可选种子范围
data.seed.minint可选种子范围最小值(包含)
data.seed.maxint可选种子范围最大值(包含)
data.output_sizeobject list可选输出图片比例及尺寸
data.output_size.ratiostring可选输出图片比例
data.output_size.pxstring list可选输出图片尺寸
{
    "code": 0,
    "message": "ok",
    "data": {
        "model_name": [
                "Artist 0.2.3 Beta",
                "Moxin",
                "Dalcefo",
                "RPG游戏风",
                "动漫汉服风",
                "连环画风",
                "Q版手办风",
                "剪纸风",
                "水彩风",
                "中国戏曲女旦风"
            ],
        "n_images": {
            "min": 1,
            "max": 8
        },
        "scale": {
            "min": 1,
            "max": 20
        },
        "seed": {
            "min": 0,
            "max": 9999999
        },
        "output_size": [
            {
                "ratio": "1:1",
                "px": [
                    "960x960",
                    "1280x1280",
                    "2560x2560",
                    "4096x4096"
                ],
            },
            {
                "ratio": "2:3",
                "px": [
                    "768x1152",
                    "1024x1536",
                    "2048x3072",
                    "4096x6144"
                ],
            },
            {
                "ratio": "3:2",
                "px": [
                    "1152x768",
                    "1536x1024",
                    "3072x2048",
                    "6144x4096"
                ]
            }
        ]
    }
}

图片生成 请求 #

POST /api/v2/request/image Request:

参数名称类型必填默认值含义
model_namestringtrueArtist_V0.1.3模型名称(可选值: Artist_V0.1.3, Albedo_V0.5.2, Moxin…)
promptstringtrue""用于生成图片的特征描述,如:“one girl,beautiful”
neg_promptstringfalse""特征的反向描述,如:“unsafe”
n_imagesinttrue2生成图片数量
scaleinttrue7文本控制力度(1-20)
select_seedintfalse-1随机数种子
output_sizestringtrue960x960图片的输出尺寸,如:“960x960”
init_imgstringfalse""输入图片,url形式,若有即为i2i(图生图),无即为t2i(文生图)
controlnet_enabledboolfalsefalse是否启用controlnet
add_promptboolfalsefalse是否使用gpt进行描述词优化

Response:

字段类型说明
codeintcode码,见状态表
messagestring状态说明
dataobject结果数据
data.statusint状态,见状态表
data.request_idstring请求ID
{
    "code": 0,
    "message": "created",
    "data": {
        "status":1000,
        "request_id": "99c3f13f-c2b7-4388-91ff-8f3244d2c5b7",
        "result": {}
    }
}

图片生成 状态查询接口 #

POST /api/v2/result/image Request:

参数类型必填说明
request_idstringtrue请求ID
{
    "request_id": "99c3f13f-c2b7-4388-91ff-8f3244d2c5b7"
}

Response:

字段类型说明
codeintcode码,见状态表
messagestring状态说明
dataobject结果数据
data.statusint状态,见状态表
data.request_idstring请求ID
data.resultobject图片生成请求结果,如Makamaka在超时时间内返回,返回此字段,否则此字段为空{}
data.result.imagesobject list图片列表
data.result.images.largestring大尺寸图片URL,供下载
data.result.images.middlestring中尺寸图片URL,供预览
data.result.select_seedint随机数种子
data.result.wait_timeint前方等待人数

case1:还在处理

{
    "code": 0,
    "message": "created",
    "data": {
        "status":1000,
        "request_id": "99c3f13f-c2b7-4388-91ff-8f3244d2c5b7",
        "result": {}
    }
}

case2: 已处理完毕

{
    "code": 0,
    "message": "ok",
    "data": {
        "status":0,
        "request_id": "99c3f13f-c2b7-4388-91ff-8f3244d2c5b7",
        "result": {
            "images": [
                {
                    "large": "https://bkmk.oss-accelerate.aliyuncs.com/8c139b38-e503-11ed-8282-00163e008cc0_00000.jpg?OSSAccessKeyId=LTAI5tPynodLHeacT1J5SmWh&Expires=317042603900&Signature=psEsCFQWFSTEVSPeVStgMZydnZ8%3D",
                    "middle": "https://bkmk.oss-accelerate.aliyuncs.com/8c139b38-e503-11ed-8282-00163e008cc0_00000.mid.jpg?OSSAccessKeyId=LTAI5tPynodLHeacT1J5SmWh&Expires=317042603901&Signature=ouVXsK%2FE69rcWOz701d42tovfsA%3D"
                },
                {
                    "large": "https://bkmk.oss-accelerate.aliyuncs.com/8c139b38-e503-11ed-8282-00163e008cc0_00001_E7Q1aZ0z.jpg?OSSAccessKeyId=LTAI5tPynodLHeacT1J5SmWh&Expires=317042603882&Signature=yAChks0ij5%2BRRTGWIv9xUNYSZCg%3D",
                    "middle": "https://bkmk.oss-accelerate.aliyuncs.com/8c139b38-e503-11ed-8282-00163e008cc0_00001_E7Q1aZ0z.jpg?OSSAccessKeyId=LTAI5tPynodLHeacT1J5SmWh&Expires=317042603882&Signature=yAChks0ij5%2BRRTGWIv9xUNYSZCg%3D"
                }
            ],
            "select_seed": -1,
            "wait_time": 1
        }
    }
}

状态表 #

TTS 相关状态 #

TTS 请求响应状态 #

code说明
0成功
x失败
status说明
0处理成功
1000处理中
1002拒绝:必填参数缺失
1003拒绝:非法的参数–发音人为空
1004拒绝:非法的参数–合成文本为空
1102请求失败,未超时:未连接到中控
1103请求失败,未超时:中控繁忙
1104请求失败,未超时:中控内部错误
1105请求失败,未超时:中控请求超时

TTS 请求查询状态 #

code说明
0成功
x失败
status说明
0成功
1000处理中
1102失败:未连接到中控
1103失败:中控繁忙
1104失败:中控内部错误
1105失败:请求超时
1106失败:未知的 request ID

ASR 相关状态 #

ASR 请求响应状态 #

code说明
0成功
x失败
status说明
0请求成功
1000请求超时,已创建了新的中控请求
2001拒绝:必填参数缺失

ASR 请求查询状态 #

code说明
0成功
x失败
status说明
0成功
1000处理中
2102失败:未连接到中控
2103失败:中控繁忙
2104失败:中控内部错误
2105失败:请求超时
2107失败:未知的 request ID
2108失败:音频格式错误

图片生成 相关状态 #

图片生成 请求响应状态 #

code说明
0成功
x失败
status说明
0处理成功
1000处理中
4001拒绝:必填参数缺失
4101请求失败:未连接到Makamaka
4102请求失败:内部错误
4103请求失败:请求超时

图片生成 请求查询状态 #

code说明
0成功
x失败
status说明
0成功
1000处理中
4101请求失败:未连接到Makamaka
4102请求失败:内部错误
4103请求失败:请求超时
4104请求失败:未知的request ID