MiniMax Speech 2.8 HD
Integrar
minimax/speech-2.8-hd
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/minimax/speech-2.8-hd?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Welcome aboard. Tonight we cruise along the northern coast, where the lighthouse has guided sailors home for two hundred years. Find a warm seat on the upper deck and enjoy the view."
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/minimax/speech-2.8-hd?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Welcome aboard. Tonight we cruise along the northern coast, where the lighthouse has guided sailors home for two hundred years. Find a warm seat on the upper deck and enjoy the view."
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "Welcome aboard. Tonight we cruise along the northern coast, where the lighthouse has guided sailors home for two hundred years. Find a warm seat on the upper deck and enjoy the view.",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/minimax/speech-2.8-hd", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/pt-BR/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.ru/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "minimax/speech-2.8-hd",
"input": {
"prompt": "Welcome aboard. Tonight we cruise along the northern coast, where the lighthouse has guided sailors home for two hundred years. Find a warm seat on the upper deck and enjoy the view."
}
}
Chame o modelo MiniMax Speech 2.8 HD (minimax/speech-2.8-hd) por meio da Doitong API. Documentação para agentes: https://doitong.com/pt-BR/developers/models/minimax/speech-2.8-hd.md
POST https://api.doitong.ru/v1/run/minimax/speech-2.8-hd?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "Welcome aboard. Tonight we cruise along the northern coast, where the lighthouse has guided sailors home for two hundred years. Find a warm seat on the upper deck and enjoy the view."
}
Se o status da resposta for "queued" ou "running", consulte GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 repetidamente até que seja "succeeded"; os arquivos estão em outputs[].url. POST https://api.doitong.ru/v1/quote/minimax/speech-2.8-hd com o mesmo corpo retorna o preço exato antes da execução.
Esta solicitação: $ 0,019 19 créditos de API · ≈ ₽ 2,04 Executar nesta página
Sua nova chave de API. Ela é exibida apenas agora e já está no código e no campo de chave de API abaixo. Mantenha-a em segredo: nunca a coloque em um código executado no navegador.
Exemplos
Criar uma solicitação
Os controles são gerados a partir do esquema do modelo. O código e o preço são atualizados conforme você os altera.
/run/minimax/speech-2.8-hd?wait=20
cotação → $ 0,019
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/minimax/speech-2.8-hd?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Welcome aboard. Tonight we cruise along the northern coast, where the lighthouse has guided sailors home for two hundred years. Find a warm seat on the upper deck and enjoy the view."
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/minimax/speech-2.8-hd?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Welcome aboard. Tonight we cruise along the northern coast, where the lighthouse has guided sailors home for two hundred years. Find a warm seat on the upper deck and enjoy the view."
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "Welcome aboard. Tonight we cruise along the northern coast, where the lighthouse has guided sailors home for two hundred years. Find a warm seat on the upper deck and enjoy the view.",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/minimax/speech-2.8-hd", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "minimax/speech-2.8-hd",
"input": {
"prompt": "Welcome aboard. Tonight we cruise along the northern coast, where the lighthouse has guided sailors home for two hundred years. Find a warm seat on the upper deck and enjoy the view."
},
"wait_seconds": 20
}
}
}
Executar esta solicitação
Sua chave permanece neste navegador: ela é enviada somente à Doitong API e salva (localStorage) apenas se você marcar Lembrar. Obter uma chave de API
Sobre MiniMax Speech 2.8 HD
As vozes do MiniMax Speech 2.8 HD transformam texto em fala em mais de 30 idiomas com controle preciso: marcadores de pausa inline, velocidade, tom e volume da voz, dicionários de pronúncia personalizados e efeitos de voz. Escolha entre as vozes integradas e a taxa de amostragem e o formato da saída.
Parâmetros
promptobrigatório
voice_settingopcional
voice_setting.voice_idopcional
voice_setting.speedopcional
voice_setting.volopcional
voice_setting.pitchopcional
voice_setting.emotionopcional
voice_setting.english_normalizationopcional
audio_settingopcional
audio_setting.sample_rateopcional
audio_setting.bitrateopcional
audio_setting.formatopcional
audio_setting.channelopcional
language_boostopcional
+22 a mais
KoreanThaiPolishRomanianGreekCzechFinnishHindiBulgarianDanishHebrewMalaySlovakSwedishCroatianHungarianNorwegianSlovenianCatalanNynorskAfrikaansautooutput_formatopcional
pronunciation_dictopcional
pronunciation_dict.tone_listopcional
normalization_settingopcional
normalization_setting.enabledopcional
normalization_setting.target_loudnessopcional
normalization_setting.target_rangeopcional
normalization_setting.target_peakopcional
voice_modifyopcional
voice_modify.pitchopcional
voice_modify.intensityopcional
voice_modify.timbreopcional
Saída
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "minimax/speech-2.8-hd",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 19,
"usd": "0.019",
"charged": 19,
"refunded": 0
},
"input": {
"prompt": "Hello! Welcome to our new studio. <#0.5#> Let's make something wonderful today."
},
"output": {
"audio": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp3",
"content_type": "audio/mpeg",
"file_name": "0-output.mp3",
"file_size": 1843200
},
"duration_ms": 1
},
"outputs": [
{
"type": "audio",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp3",
"content_type": "audio/mpeg",
"file_size": 1843200,
"duration": 12,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Campos da saída
- audio
- object {url, content_type, file_name, file_size}Arquivo de áudio produzido pela geração.
- duration_ms
- integerDuração do áudio, medida em milissegundos.
Outras variantes de MiniMax Speech
Mais modelos: Texto para fala
Para agentes de IA: esta página em Markdown está em https://doitong.com/pt-BR/developers/models/minimax/speech-2.8-hd.md. Todos os modelos e guias: https://doitong.com/developers/llms.txt