Synthèse vocale asynchrone MiniMax Speech-2.6-turbo
curl --request POST \
--url https://api.highwayapi.ai/v3/async/minimax-speech-2.6-turbo \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"text": "<string>",
"voice_setting": {
"speed": 123,
"vol": 123,
"pitch": 123,
"voice_id": "<string>",
"emotion": "<string>",
"text_normalization": true
},
"audio_setting": {
"sample_rate": 123,
"bitrate": 123,
"format": "<string>",
"channel": 123
},
"pronunciation_dict": {
"tone": [
{}
]
},
"language_boost": "<string>",
"voice_modify": {
"pitch": 123,
"intensity": 123,
"timbre": 123,
"sound_effects": "<string>"
}
}
'import requests
url = "https://api.highwayapi.ai/v3/async/minimax-speech-2.6-turbo"
payload = {
"text": "<string>",
"voice_setting": {
"speed": 123,
"vol": 123,
"pitch": 123,
"voice_id": "<string>",
"emotion": "<string>",
"text_normalization": True
},
"audio_setting": {
"sample_rate": 123,
"bitrate": 123,
"format": "<string>",
"channel": 123
},
"pronunciation_dict": { "tone": [{}] },
"language_boost": "<string>",
"voice_modify": {
"pitch": 123,
"intensity": 123,
"timbre": 123,
"sound_effects": "<string>"
}
}
headers = {
"Content-Type": "<content-type>",
"Authorization": "<authorization>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': '<content-type>', Authorization: '<authorization>'},
body: JSON.stringify({
text: '<string>',
voice_setting: {
speed: 123,
vol: 123,
pitch: 123,
voice_id: '<string>',
emotion: '<string>',
text_normalization: true
},
audio_setting: {sample_rate: 123, bitrate: 123, format: '<string>', channel: 123},
pronunciation_dict: {tone: [{}]},
language_boost: '<string>',
voice_modify: {pitch: 123, intensity: 123, timbre: 123, sound_effects: '<string>'}
})
};
fetch('https://api.highwayapi.ai/v3/async/minimax-speech-2.6-turbo', 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.highwayapi.ai/v3/async/minimax-speech-2.6-turbo",
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([
'text' => '<string>',
'voice_setting' => [
'speed' => 123,
'vol' => 123,
'pitch' => 123,
'voice_id' => '<string>',
'emotion' => '<string>',
'text_normalization' => true
],
'audio_setting' => [
'sample_rate' => 123,
'bitrate' => 123,
'format' => '<string>',
'channel' => 123
],
'pronunciation_dict' => [
'tone' => [
[
]
]
],
'language_boost' => '<string>',
'voice_modify' => [
'pitch' => 123,
'intensity' => 123,
'timbre' => 123,
'sound_effects' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$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.highwayapi.ai/v3/async/minimax-speech-2.6-turbo"
payload := strings.NewReader("{\n \"text\": \"<string>\",\n \"voice_setting\": {\n \"speed\": 123,\n \"vol\": 123,\n \"pitch\": 123,\n \"voice_id\": \"<string>\",\n \"emotion\": \"<string>\",\n \"text_normalization\": true\n },\n \"audio_setting\": {\n \"sample_rate\": 123,\n \"bitrate\": 123,\n \"format\": \"<string>\",\n \"channel\": 123\n },\n \"pronunciation_dict\": {\n \"tone\": [\n {}\n ]\n },\n \"language_boost\": \"<string>\",\n \"voice_modify\": {\n \"pitch\": 123,\n \"intensity\": 123,\n \"timbre\": 123,\n \"sound_effects\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "<authorization>")
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.highwayapi.ai/v3/async/minimax-speech-2.6-turbo")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.body("{\n \"text\": \"<string>\",\n \"voice_setting\": {\n \"speed\": 123,\n \"vol\": 123,\n \"pitch\": 123,\n \"voice_id\": \"<string>\",\n \"emotion\": \"<string>\",\n \"text_normalization\": true\n },\n \"audio_setting\": {\n \"sample_rate\": 123,\n \"bitrate\": 123,\n \"format\": \"<string>\",\n \"channel\": 123\n },\n \"pronunciation_dict\": {\n \"tone\": [\n {}\n ]\n },\n \"language_boost\": \"<string>\",\n \"voice_modify\": {\n \"pitch\": 123,\n \"intensity\": 123,\n \"timbre\": 123,\n \"sound_effects\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.highwayapi.ai/v3/async/minimax-speech-2.6-turbo")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = '<authorization>'
request.body = "{\n \"text\": \"<string>\",\n \"voice_setting\": {\n \"speed\": 123,\n \"vol\": 123,\n \"pitch\": 123,\n \"voice_id\": \"<string>\",\n \"emotion\": \"<string>\",\n \"text_normalization\": true\n },\n \"audio_setting\": {\n \"sample_rate\": 123,\n \"bitrate\": 123,\n \"format\": \"<string>\",\n \"channel\": 123\n },\n \"pronunciation_dict\": {\n \"tone\": [\n {}\n ]\n },\n \"language_boost\": \"<string>\",\n \"voice_modify\": {\n \"pitch\": 123,\n \"intensity\": 123,\n \"timbre\": 123,\n \"sound_effects\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"task_id": "<string>"
}Audio
Synthèse vocale asynchrone MiniMax Speech-2.6-turbo
POST
/
v3
/
async
/
minimax-speech-2.6-turbo
Synthèse vocale asynchrone MiniMax Speech-2.6-turbo
curl --request POST \
--url https://api.highwayapi.ai/v3/async/minimax-speech-2.6-turbo \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"text": "<string>",
"voice_setting": {
"speed": 123,
"vol": 123,
"pitch": 123,
"voice_id": "<string>",
"emotion": "<string>",
"text_normalization": true
},
"audio_setting": {
"sample_rate": 123,
"bitrate": 123,
"format": "<string>",
"channel": 123
},
"pronunciation_dict": {
"tone": [
{}
]
},
"language_boost": "<string>",
"voice_modify": {
"pitch": 123,
"intensity": 123,
"timbre": 123,
"sound_effects": "<string>"
}
}
'import requests
url = "https://api.highwayapi.ai/v3/async/minimax-speech-2.6-turbo"
payload = {
"text": "<string>",
"voice_setting": {
"speed": 123,
"vol": 123,
"pitch": 123,
"voice_id": "<string>",
"emotion": "<string>",
"text_normalization": True
},
"audio_setting": {
"sample_rate": 123,
"bitrate": 123,
"format": "<string>",
"channel": 123
},
"pronunciation_dict": { "tone": [{}] },
"language_boost": "<string>",
"voice_modify": {
"pitch": 123,
"intensity": 123,
"timbre": 123,
"sound_effects": "<string>"
}
}
headers = {
"Content-Type": "<content-type>",
"Authorization": "<authorization>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': '<content-type>', Authorization: '<authorization>'},
body: JSON.stringify({
text: '<string>',
voice_setting: {
speed: 123,
vol: 123,
pitch: 123,
voice_id: '<string>',
emotion: '<string>',
text_normalization: true
},
audio_setting: {sample_rate: 123, bitrate: 123, format: '<string>', channel: 123},
pronunciation_dict: {tone: [{}]},
language_boost: '<string>',
voice_modify: {pitch: 123, intensity: 123, timbre: 123, sound_effects: '<string>'}
})
};
fetch('https://api.highwayapi.ai/v3/async/minimax-speech-2.6-turbo', 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.highwayapi.ai/v3/async/minimax-speech-2.6-turbo",
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([
'text' => '<string>',
'voice_setting' => [
'speed' => 123,
'vol' => 123,
'pitch' => 123,
'voice_id' => '<string>',
'emotion' => '<string>',
'text_normalization' => true
],
'audio_setting' => [
'sample_rate' => 123,
'bitrate' => 123,
'format' => '<string>',
'channel' => 123
],
'pronunciation_dict' => [
'tone' => [
[
]
]
],
'language_boost' => '<string>',
'voice_modify' => [
'pitch' => 123,
'intensity' => 123,
'timbre' => 123,
'sound_effects' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$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.highwayapi.ai/v3/async/minimax-speech-2.6-turbo"
payload := strings.NewReader("{\n \"text\": \"<string>\",\n \"voice_setting\": {\n \"speed\": 123,\n \"vol\": 123,\n \"pitch\": 123,\n \"voice_id\": \"<string>\",\n \"emotion\": \"<string>\",\n \"text_normalization\": true\n },\n \"audio_setting\": {\n \"sample_rate\": 123,\n \"bitrate\": 123,\n \"format\": \"<string>\",\n \"channel\": 123\n },\n \"pronunciation_dict\": {\n \"tone\": [\n {}\n ]\n },\n \"language_boost\": \"<string>\",\n \"voice_modify\": {\n \"pitch\": 123,\n \"intensity\": 123,\n \"timbre\": 123,\n \"sound_effects\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "<authorization>")
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.highwayapi.ai/v3/async/minimax-speech-2.6-turbo")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.body("{\n \"text\": \"<string>\",\n \"voice_setting\": {\n \"speed\": 123,\n \"vol\": 123,\n \"pitch\": 123,\n \"voice_id\": \"<string>\",\n \"emotion\": \"<string>\",\n \"text_normalization\": true\n },\n \"audio_setting\": {\n \"sample_rate\": 123,\n \"bitrate\": 123,\n \"format\": \"<string>\",\n \"channel\": 123\n },\n \"pronunciation_dict\": {\n \"tone\": [\n {}\n ]\n },\n \"language_boost\": \"<string>\",\n \"voice_modify\": {\n \"pitch\": 123,\n \"intensity\": 123,\n \"timbre\": 123,\n \"sound_effects\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.highwayapi.ai/v3/async/minimax-speech-2.6-turbo")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = '<authorization>'
request.body = "{\n \"text\": \"<string>\",\n \"voice_setting\": {\n \"speed\": 123,\n \"vol\": 123,\n \"pitch\": 123,\n \"voice_id\": \"<string>\",\n \"emotion\": \"<string>\",\n \"text_normalization\": true\n },\n \"audio_setting\": {\n \"sample_rate\": 123,\n \"bitrate\": 123,\n \"format\": \"<string>\",\n \"channel\": 123\n },\n \"pronunciation_dict\": {\n \"tone\": [\n {}\n ]\n },\n \"language_boost\": \"<string>\",\n \"voice_modify\": {\n \"pitch\": 123,\n \"intensity\": 123,\n \"timbre\": 123,\n \"sound_effects\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"task_id": "<string>"
}Cette API prend en charge la génération asynchrone de texte en parole. Une génération de texte unique prend en charge jusqu’à 1 million de caractères transmis, et le résultat audio complet généré peut être récupéré de manière asynchrone. Elle prend en charge plus de 100 voix système, ainsi que le choix autonome de voix clonées ; elle permet également d’ajuster librement l’intonation, la vitesse, le volume, le débit binaire, le taux d’échantillonnage et le format de sortie.
Après avoir soumis une demande de synthèse vocale pour un texte long, veuillez noter que l’url retournée est valable 24 heures à compter de sa génération. Veillez à télécharger les informations dans le délai imparti.
Convient à la génération vocale de textes longs, comme des livres entiers. Le temps d’attente dans la file de tâches peut être relativement long. Pour les phrases courtes, les chats vocaux, les interactions sociales en ligne et autres scénarios similaires, il est recommandé d’utiliser l’appel synchrone de synthèse vocale.
En-têtes de requête
string
requis
Valeur énumérée :
application/jsonstring
requis
Format d’authentification Bearer : Bearer {{API Key}}.
Corps de la requête
string
requis
Texte à synthétiser, limité à 50 000 caractères au maximum.
object
requis
Afficher properties
Afficher properties
number
Plage [0.5,2], valeur par défaut : 1.0Vitesse de la voix générée, facultatif. Plus la valeur est élevée, plus la vitesse est rapide.
number
Plage (0,10], valeur par défaut : 1.0Volume de la voix générée, facultatif. Plus la valeur est élevée, plus le volume est fort.
number
défaut:0
Plage [-12,12], valeur par défaut : 0Intonation de la voix générée, facultatif (0 correspond à la sortie de la voix d’origine ; la valeur doit être un entier).
string
Identifiant de la voix demandée.Deux types sont pris en charge : les voix système (id) et les voix clonées (id). Les voix système (ID) sont les suivantes :
- Voix de jeune homme ingénu :
male-qn-qingse - Voix de jeune homme d’élite :
male-qn-jingying - Voix de jeune homme autoritaire :
male-qn-badao - Voix d’étudiant universitaire :
male-qn-daxuesheng - Voix de jeune fille :
female-shaonv - Voix de femme mûre et charismatique :
female-yujie - Voix de femme mature :
female-chengshu - Voix de femme douce :
female-tianmei - Présentateur masculin :
presenter_male - Présentatrice :
presenter_female - Livre audio masculin 1 :
audiobook_male_1 - Livre audio masculin 2 :
audiobook_male_2 - Livre audio féminin 1 :
audiobook_female_1 - Livre audio féminin 2 :
audiobook_female_2 - Voix de jeune homme ingénu-beta :
male-qn-qingse-jingpin - Voix de jeune homme d’élite-beta :
male-qn-jingying-jingpin - Voix de jeune homme autoritaire-beta :
male-qn-badao-jingpin - Voix d’étudiant universitaire-beta :
male-qn-daxuesheng-jingpin - Voix de jeune fille-beta :
female-shaonv-jingpin - Voix de femme mûre et charismatique-beta :
female-yujie-jingpin - Voix de femme mature-beta :
female-chengshu-jingpin - Voix de femme douce-beta :
female-tianmei-jingpin - Garçon intelligent :
clever_boy - Garçon mignon :
cute_boy - Petite fille adorable :
lovely_girl - Cochon cartoon Xiaoqi :
cartoon_pig - Petit frère yandere :
bingjiao_didi - Petit ami séduisant :
junlang_nanyou - Cadet innocent :
chunzhen_xuedi - Aîné distant :
lengdan_xiongzhang - Jeune maître autoritaire :
badao_shaoye - Xiaoling la douce :
tianxin_xiaoling - Jeune fille espiègle et mignonne :
qiaopi_mengmei - Femme mûre séduisante :
wumei_yujie - Cadette minaudière :
diadia_xuemei - Aînée élégante :
danya_xuejie - Santa Claus :
Santa_Claus - Grinch :
Grinch - Rudolph :
Rudolph - Arnold :
Arnold - Charming Santa :
Charming_Santa - Charming Lady :
Charming_Lady - Sweet Girl :
Sweet_Girl - Cute Elf :
Cute_Elf - Attractive Girl :
Attractive_Girl - Serene Woman :
Serene_Woman
string
Contrôle l’émotion de la voix synthétisée ;7 émotions sont actuellement prises en charge : joie, tristesse, colère, peur, dégoût, surprise, neutre ;Plage de paramètres :
["happy", "sad", "angry", "fearful", "disgusted", "surprised", "neutral"]bool
défaut:"false"
Ce paramètre prend en charge la normalisation du texte anglais, ce qui peut améliorer les performances dans les scénarios de lecture de nombres, mais augmente légèrement la latence. S’il n’est pas fourni, la valeur par défaut est false.
object
Afficher properties
Afficher properties
number
défaut:32000
Plage 【8000,16000,22050,24000,32000,44100】Taux d’échantillonnage de la voix générée. Facultatif, valeur par défaut : 32000.
number
défaut:128000
Plage 【32000,64000,128000,256000】Débit binaire de la voix générée. Facultatif, valeur par défaut : 128000. Ce paramètre ne s’applique qu’à l’audio au format mp3.
string
défaut:"mp3"
Format audio généré. Par défaut : mp3. Options :
mp3, pcm, flac, wav. wav n’est pris en charge qu’en sortie non diffusée en continu.number
défaut:1
Nombre de canaux audio générés. Par défaut : 1, mono. Options :1 : mono2 : stéréo
object
Afficher properties
Afficher properties
list
Remplace les caractères, symboles et prononciations correspondantes nécessitant une annotation spéciale.Remplacement de la prononciation (ajustement du ton/remplacement de la prononciation d’autres caractères), format :
["燕少飞/(yan4)(shao3)(fei1)","达菲/(da2)(fei1)","omg/oh my god"]Les tons sont représentés par des chiffres : le premier ton (yinping) est 1, le deuxième ton (yangping) est 2, le troisième ton (shangsheng) est 3, le quatrième ton (qusheng) est 4, et le ton neutre est 5.string
défaut:"null"
Renforce la capacité de reconnaissance des langues moins répandues et des dialectes spécifiés. Une fois défini, ce paramètre peut améliorer les performances vocales dans les scénarios utilisant la langue moins répandue/le dialecte spécifié. Si le type de langue moins répandue n’est pas clairement connu, vous pouvez choisir “auto”, et le modèle déterminera automatiquement le type de langue moins répandue. Les valeurs suivantes sont prises en charge :
'Chinese', 'Chinese,Yue', 'English', 'Arabic', 'Russian', 'Spanish', 'French', 'Portuguese', 'German', 'Turkish', 'Dutch', 'Ukrainian', 'Vietnamese', 'Indonesian', 'Japanese', 'Italian', 'Korean', 'Thai', 'Polish', 'Romanian', 'Greek', 'Czech', 'Finnish', 'Hindi', 'Bulgarian', 'Danish', 'Hebrew', 'Malay', 'Persian', 'Slovak', 'Swedish', 'Croatian', 'Filipino', 'Hungarian', 'Norwegian', 'Slovenian', 'Catalan', 'Nynorsk', 'Tamil', 'Afrikaans', 'auto'object
Paramètres des effets vocaux. Formats audio pris en charge par ce paramètre : mp3, wav, flac
Afficher properties
Afficher properties
integer
Ajustement de la hauteur (grave/clair), plage [-100,100]. Plus la valeur est proche de -100, plus la voix est grave ; plus elle est proche de 100, plus la voix est claire
integer
Ajustement de l’intensité (puissance/douceur), plage [-100,100]. Plus la valeur est proche de -100, plus la voix est ferme ; plus elle est proche de 100, plus la voix est douce
integer
Ajustement du timbre (magnétique/cristallin), plage [-100,100]. Plus la valeur est proche de -100, plus la voix est profonde ; plus la valeur est proche de 100, plus la voix est cristalline
string
Paramètre d’effet sonore. Une seule option peut être sélectionnée à la fois. Valeurs possibles :
spacious_echo(écho ample)auditorium_echo(diffusion en auditorium)lofi_telephone(distorsion téléphonique)robotic(voix électronique)
Paramètres des informations de réponse
string
requis
task_id de la tâche asynchrone. Vous devez utiliser ce task_id pour appeler l’API de requête du résultat de tâche afin d’obtenir le résultat généré
Synthèse vocale synchrone MiniMax Speech-2.6-turbo
Précédent
Synthèse vocale asynchrone MiniMax Speech 2.8 Turbo
Suivant
⌘I