메인 콘텐츠로 건너뛰기
POST
/
sing_frame_audio_query
Create query for singing voice synthesis
curl --request POST \
  --url https://api.example.com/sing_frame_audio_query \
  --header 'Content-Type: application/json' \
  --data '
{
  "notes": [
    {
      "frame_length": 123,
      "lyric": "<string>",
      "id": "<string>",
      "key": 123
    }
  ]
}
'
import requests

url = "https://api.example.com/sing_frame_audio_query"

payload = { "notes": [
{
"frame_length": 123,
"lyric": "<string>",
"id": "<string>",
"key": 123
}
] }
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({notes: [{frame_length: 123, lyric: '<string>', id: '<string>', key: 123}]})
};

fetch('https://api.example.com/sing_frame_audio_query', 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/sing_frame_audio_query",
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([
'notes' => [
[
'frame_length' => 123,
'lyric' => '<string>',
'id' => '<string>',
'key' => 123
]
]
]),
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/sing_frame_audio_query"

payload := strings.NewReader("{\n \"notes\": [\n {\n \"frame_length\": 123,\n \"lyric\": \"<string>\",\n \"id\": \"<string>\",\n \"key\": 123\n }\n ]\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/sing_frame_audio_query")
.header("Content-Type", "application/json")
.body("{\n \"notes\": [\n {\n \"frame_length\": 123,\n \"lyric\": \"<string>\",\n \"id\": \"<string>\",\n \"key\": 123\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.example.com/sing_frame_audio_query")

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 \"notes\": [\n {\n \"frame_length\": 123,\n \"lyric\": \"<string>\",\n \"id\": \"<string>\",\n \"key\": 123\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "f0": [
    123
  ],
  "volume": [
    123
  ],
  "phonemes": [
    {
      "phoneme": "<string>",
      "frame_length": 123,
      "note_id": "<string>"
    }
  ],
  "volumeScale": 123,
  "outputSamplingRate": 123,
  "outputStereo": true
}
{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}

쿼리 매개변수

speaker
integer
필수
core_version
string

본문

application/json

Score information.

notes
Note · object[]
필수

List of notes

응답

Successful Response

Frame-by-frame query for speech synthesis.

f0
number[]
필수

Frame-by-frame fundamental frequency

volume
number[]
필수

Frame-by-frame volume

phonemes
FramePhoneme · object[]
필수

List of phonemes

volumeScale
number
필수

Overall volume

outputSamplingRate
integer
필수

Output sampling rate of the audio data

outputStereo
boolean
필수

Whether to output audio data in stereo

마지막 수정일 2026년 7월 13일