curl https://router.requesty.ai/v1/models/speech \
-H "Authorization: Bearer YOUR_REQUESTY_API_KEY"
import httpx
response = httpx.get(
"https://router.requesty.ai/v1/models/speech",
headers={"Authorization": "Bearer YOUR_REQUESTY_API_KEY"},
)
for model in response.json()["data"]:
print(model["id"])
const response = await fetch("https://router.requesty.ai/v1/models/speech", {
headers: { Authorization: `Bearer ${process.env.REQUESTY_API_KEY}` },
});
const { data } = await response.json();
for (const model of data) {
console.log(model.id);
}
{
"object": "list",
"data": [
{
"api": "speech",
"id": "openai/gpt-audio-mini",
"object": "model",
"created": 1776935721,
"updated": 1776935721,
"owned_by": "system",
"pricing": {
"input_token": 6e-07,
"output_token": 2.4e-06
},
"data_retention": true,
"data_retention_days": 30,
"data_used_for_training": false,
"privacy_comments": "",
"geolocation": "global"
},
{
"api": "speech",
"id": "openai/tts-1",
"object": "model",
"created": 1767023142,
"updated": 1767023142,
"owned_by": "system",
"pricing": {
"input_character": 1.5e-05
},
"data_retention": true,
"data_retention_days": 30,
"data_used_for_training": false,
"privacy_comments": "",
"geolocation": "global"
}
]
}
List Speech Models
Get all available speech models. If authenticated with a Requesty API key, returns only the models approved for your organization. Otherwise, returns all public models. Aliases and routing policies are chat-only and are never returned here.
GET
/
v1
/
models
/
speech
curl https://router.requesty.ai/v1/models/speech \
-H "Authorization: Bearer YOUR_REQUESTY_API_KEY"
import httpx
response = httpx.get(
"https://router.requesty.ai/v1/models/speech",
headers={"Authorization": "Bearer YOUR_REQUESTY_API_KEY"},
)
for model in response.json()["data"]:
print(model["id"])
const response = await fetch("https://router.requesty.ai/v1/models/speech", {
headers: { Authorization: `Bearer ${process.env.REQUESTY_API_KEY}` },
});
const { data } = await response.json();
for (const model of data) {
console.log(model.id);
}
{
"object": "list",
"data": [
{
"api": "speech",
"id": "openai/gpt-audio-mini",
"object": "model",
"created": 1776935721,
"updated": 1776935721,
"owned_by": "system",
"pricing": {
"input_token": 6e-07,
"output_token": 2.4e-06
},
"data_retention": true,
"data_retention_days": 30,
"data_used_for_training": false,
"privacy_comments": "",
"geolocation": "global"
},
{
"api": "speech",
"id": "openai/tts-1",
"object": "model",
"created": 1767023142,
"updated": 1767023142,
"owned_by": "system",
"pricing": {
"input_character": 1.5e-05
},
"data_retention": true,
"data_retention_days": 30,
"data_used_for_training": false,
"privacy_comments": "",
"geolocation": "global"
}
]
}
curl https://router.requesty.ai/v1/models/speech \
-H "Authorization: Bearer YOUR_REQUESTY_API_KEY"
import httpx
response = httpx.get(
"https://router.requesty.ai/v1/models/speech",
headers={"Authorization": "Bearer YOUR_REQUESTY_API_KEY"},
)
for model in response.json()["data"]:
print(model["id"])
const response = await fetch("https://router.requesty.ai/v1/models/speech", {
headers: { Authorization: `Bearer ${process.env.REQUESTY_API_KEY}` },
});
const { data } = await response.json();
for (const model of data) {
console.log(model.id);
}
{
"object": "list",
"data": [
{
"api": "speech",
"id": "openai/gpt-audio-mini",
"object": "model",
"created": 1776935721,
"updated": 1776935721,
"owned_by": "system",
"pricing": {
"input_token": 6e-07,
"output_token": 2.4e-06
},
"data_retention": true,
"data_retention_days": 30,
"data_used_for_training": false,
"privacy_comments": "",
"geolocation": "global"
},
{
"api": "speech",
"id": "openai/tts-1",
"object": "model",
"created": 1767023142,
"updated": 1767023142,
"owned_by": "system",
"pricing": {
"input_character": 1.5e-05
},
"data_retention": true,
"data_retention_days": 30,
"data_used_for_training": false,
"privacy_comments": "",
"geolocation": "global"
}
]
}
/v1/audio/speech endpoint.
When authenticated with an API key, returns only the models approved for your organization. Without authentication, returns all publicly available models. Aliases and routing policies exist for chat only, so they never appear here.
Pricing is per input character (input_character) or per token (input_token and output_token), depending on the model.Last modified on August 7, 2026
Was this page helpful?