Speak up to 20 lines
POST /voices/speak for each line (cache, per-character charge, word timings), reported per line in input order.
Top-level voice_id / clone_id / language are defaults a line may override. Stops attempting lines after one runs out of credits.
Authorization
bearerAuth Typecut API key. Generate one in app.typecut.ai → Settings → API keys. Send as Authorization: Bearer tc_live_….
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/voices/speak/batch" \ -H "Content-Type: application/json" \ -d '{ "lines": [ { "text": "string" } ] }'{
"data": {}
}{
"error": {
"type": "string",
"code": "string",
"message": "string"
}
}{
"error": {
"type": "string",
"code": "string",
"message": "string"
}
}Speak a line into the library POST
Speak ONE line (≤1500 characters) with ONE voice — a library preset or your own clone — and keep it as a library audio asset with word timings.
Analyse audio or a music track POST
What a recording contains, as data: detect (music / speech / singing / silence timeline and tags) and, for music, the tracked beats and bars, drum hits with accent, bass and lead notes, key, sections with energy and the salient moments.