Síntese de voz assíncrona MiniMax Speech-2.6-hd
curl --request POST \
--url https://api.highwayapi.ai/v3/async/minimax-speech-2.6-hd \
--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-hd"
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-hd', 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-hd",
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-hd"
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-hd")
.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-hd")
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>"
}Áudio
Síntese de voz assíncrona MiniMax Speech-2.6-hd
POST
/
v3
/
async
/
minimax-speech-2.6-hd
Síntese de voz assíncrona MiniMax Speech-2.6-hd
curl --request POST \
--url https://api.highwayapi.ai/v3/async/minimax-speech-2.6-hd \
--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-hd"
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-hd', 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-hd",
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-hd"
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-hd")
.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-hd")
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>"
}Esta API oferece suporte à geração assíncrona de texto para fala. Uma única transmissão de geração de texto suporta até 1 milhão de caracteres, e o resultado de áudio completo gerado pode ser recuperado de forma assíncrona. Suporta mais de 100 vozes do sistema e vozes clonadas à sua escolha; também permite ajustar tom, velocidade, volume, bitrate, taxa de amostragem e formato de saída.
Após enviar uma solicitação de síntese de voz para texto longo, observe que a URL retornada é válida por 24 horas a partir do momento em que a URL é retornada. Fique atento ao prazo para baixar as informações.
Indicado para geração de voz de textos longos, como livros inteiros. O tempo de enfileiramento da tarefa pode ser maior. Para cenários como geração de frases curtas, chat por voz e interação social online, recomenda-se usar a chamada síncrona de síntese de voz.
Cabeçalhos da solicitação
string
obrigatório
Valores enumerados:
application/jsonstring
obrigatório
Formato de autenticação Bearer: Bearer {{API Key}}.
Corpo da solicitação
string
obrigatório
Texto a ser sintetizado, limitado a no máximo 50 mil caracteres.
object
obrigatório
Mostrar propriedades
Mostrar propriedades
number
Intervalo [0.5,2], valor padrão 1.0Velocidade da voz gerada. Opcional. Quanto maior o valor, mais rápida a fala.
number
Intervalo (0,10], valor padrão 1.0Volume da voz gerada. Opcional. Quanto maior o valor, maior o volume.
number
padrão:0
Intervalo [-12,12], valor padrão 0Tom da voz gerada. Opcional. (0 produz a voz original; o valor deve ser um número inteiro).
string
ID da voz solicitada.Suporta dois tipos: vozes do sistema (id) e vozes clonadas (id). As vozes do sistema (ID) são:
- Voz masculina jovem inexperiente:
male-qn-qingse - Voz masculina jovem de elite:
male-qn-jingying - Voz masculina jovem dominadora:
male-qn-badao - Voz masculina de jovem universitário:
male-qn-daxuesheng - Voz de garota:
female-shaonv - Voz de mulher confiante:
female-yujie - Voz feminina madura:
female-chengshu - Voz feminina doce:
female-tianmei - Apresentador masculino:
presenter_male - Apresentadora feminina:
presenter_female - Audiolivro masculino 1:
audiobook_male_1 - Audiolivro masculino 2:
audiobook_male_2 - Audiolivro feminino 1:
audiobook_female_1 - Audiolivro feminino 2:
audiobook_female_2 - Voz masculina jovem inexperiente-beta:
male-qn-qingse-jingpin - Voz masculina jovem de elite-beta:
male-qn-jingying-jingpin - Voz masculina jovem dominadora-beta:
male-qn-badao-jingpin - Voz masculina de jovem universitário-beta:
male-qn-daxuesheng-jingpin - Voz de garota-beta:
female-shaonv-jingpin - Voz de mulher confiante-beta:
female-yujie-jingpin - Voz feminina madura-beta:
female-chengshu-jingpin - Voz feminina doce-beta:
female-tianmei-jingpin - Menino inteligente:
clever_boy - Menino fofo:
cute_boy - Menina adorável:
lovely_girl - Porquinha de desenho Xiaoqi:
cartoon_pig - Irmão mais novo obcecado:
bingjiao_didi - Namorado atraente:
junlang_nanyou - Calouro inocente:
chunzhen_xuedi - Veterano frio:
lengdan_xiongzhang - Jovem mestre dominador:
badao_shaoye - Queridinha Xiaoling:
tianxin_xiaoling - Garota fofa e travessa:
qiaopi_mengmei - Mulher confiante e sedutora:
wumei_yujie - Caloura dengosa:
diadia_xuemei - Veterana elegante:
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
Controla a emoção da fala sintetizada;Atualmente são suportadas 7 emoções: felicidade, tristeza, raiva, medo, nojo, surpresa e neutro;Intervalo de parâmetros:
["happy", "sad", "angry", "fearful", "disgusted", "surprised", "neutral"]bool
padrão:"false"
Este parâmetro oferece suporte à normalização de texto em inglês, podendo melhorar o desempenho em cenários de leitura de números, mas aumenta ligeiramente a latência. Se não for fornecido, o valor padrão é false.
object
Mostrar propriedades
Mostrar propriedades
number
padrão:32000
Intervalo 【8000,16000,22050,24000,32000,44100】Taxa de amostragem da voz gerada. Opcional, padrão 32000.
number
padrão:128000
Intervalo 【32000,64000,128000,256000】Bitrate da voz gerada. Opcional, valor padrão 128000. Este parâmetro só é efetivo para áudio no formato mp3.
string
padrão:"mp3"
Formato do áudio gerado. Padrão mp3. Opções:
mp3, pcm, flac, wav. wav é suportado apenas em saída não streaming.number
padrão:1
Número de canais do áudio gerado. Padrão 1: mono. Opções:1: mono2: estéreo
object
Mostrar propriedades
Mostrar propriedades
list
Substitui textos e símbolos que exigem marcação especial, bem como suas respectivas notações fonéticas.Substituição de pronúncia (ajuste de tom/substituição da pronúncia de outros caracteres), no seguinte formato:
["燕少飞/(yan4)(shao3)(fei1)","达菲/(da2)(fei1)","omg/oh my god"]Os tons são representados por números: primeiro tom (yinping) como 1, segundo tom (yangping) como 2, terceiro tom (shangsheng) como 3, quarto tom (qusheng) como 4, e tom neutro como 5.string
padrão:"null"
Melhora a capacidade de reconhecimento para idiomas menos comuns e dialetos especificados. Após configurado, pode melhorar o desempenho de voz em cenários do idioma/dialeto especificado. Se o tipo de idioma menos comum não estiver claro, é possível selecionar “auto”, e o modelo determinará autonomamente o tipo de idioma. Suporta os seguintes valores:
'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
Configurações do efeito de voz. Este parâmetro suporta os seguintes formatos de áudio: mp3, wav, flac
Mostrar propriedades
Mostrar propriedades
integer
Ajuste de altura tonal (grave/brilhante), intervalo [-100,100]. Quanto mais próximo de -100, mais grave a voz; quanto mais próximo de 100, mais brilhante a voz
integer
Ajuste de intensidade (força/suavidade), intervalo [-100,100]. Quanto mais próximo de -100, mais firme a voz; quanto mais próximo de 100, mais suave a voz
integer
Ajuste de timbre (magnético/nítido), intervalo [-100,100]. Quanto mais próximo de -100, mais encorpada a voz; quanto mais próximo de 100, mais nítida a voz
string
Configuração de efeitos sonoros. Só é possível selecionar um por vez. Valores opcionais:
spacious_echo(eco em espaço amplo)auditorium_echo(transmissão de auditório)lofi_telephone(distorção de telefone)robotic(som eletrônico)
Parâmetros de informações da resposta
string
obrigatório
O task_id da tarefa assíncrona. Você deve usar este task_id para solicitar a API de consulta de resultado da tarefa e obter o resultado gerado
Síntese de voz síncrona MiniMax Speech-2.6-hd
Anterior
Síntese de voz síncrona MiniMax Speech-2.6-turbo
Próximo
⌘I