메인 콘텐츠로 건너뛰기
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": {}
    }
  ]
}

쿼리 매개변수

speaker
integer
필수
enable_interrogative_upspeak
boolean
기본값:true

Automatically adjust sentence-final intonation when the text is interrogative

core_version
string

본문

application/json

Query for speech synthesis.

accent_phrases
AccentPhrase · object[]
필수

List of accent phrases

speedScale
number
필수

Overall speech speed

pitchScale
number
필수

Overall pitch

intonationScale
number
필수

Overall intonation

volumeScale
number
필수

Overall volume

prePhonemeLength
number
필수

Silence duration before the audio

postPhonemeLength
number
필수

Silence duration after the audio

outputSamplingRate
integer
필수

Output sampling rate of the audio data

outputStereo
boolean
필수

Whether to output audio data in stereo

pauseLength
number | null

Silence duration for punctuation etc. Ignored when null. Default value is null.

pauseLengthScale
number
기본값:1

Silence duration for punctuation etc. (multiplier). Default value is 1.

kana
string

[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일