API referenceVoices
Speak a line into the library
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.
Synchronous. Charged at the voice-over rate (per character, the voice provider's price); refunded if the voice fails. Rate limited per account (429 with retry_after).
Authorization
bearerAuth AuthorizationBearer <token>
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
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/voices/speak" \ -H "Content-Type: application/json" \ -d '{ "text": "string" }'{
"data": {
"asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
"url": "string",
"duration_sec": 0,
"text": "string",
"language": "string",
"voice_id": "2235c634-e4db-4ad6-aa15-066fb69b1c8f",
"clone_id": "803342ec-5f81-40e9-ab1d-d050b5ce27bb",
"voice_name": "string",
"provider": "string",
"model": "string",
"timing_source": "string",
"words": [
{
"word": "string",
"start_ms": 0,
"end_ms": 0
}
],
"credits_used": 0
}
}{
"error": {
"type": "string",
"code": "string",
"message": "string"
}
}{
"error": {
"type": "string",
"code": "string",
"message": "string"
}
}{
"error": {
"type": "string",
"code": "string",
"message": "string"
}
}{
"error": {
"type": "string",
"code": "string",
"message": "string"
}
}{
"error": {
"type": "string",
"code": "string",
"message": "string"
}
}{
"error": {
"type": "string",
"code": "string",
"message": "string"
}
}