Perform speech synthesis
curl --request POST \
--url https://api.example.com/synthesis \
--header 'Content-Type: application/json' \
--data '
{
"accent_phrases": [
{
"moras": [
{
"text": "<string>",
"vowel": "<string>",
"vowel_length": 123,
"pitch": 123,
"consonant": "<string>",
"consonant_length": 123
}
],
"accent": 123,
"is_interrogative": false
}
],
"speedScale": 123,
"pitchScale": 123,
"intonationScale": 123,
"volumeScale": 123,
"prePhonemeLength": 123,
"postPhonemeLength": 123,
"outputSamplingRate": 123,
"outputStereo": true,
"pauseLength": 123,
"pauseLengthScale": 1,
"kana": "<string>"
}
'import requests
url = "https://api.example.com/synthesis"
payload = {
"accent_phrases": [
{
"moras": [
{
"text": "<string>",
"vowel": "<string>",
"vowel_length": 123,
"pitch": 123,
"consonant": "<string>",
"consonant_length": 123
}
],
"accent": 123,
"is_interrogative": False
}
],
"speedScale": 123,
"pitchScale": 123,
"intonationScale": 123,
"volumeScale": 123,
"prePhonemeLength": 123,
"postPhonemeLength": 123,
"outputSamplingRate": 123,
"outputStereo": True,
"pauseLength": 123,
"pauseLengthScale": 1,
"kana": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
accent_phrases: [
{
moras: [
{
text: '<string>',
vowel: '<string>',
vowel_length: 123,
pitch: 123,
consonant: '<string>',
consonant_length: 123
}
],
accent: 123,
is_interrogative: false
}
],
speedScale: 123,
pitchScale: 123,
intonationScale: 123,
volumeScale: 123,
prePhonemeLength: 123,
postPhonemeLength: 123,
outputSamplingRate: 123,
outputStereo: true,
pauseLength: 123,
pauseLengthScale: 1,
kana: '<string>'
})
};
fetch('https://api.example.com/synthesis', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/synthesis",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'accent_phrases' => [
[
'moras' => [
[
'text' => '<string>',
'vowel' => '<string>',
'vowel_length' => 123,
'pitch' => 123,
'consonant' => '<string>',
'consonant_length' => 123
]
],
'accent' => 123,
'is_interrogative' => false
]
],
'speedScale' => 123,
'pitchScale' => 123,
'intonationScale' => 123,
'volumeScale' => 123,
'prePhonemeLength' => 123,
'postPhonemeLength' => 123,
'outputSamplingRate' => 123,
'outputStereo' => true,
'pauseLength' => 123,
'pauseLengthScale' => 1,
'kana' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/synthesis"
payload := strings.NewReader("{\n \"accent_phrases\": [\n {\n \"moras\": [\n {\n \"text\": \"<string>\",\n \"vowel\": \"<string>\",\n \"vowel_length\": 123,\n \"pitch\": 123,\n \"consonant\": \"<string>\",\n \"consonant_length\": 123\n }\n ],\n \"accent\": 123,\n \"is_interrogative\": false\n }\n ],\n \"speedScale\": 123,\n \"pitchScale\": 123,\n \"intonationScale\": 123,\n \"volumeScale\": 123,\n \"prePhonemeLength\": 123,\n \"postPhonemeLength\": 123,\n \"outputSamplingRate\": 123,\n \"outputStereo\": true,\n \"pauseLength\": 123,\n \"pauseLengthScale\": 1,\n \"kana\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/synthesis")
.header("Content-Type", "application/json")
.body("{\n \"accent_phrases\": [\n {\n \"moras\": [\n {\n \"text\": \"<string>\",\n \"vowel\": \"<string>\",\n \"vowel_length\": 123,\n \"pitch\": 123,\n \"consonant\": \"<string>\",\n \"consonant_length\": 123\n }\n ],\n \"accent\": 123,\n \"is_interrogative\": false\n }\n ],\n \"speedScale\": 123,\n \"pitchScale\": 123,\n \"intonationScale\": 123,\n \"volumeScale\": 123,\n \"prePhonemeLength\": 123,\n \"postPhonemeLength\": 123,\n \"outputSamplingRate\": 123,\n \"outputStereo\": true,\n \"pauseLength\": 123,\n \"pauseLengthScale\": 1,\n \"kana\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/synthesis")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"accent_phrases\": [\n {\n \"moras\": [\n {\n \"text\": \"<string>\",\n \"vowel\": \"<string>\",\n \"vowel_length\": 123,\n \"pitch\": 123,\n \"consonant\": \"<string>\",\n \"consonant_length\": 123\n }\n ],\n \"accent\": 123,\n \"is_interrogative\": false\n }\n ],\n \"speedScale\": 123,\n \"pitchScale\": 123,\n \"intonationScale\": 123,\n \"volumeScale\": 123,\n \"prePhonemeLength\": 123,\n \"postPhonemeLength\": 123,\n \"outputSamplingRate\": 123,\n \"outputStereo\": true,\n \"pauseLength\": 123,\n \"pauseLengthScale\": 1,\n \"kana\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body"<string>"{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Perform speech synthesis
Laravel Implementation Status: ✅ Fully supported by Core (fallback implemented)
POST
/
synthesis
Perform speech synthesis
curl --request POST \
--url https://api.example.com/synthesis \
--header 'Content-Type: application/json' \
--data '
{
"accent_phrases": [
{
"moras": [
{
"text": "<string>",
"vowel": "<string>",
"vowel_length": 123,
"pitch": 123,
"consonant": "<string>",
"consonant_length": 123
}
],
"accent": 123,
"is_interrogative": false
}
],
"speedScale": 123,
"pitchScale": 123,
"intonationScale": 123,
"volumeScale": 123,
"prePhonemeLength": 123,
"postPhonemeLength": 123,
"outputSamplingRate": 123,
"outputStereo": true,
"pauseLength": 123,
"pauseLengthScale": 1,
"kana": "<string>"
}
'import requests
url = "https://api.example.com/synthesis"
payload = {
"accent_phrases": [
{
"moras": [
{
"text": "<string>",
"vowel": "<string>",
"vowel_length": 123,
"pitch": 123,
"consonant": "<string>",
"consonant_length": 123
}
],
"accent": 123,
"is_interrogative": False
}
],
"speedScale": 123,
"pitchScale": 123,
"intonationScale": 123,
"volumeScale": 123,
"prePhonemeLength": 123,
"postPhonemeLength": 123,
"outputSamplingRate": 123,
"outputStereo": True,
"pauseLength": 123,
"pauseLengthScale": 1,
"kana": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
accent_phrases: [
{
moras: [
{
text: '<string>',
vowel: '<string>',
vowel_length: 123,
pitch: 123,
consonant: '<string>',
consonant_length: 123
}
],
accent: 123,
is_interrogative: false
}
],
speedScale: 123,
pitchScale: 123,
intonationScale: 123,
volumeScale: 123,
prePhonemeLength: 123,
postPhonemeLength: 123,
outputSamplingRate: 123,
outputStereo: true,
pauseLength: 123,
pauseLengthScale: 1,
kana: '<string>'
})
};
fetch('https://api.example.com/synthesis', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/synthesis",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'accent_phrases' => [
[
'moras' => [
[
'text' => '<string>',
'vowel' => '<string>',
'vowel_length' => 123,
'pitch' => 123,
'consonant' => '<string>',
'consonant_length' => 123
]
],
'accent' => 123,
'is_interrogative' => false
]
],
'speedScale' => 123,
'pitchScale' => 123,
'intonationScale' => 123,
'volumeScale' => 123,
'prePhonemeLength' => 123,
'postPhonemeLength' => 123,
'outputSamplingRate' => 123,
'outputStereo' => true,
'pauseLength' => 123,
'pauseLengthScale' => 1,
'kana' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/synthesis"
payload := strings.NewReader("{\n \"accent_phrases\": [\n {\n \"moras\": [\n {\n \"text\": \"<string>\",\n \"vowel\": \"<string>\",\n \"vowel_length\": 123,\n \"pitch\": 123,\n \"consonant\": \"<string>\",\n \"consonant_length\": 123\n }\n ],\n \"accent\": 123,\n \"is_interrogative\": false\n }\n ],\n \"speedScale\": 123,\n \"pitchScale\": 123,\n \"intonationScale\": 123,\n \"volumeScale\": 123,\n \"prePhonemeLength\": 123,\n \"postPhonemeLength\": 123,\n \"outputSamplingRate\": 123,\n \"outputStereo\": true,\n \"pauseLength\": 123,\n \"pauseLengthScale\": 1,\n \"kana\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/synthesis")
.header("Content-Type", "application/json")
.body("{\n \"accent_phrases\": [\n {\n \"moras\": [\n {\n \"text\": \"<string>\",\n \"vowel\": \"<string>\",\n \"vowel_length\": 123,\n \"pitch\": 123,\n \"consonant\": \"<string>\",\n \"consonant_length\": 123\n }\n ],\n \"accent\": 123,\n \"is_interrogative\": false\n }\n ],\n \"speedScale\": 123,\n \"pitchScale\": 123,\n \"intonationScale\": 123,\n \"volumeScale\": 123,\n \"prePhonemeLength\": 123,\n \"postPhonemeLength\": 123,\n \"outputSamplingRate\": 123,\n \"outputStereo\": true,\n \"pauseLength\": 123,\n \"pauseLengthScale\": 1,\n \"kana\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/synthesis")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"accent_phrases\": [\n {\n \"moras\": [\n {\n \"text\": \"<string>\",\n \"vowel\": \"<string>\",\n \"vowel_length\": 123,\n \"pitch\": 123,\n \"consonant\": \"<string>\",\n \"consonant_length\": 123\n }\n ],\n \"accent\": 123,\n \"is_interrogative\": false\n }\n ],\n \"speedScale\": 123,\n \"pitchScale\": 123,\n \"intonationScale\": 123,\n \"volumeScale\": 123,\n \"prePhonemeLength\": 123,\n \"postPhonemeLength\": 123,\n \"outputSamplingRate\": 123,\n \"outputStereo\": true,\n \"pauseLength\": 123,\n \"pauseLengthScale\": 1,\n \"kana\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body"<string>"{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}쿼리 매개변수
Automatically adjust sentence-final intonation when the text is interrogative
본문
application/json
Query for speech synthesis.
List of accent phrases
Show child attributes
Show child attributes
Overall speech speed
Overall pitch
Overall intonation
Overall volume
Silence duration before the audio
Silence duration after the audio
Output sampling rate of the audio data
Whether to output audio data in stereo
Silence duration for punctuation etc. Ignored when null. Default value is null.
Silence duration for punctuation etc. (multiplier). Default value is 1.
[Read-only] Text in AquesTalk-style notation. Ignored as a query for speech synthesis.
응답
Successful Response
The response is of type file.
마지막 수정일 2026년 7월 13일
관련 항목
Perform speech synthesis (cancellable)Create query for speech synthesisCreate query for speech synthesis using presetFrame SynthesisSynthesize multiple speeches at once이 페이지가 도움이 되었나요?
Get frame-by-frame volume from a score / singing voice synthesis query
이전
Perform speech synthesis (cancellable)
다음
⌘I