Passer au contenu principal
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": {}
    }
  ]
}

Paramètres de requête

speaker
integer
requis
core_version
string

Corps

application/json

Score information.

notes
Note · object[]
requis

List of notes

Réponse

Successful Response

Frame-by-frame query for speech synthesis.

f0
number[]
requis

Frame-by-frame fundamental frequency

volume
number[]
requis

Frame-by-frame volume

phonemes
FramePhoneme · object[]
requis

List of phonemes

volumeScale
number
requis

Overall volume

outputSamplingRate
integer
requis

Output sampling rate of the audio data

outputStereo
boolean
requis

Whether to output audio data in stereo

Dernière modification le 13 juillet 2026