Moyin TTS API
Generates speech audio from the provided text using Moyin's Text-to-Speech service
Request Body
application/json
Optionaltext
RequiredstringMinimum length:
1
Maximum length: 3000
voice
stringThe voice to use for speech generation
Default:
"cissy_meet"
speed
numberSpeaking speed, from 0.5 to 2.0
Default:
1
Minimum: 0.5
Maximum: 2
volume
numberSpeaking volume, from 0.1 to 1.0
Default:
1
Minimum: 0.1
Maximum: 1
pitch
numberSpeaking pitch, from -10 to 10
Default:
0
Minimum: -10
Maximum: 10
token
RequiredstringMoyin API appkey for authentication
Minimum length:
1
secret
RequiredstringMoyin API secret for authentication
Minimum length:
1
audioType
stringAudio output format
Default:
"mp3"
Value in: "pcm" | "mp3" | "speex-wb-10" | "wav"
ignoreLimit
booleanWhether to ignore 1000 characters limit
Default:
false
symbolSil
stringSymbol silence mapping, e.g. semi_200,exclamation_200,question_200,comma_200,stop_200
Response Body
Audio file containing the generated speech
TypeScript Definitions
Use the response body type in TypeScript.
response
RequiredunknownBad request - validation error
TypeScript Definitions
Use the response body type in TypeScript.
success
RequiredbooleanValue in:
false
message
Requiredstringcode
Requiredstringtype
RequiredstringServer error or Moyin TTS API error
TypeScript Definitions
Use the response body type in TypeScript.
success
RequiredbooleanValue in:
false
message
Requiredstringcode
Requiredstringtype
Requiredstringcurl -X POST "https://edge-workers.laplace.cn/laplace/tts-moyin" \
-H "Content-Type: application/json" \
-d '{
"text": "感谢ドラゴンラプラスWeChat的SC:一发sc没被念到我就冷汗直流心跳加速头皮发麻双手痉挛两腿打颤,还不好意思刷弹幕说你漏了,我好怕你看到了装作没看到。我的sc通常很短只有一小时,只有短短的3600秒,但它存在的时候,我会用心跳来为它倒数。私のBANを解除してください。もう二度とスパムしません😭",
"voice": "cissy_meet",
"speed": 1,
"volume": 1,
"pitch": 0,
"token": "string",
"secret": "string",
"audioType": "pcm",
"ignoreLimit": false,
"symbolSil": "string"
}'
const body = JSON.stringify({
"text": "感谢ドラゴンラプラスWeChat的SC:一发sc没被念到我就冷汗直流心跳加速头皮发麻双手痉挛两腿打颤,还不好意思刷弹幕说你漏了,我好怕你看到了装作没看到。我的sc通常很短只有一小时,只有短短的3600秒,但它存在的时候,我会用心跳来为它倒数。私のBANを解除してください。もう二度とスパムしません😭",
"voice": "cissy_meet",
"speed": 1,
"volume": 1,
"pitch": 0,
"token": "string",
"secret": "string",
"audioType": "pcm",
"ignoreLimit": false,
"symbolSil": "string"
})
fetch("https://edge-workers.laplace.cn/laplace/tts-moyin", {
body
})
package main
import (
"fmt"
"net/http"
"io/ioutil"
"strings"
)
func main() {
url := "https://edge-workers.laplace.cn/laplace/tts-moyin"
body := strings.NewReader(`{
"text": "感谢ドラゴンラプラスWeChat的SC:一发sc没被念到我就冷汗直流心跳加速头皮发麻双手痉挛两腿打颤,还不好意思刷弹幕说你漏了,我好怕你看到了装作没看到。我的sc通常很短只有一小时,只有短短的3600秒,但它存在的时候,我会用心跳来为它倒数。私のBANを解除してください。もう二度とスパムしません😭",
"voice": "cissy_meet",
"speed": 1,
"volume": 1,
"pitch": 0,
"token": "string",
"secret": "string",
"audioType": "pcm",
"ignoreLimit": false,
"symbolSil": "string"
}`)
req, _ := http.NewRequest("POST", url, body)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
import requests
url = "https://edge-workers.laplace.cn/laplace/tts-moyin"
body = {
"text": "感谢ドラゴンラプラスWeChat的SC:一发sc没被念到我就冷汗直流心跳加速头皮发麻双手痉挛两腿打颤,还不好意思刷弹幕说你漏了,我好怕你看到了装作没看到。我的sc通常很短只有一小时,只有短短的3600秒,但它存在的时候,我会用心跳来为它倒数。私のBANを解除してください。もう二度とスパムしません😭",
"voice": "cissy_meet",
"speed": 1,
"volume": 1,
"pitch": 0,
"token": "string",
"secret": "string",
"audioType": "pcm",
"ignoreLimit": false,
"symbolSil": "string"
}
response = requests.request("POST", url, json = body, headers = {
"Content-Type": "application/json"
})
print(response.text)
null
{
"success": false,
"message": "string",
"code": "string",
"type": "string"
}
{
"success": false,
"message": "string",
"code": "string",
"type": "string"
}