Get Speech Generation Task
curl --request GET \
--url https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-turbo/text-to-speech/generation/{task_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-turbo/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-turbo/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-turbo/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-turbo/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-turbo/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-turbo/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 Turbo Text-To-Speech
MiniMax Speech 2.8 Turbo Text to Speech Task
Retrieve the status and result of a speech generation task.
GET
/
vendors
/
minimax
/
v1
/
speech-2.8-turbo
/
text-to-speech
/
generation
/
{task_id}
Get Speech Generation Task
curl --request GET \
--url https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-turbo/text-to-speech/generation/{task_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.mulerouter.ai/vendors/minimax/v1/speech-2.8-turbo/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-turbo/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-turbo/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-turbo/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-turbo/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-turbo/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 Turbo 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

