Frame Synthesis
curl --request POST \
--url https://api.example.com/frame_synthesis \
--header 'Content-Type: application/json' \
--data '
{
"f0": [
123
],
"volume": [
123
],
"phonemes": [
{
"phoneme": "<string>",
"frame_length": 123,
"note_id": "<string>"
}
],
"volumeScale": 123,
"outputSamplingRate": 123,
"outputStereo": true
}
'import requests
url = "https://api.example.com/frame_synthesis"
payload = {
"f0": [123],
"volume": [123],
"phonemes": [
{
"phoneme": "<string>",
"frame_length": 123,
"note_id": "<string>"
}
],
"volumeScale": 123,
"outputSamplingRate": 123,
"outputStereo": True
}
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({
f0: [123],
volume: [123],
phonemes: [{phoneme: '<string>', frame_length: 123, note_id: '<string>'}],
volumeScale: 123,
outputSamplingRate: 123,
outputStereo: true
})
};
fetch('https://api.example.com/frame_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/frame_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([
'f0' => [
123
],
'volume' => [
123
],
'phonemes' => [
[
'phoneme' => '<string>',
'frame_length' => 123,
'note_id' => '<string>'
]
],
'volumeScale' => 123,
'outputSamplingRate' => 123,
'outputStereo' => true
]),
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/frame_synthesis"
payload := strings.NewReader("{\n \"f0\": [\n 123\n ],\n \"volume\": [\n 123\n ],\n \"phonemes\": [\n {\n \"phoneme\": \"<string>\",\n \"frame_length\": 123,\n \"note_id\": \"<string>\"\n }\n ],\n \"volumeScale\": 123,\n \"outputSamplingRate\": 123,\n \"outputStereo\": true\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/frame_synthesis")
.header("Content-Type", "application/json")
.body("{\n \"f0\": [\n 123\n ],\n \"volume\": [\n 123\n ],\n \"phonemes\": [\n {\n \"phoneme\": \"<string>\",\n \"frame_length\": 123,\n \"note_id\": \"<string>\"\n }\n ],\n \"volumeScale\": 123,\n \"outputSamplingRate\": 123,\n \"outputStereo\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/frame_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 \"f0\": [\n 123\n ],\n \"volume\": [\n 123\n ],\n \"phonemes\": [\n {\n \"phoneme\": \"<string>\",\n \"frame_length\": 123,\n \"note_id\": \"<string>\"\n }\n ],\n \"volumeScale\": 123,\n \"outputSamplingRate\": 123,\n \"outputStereo\": true\n}"
response = http.request(request)
puts response.read_body"<string>"{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Frame Synthesis
Perform singing voice synthesis.
Laravel Implementation Status: ✅ Fully supported by Core (fallback implemented)
POST
/
frame_synthesis
Frame Synthesis
curl --request POST \
--url https://api.example.com/frame_synthesis \
--header 'Content-Type: application/json' \
--data '
{
"f0": [
123
],
"volume": [
123
],
"phonemes": [
{
"phoneme": "<string>",
"frame_length": 123,
"note_id": "<string>"
}
],
"volumeScale": 123,
"outputSamplingRate": 123,
"outputStereo": true
}
'import requests
url = "https://api.example.com/frame_synthesis"
payload = {
"f0": [123],
"volume": [123],
"phonemes": [
{
"phoneme": "<string>",
"frame_length": 123,
"note_id": "<string>"
}
],
"volumeScale": 123,
"outputSamplingRate": 123,
"outputStereo": True
}
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({
f0: [123],
volume: [123],
phonemes: [{phoneme: '<string>', frame_length: 123, note_id: '<string>'}],
volumeScale: 123,
outputSamplingRate: 123,
outputStereo: true
})
};
fetch('https://api.example.com/frame_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/frame_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([
'f0' => [
123
],
'volume' => [
123
],
'phonemes' => [
[
'phoneme' => '<string>',
'frame_length' => 123,
'note_id' => '<string>'
]
],
'volumeScale' => 123,
'outputSamplingRate' => 123,
'outputStereo' => true
]),
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/frame_synthesis"
payload := strings.NewReader("{\n \"f0\": [\n 123\n ],\n \"volume\": [\n 123\n ],\n \"phonemes\": [\n {\n \"phoneme\": \"<string>\",\n \"frame_length\": 123,\n \"note_id\": \"<string>\"\n }\n ],\n \"volumeScale\": 123,\n \"outputSamplingRate\": 123,\n \"outputStereo\": true\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/frame_synthesis")
.header("Content-Type", "application/json")
.body("{\n \"f0\": [\n 123\n ],\n \"volume\": [\n 123\n ],\n \"phonemes\": [\n {\n \"phoneme\": \"<string>\",\n \"frame_length\": 123,\n \"note_id\": \"<string>\"\n }\n ],\n \"volumeScale\": 123,\n \"outputSamplingRate\": 123,\n \"outputStereo\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/frame_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 \"f0\": [\n 123\n ],\n \"volume\": [\n 123\n ],\n \"phonemes\": [\n {\n \"phoneme\": \"<string>\",\n \"frame_length\": 123,\n \"note_id\": \"<string>\"\n }\n ],\n \"volumeScale\": 123,\n \"outputSamplingRate\": 123,\n \"outputStereo\": true\n}"
response = http.request(request)
puts response.read_body"<string>"{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Body
application/json
Frame-by-frame query for speech synthesis.
Frame-by-frame fundamental frequency
Frame-by-frame volume
List of phonemes
Show child attributes
Show child attributes
Overall volume
Output sampling rate of the audio data
Whether to output audio data in stereo
Response
Successful Response
The response is of type file.
Last modified on July 13, 2026
Related topics
Engine API Mode: Song (Singing Synthesis) - VOICEVOX for LaravelClient Mode: Song (Singing Synthesis) - VOICEVOX for LaravelGuide to Building Apps with VOICEVOX Engine APIEngine API Mode: Talk (Text-to-Speech) - VOICEVOX for Laravel.vvproj File Format - VOICEVOX for LaravelWas this page helpful?
⌘I