Music Generation by Prompt
curl --request POST \
--url https://apis.finevoice.ai/v1/music/musicgenbyprompt \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "Upbeat electronic dance music with heavy bass and synth leads",
"instrumental": true,
"duration": 30,
"continuation": true,
"title": "<string>",
"modelVersion": "<string>",
"audioId": "<string>",
"prompt_type": "<string>",
"input_audio": "<string>",
"thumbnail_url": "<string>"
}
'import requests
url = "https://apis.finevoice.ai/v1/music/musicgenbyprompt"
payload = {
"prompt": "Upbeat electronic dance music with heavy bass and synth leads",
"instrumental": True,
"duration": 30,
"continuation": True,
"title": "<string>",
"modelVersion": "<string>",
"audioId": "<string>",
"prompt_type": "<string>",
"input_audio": "<string>",
"thumbnail_url": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'Upbeat electronic dance music with heavy bass and synth leads',
instrumental: true,
duration: 30,
continuation: true,
title: '<string>',
modelVersion: '<string>',
audioId: '<string>',
prompt_type: '<string>',
input_audio: '<string>',
thumbnail_url: '<string>'
})
};
fetch('https://apis.finevoice.ai/v1/music/musicgenbyprompt', 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://apis.finevoice.ai/v1/music/musicgenbyprompt",
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([
'prompt' => 'Upbeat electronic dance music with heavy bass and synth leads',
'instrumental' => true,
'duration' => 30,
'continuation' => true,
'title' => '<string>',
'modelVersion' => '<string>',
'audioId' => '<string>',
'prompt_type' => '<string>',
'input_audio' => '<string>',
'thumbnail_url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://apis.finevoice.ai/v1/music/musicgenbyprompt"
payload := strings.NewReader("{\n \"prompt\": \"Upbeat electronic dance music with heavy bass and synth leads\",\n \"instrumental\": true,\n \"duration\": 30,\n \"continuation\": true,\n \"title\": \"<string>\",\n \"modelVersion\": \"<string>\",\n \"audioId\": \"<string>\",\n \"prompt_type\": \"<string>\",\n \"input_audio\": \"<string>\",\n \"thumbnail_url\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://apis.finevoice.ai/v1/music/musicgenbyprompt")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"Upbeat electronic dance music with heavy bass and synth leads\",\n \"instrumental\": true,\n \"duration\": 30,\n \"continuation\": true,\n \"title\": \"<string>\",\n \"modelVersion\": \"<string>\",\n \"audioId\": \"<string>\",\n \"prompt_type\": \"<string>\",\n \"input_audio\": \"<string>\",\n \"thumbnail_url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apis.finevoice.ai/v1/music/musicgenbyprompt")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"Upbeat electronic dance music with heavy bass and synth leads\",\n \"instrumental\": true,\n \"duration\": 30,\n \"continuation\": true,\n \"title\": \"<string>\",\n \"modelVersion\": \"<string>\",\n \"audioId\": \"<string>\",\n \"prompt_type\": \"<string>\",\n \"input_audio\": \"<string>\",\n \"thumbnail_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{}Music Generation
Background Music Generation
Generate a royalty-free background music track from a text prompt, with control over style, duration, and model version.
POST
/
v1
/
music
/
musicgenbyprompt
Music Generation by Prompt
curl --request POST \
--url https://apis.finevoice.ai/v1/music/musicgenbyprompt \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "Upbeat electronic dance music with heavy bass and synth leads",
"instrumental": true,
"duration": 30,
"continuation": true,
"title": "<string>",
"modelVersion": "<string>",
"audioId": "<string>",
"prompt_type": "<string>",
"input_audio": "<string>",
"thumbnail_url": "<string>"
}
'import requests
url = "https://apis.finevoice.ai/v1/music/musicgenbyprompt"
payload = {
"prompt": "Upbeat electronic dance music with heavy bass and synth leads",
"instrumental": True,
"duration": 30,
"continuation": True,
"title": "<string>",
"modelVersion": "<string>",
"audioId": "<string>",
"prompt_type": "<string>",
"input_audio": "<string>",
"thumbnail_url": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'Upbeat electronic dance music with heavy bass and synth leads',
instrumental: true,
duration: 30,
continuation: true,
title: '<string>',
modelVersion: '<string>',
audioId: '<string>',
prompt_type: '<string>',
input_audio: '<string>',
thumbnail_url: '<string>'
})
};
fetch('https://apis.finevoice.ai/v1/music/musicgenbyprompt', 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://apis.finevoice.ai/v1/music/musicgenbyprompt",
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([
'prompt' => 'Upbeat electronic dance music with heavy bass and synth leads',
'instrumental' => true,
'duration' => 30,
'continuation' => true,
'title' => '<string>',
'modelVersion' => '<string>',
'audioId' => '<string>',
'prompt_type' => '<string>',
'input_audio' => '<string>',
'thumbnail_url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://apis.finevoice.ai/v1/music/musicgenbyprompt"
payload := strings.NewReader("{\n \"prompt\": \"Upbeat electronic dance music with heavy bass and synth leads\",\n \"instrumental\": true,\n \"duration\": 30,\n \"continuation\": true,\n \"title\": \"<string>\",\n \"modelVersion\": \"<string>\",\n \"audioId\": \"<string>\",\n \"prompt_type\": \"<string>\",\n \"input_audio\": \"<string>\",\n \"thumbnail_url\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://apis.finevoice.ai/v1/music/musicgenbyprompt")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"Upbeat electronic dance music with heavy bass and synth leads\",\n \"instrumental\": true,\n \"duration\": 30,\n \"continuation\": true,\n \"title\": \"<string>\",\n \"modelVersion\": \"<string>\",\n \"audioId\": \"<string>\",\n \"prompt_type\": \"<string>\",\n \"input_audio\": \"<string>\",\n \"thumbnail_url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apis.finevoice.ai/v1/music/musicgenbyprompt")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"Upbeat electronic dance music with heavy bass and synth leads\",\n \"instrumental\": true,\n \"duration\": 30,\n \"continuation\": true,\n \"title\": \"<string>\",\n \"modelVersion\": \"<string>\",\n \"audioId\": \"<string>\",\n \"prompt_type\": \"<string>\",\n \"input_audio\": \"<string>\",\n \"thumbnail_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{}Authorizations
Bearer token (API key). Format: Bearer {your_api_key}
Body
application/json
The prompt-based music generation request payload.
The generation prompt describing the desired music.
Example:
"Upbeat electronic dance music with heavy bass and synth leads"
Whether to generate instrumental-only music (no vocals).
Example:
true
The target duration in seconds.
Example:
30
Whether this generation continues a previous clip.
The generated song title.
The model version to use.
Source audio identifier for continuation or reference.
The prompt input type.
Optional input audio reference URL.
The thumbnail image URL.
Response
Task accepted.
The response is of type object.
⌘I