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": {}
}
]
}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": {}
}
]
}Corps
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
Réponse
Successful Response
The response is of type file.
Dernière modification le 13 juillet 2026
Sujets connexes
Guide de développement d'applications intégrées à l'API du moteur - VOICEVOX for LaravelMode API du moteur : Song (synthèse vocale chantée) - VOICEVOX for LaravelMode API du moteur : Talk (synthèse vocale de texte) - VOICEVOX for LaravelMode client : Song (synthèse vocale chantée) - VOICEVOX for LaravelSpécification du fichier .vvproj - VOICEVOX for LaravelCette page vous a-t-elle été utile ?
Synthesize multiple speeches at once
Précédent
Check if morphing is possible for specified style
Suivant
⌘I