Take to voice
Listen to a recorded take (words and timings, sounds, mood), write it as Drama 3 expression tags and pauses, and speak it in a chosen voice.
Asynchronous: 202 with an id; poll GET /voices/perform/{performanceId}. dry_run quotes. Pacing, pauses, sighs and mood survive; singing and real laughs do not. Credits: listening per second of take, plus the voice; refunded on failure.
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
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/voices/perform" \ -H "Content-Type: application/json" \ -d '{ "take_media_id": "a759d237-fa20-44d2-bcbe-d7cb1f7939b7" }'{
"data": {
"dry_run": true,
"quote": {
"listen_credits": 0,
"speak_credits_estimate": 0,
"total_credits_estimate": 0,
"take_sec": 0,
"steps": [
"string"
]
}
}
}{
"data": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"status": "queued",
"step_label": "string",
"heard": [
{
"start": 0,
"end": 0,
"text": "string"
}
],
"text_with_tags": "string",
"tags_fallback": true,
"note": "string",
"url": "string",
"asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
"duration_sec": 0,
"credits": 0,
"error": "string",
"next": "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"
}
}Get a voice clone GET
The state of a voice clone: processing, ready (with tts_preset_id to narrate with) or rejected (with reject_reason), and the intake measures.
Get a take-to-voice run GET
Where a run is: queued, listening, writing, speaking, ready (url, text_with_tags, heard) or failed (error; credits refunded).