Get Speech Generation Task
curl --request GET \
--url https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-hd/text-to-speech/generation/{task_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-hd/text-to-speech/generation/{task_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-hd/text-to-speech/generation/{task_id}', 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.mulerouter.ai/vendors/minimax/v1/speech-2.8-hd/text-to-speech/generation/{task_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-hd/text-to-speech/generation/{task_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-hd/text-to-speech/generation/{task_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-hd/text-to-speech/generation/{task_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"audios": [
"https://mulerouter.muleusercontent.com/public/xxx/result.mp3"
],
"audio_length": 3.5,
"audio_size": 56000,
"usage_characters": 42,
"word_count": 8,
"task_info": {
"id": "8e1e315e-b50d-4334-a231-be7d19a372f4",
"status": "completed",
"created_at": "2026-03-03T00:00:00Z",
"updated_at": "2026-03-03T00:00:00Z"
}
}Speech 2.8 HD Text-To-Speech
MiniMax Speech 2.8 HD Text to Speech Task
Retrieve the status and result of a speech generation task.
GET
/
vendors
/
minimax
/
v1
/
speech-2.8-hd
/
text-to-speech
/
generation
/
{task_id}
Get Speech Generation Task
curl --request GET \
--url https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-hd/text-to-speech/generation/{task_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-hd/text-to-speech/generation/{task_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-hd/text-to-speech/generation/{task_id}', 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.mulerouter.ai/vendors/minimax/v1/speech-2.8-hd/text-to-speech/generation/{task_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-hd/text-to-speech/generation/{task_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-hd/text-to-speech/generation/{task_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-hd/text-to-speech/generation/{task_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"audios": [
"https://mulerouter.muleusercontent.com/public/xxx/result.mp3"
],
"audio_length": 3.5,
"audio_size": 56000,
"usage_characters": 42,
"word_count": 8,
"task_info": {
"id": "8e1e315e-b50d-4334-a231-be7d19a372f4",
"status": "completed",
"created_at": "2026-03-03T00:00:00Z",
"updated_at": "2026-03-03T00:00:00Z"
}
}Retrieve the status and result of a MiniMax Speech 2.8 HD text-to-speech generation task using the
task_info.id returned from the POST request.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
200 - application/json
Task result
List of generated audio file URLs.
Audio duration in seconds.
Audio file size in bytes.
Number of billable characters.
Word count in input text.
Show child attributes
Show child attributes

