KosComputeAPI
API reference

Synthesize speech from text

POST /v1/audio/speech request, response, and error contract.

View Markdown

POST /v1/audio/speech

Converts text to speech. Returns audio binary. Available models: kosmik/tts-kokoro-quality, kosmik/tts-piper-fast

Authentication

Send Authorization: Bearer $KOSCOMPUTE_API_KEY.

Request

Content type: application/json

Field Type Required Description
model string Yes See the endpoint guide for behavior and model support.
input string Yes Text to synthesize
voice string No Voice identifier
response_format string No Values: wav, mp3, flac, opus, pcm.
speed number No See the endpoint guide for behavior and model support.

Examples

cURL

curl https://api.koscompute.com/v1/audio/speech \
  -H "Authorization: Bearer $KOSCOMPUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"kosmik/tts-kokoro-quality","input":"Synthetic example.","response_format":"wav"}'

Python

import os
import requests

response = requests.post(
    "https://api.koscompute.com/v1/audio/speech",
    headers={"Authorization": f"Bearer {os.environ['KOSCOMPUTE_API_KEY']}"},
    json={
  "model": "kosmik/tts-kokoro-quality",
  "input": "Synthetic example.",
  "response_format": "wav"
},
)
print(response.json())

JavaScript

const response = await fetch("https://api.koscompute.com/v1/audio/speech", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KOSCOMPUTE_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"model":"kosmik/tts-kokoro-quality","input":"Synthetic example.","response_format":"wav"}),
});
console.log(await response.json());

Responses

Status Meaning
200 Audio binary response
400 Bad request — invalid parameters or payload
401 Invalid or missing API key
403 Model not allowed for this API key
404 Public model not found
413 Request body exceeds the limit
429 Rate limit or admission capacity is full. The message states when to retry; vision saturation also reports active/total vision concurrency.
502 Invalid or failed upstream response
503 No healthy route
504 Backend generation timeout
500 Internal server error

Next steps

Use the endpoint guide for complete workflows, model capability notes, streaming behavior, and retry advice.

Type to search guides, models, and API reference.