Voice API
Studio-quality text-to-speech in 40+ languages with controls for emotion, pacing and pronunciation — plus instant voice cloning from as little as 60 seconds of reference audio.
Generate speech
/v1/voice/speechReturns audio bytes directly. Short inputs (< 1,000 characters) respond in near real time; longer inputs run as async jobs with a webhook on completion.
curl https://api.tapotik.ai/v1/voice/speech \
-H "Authorization: Bearer $TAPOTIK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tapotik-voice-2",
"voice": "aria",
"input": "Your export is ready — twelve thousand rows, zero errors.",
"emotion": "warm",
"format": "mp3"
}' \
--output speech.mp3const audio = await client.voice.speech.create({
model: "tapotik-voice-2",
voice: "aria",
input: "Your export is ready — twelve thousand rows, zero errors.",
emotion: "warm",
format: "mp3",
});
await fs.promises.writeFile("speech.mp3", Buffer.from(await audio.arrayBuffer()));Request parameters
| Parameter | Type | Description |
|---|---|---|
model | string · required | tapotik-voice-2 or the low-latency tapotik-voice-2-turbo. |
voice | string · required | A stock voice ID (see below) or a clone ID like vc_7d21…. |
input | string · required | Text to speak, up to 40,000 characters per request. |
emotion | string · default neutral | neutral, warm, energetic or calm. |
speed | number · 0.5–2.0 · default 1.0 | Playback pacing multiplier. |
format | string · default mp3 | mp3, wav, flac or pcm (24kHz). |
Stock voices
| Voice | Character | Languages |
|---|---|---|
aria | Warm, conversational female | 42 |
atlas | Deep, confident male narrator | 42 |
nova | Bright, energetic product voice | 38 |
sage | Measured, documentary tone | 35 |
Voice cloning
/v1/voice/clonesUpload 60 seconds or more of clean reference audio to create a reusable clone. Clones are private to your workspace and usable anywhere a voice parameter is accepted.
const clone = await client.voice.clones.create({
name: "Lead instructor — course narration",
files: [fs.createReadStream("./reference.wav")],
consent_token: "cst_91ae4b", // signed consent from the voice owner
});
// -> { id: "vc_7d21f0", status: "ready", name: "Lead instructor — ..." }consent_tokenproving the speaker's permission. Cloning a voice without consent violates our acceptable use policy and results in immediate suspension.Credits
Speech costs 1 credit per 1,000 characters of input. tapotik-voice-2-turbo costs 0.5 credits per 1,000 characters. Creating a clone is a one-time 25 credits; using it is billed like any other voice. AI Voice requires a Pro plan or above — see pricing.