Documenti

Integate TTS.ai katika maombi yenu kwa ajili ya mfumo wetu wa RES API.

MILIMA YA PEKEE USEYAI Inapatana Makubalio ya JSON Utegemezo Wenye Kuvutia

Muhtasari

nusi TTS.ai API huandaa upatikanaji wa programu kwa ajili ya mambo yote ya jukwaa: maandishi-to-speech synthesis, nakala za hotuba-to-habari, uundaji wa sauti, uboreshaji wa sauti, na zaidi.

API Key

Tafuta funguo za API Mambo Yanayotozwa Hesabu. Yapatikana katika ramani ya kutazamia na kuingilia mambo.

Base URL

https://api.tts.ai/v1/

Authi

Ishara ya Dubu kupitia Authorization kichwa

Kupatana

Maombi yote ya API yahitaji uhakikisho kupitia ishara ya Dubu katika eneo hilo Authorization kichwa.

Kichwa cha HTP
Authorization: Bearer sk-tts-your-api-key-here
Weka gari lako likiwa mahali pa siri. Usiishiriki katika mfumo wa wateja, vipengele vya umma, au magogo.

SDK

SDK rasmi hufanya iwe rahisi kuchanganya TTS.ai katika maombi yako. Zote mbili ni chanzo wazi na zinapatikana GitHub.

Python

pip install ttsai
from tts_ai import TTSClient

client = TTSClient(api_key="sk-tts-...")
audio = client.generate(
    text="Hello world!",
    model="kokoro"
)
client.save(audio, "output.wav")
GitHub

JavaScript / Node.js

npm install @ttsainpm/ttsai
const { TTSClient } = require('@ttsainpm/ttsai');

const client = new TTSClient({
  apiKey: 'sk-tts-...'
});
const audio = await client.generate({
  input: 'Hello world!',
  model: 'kokoro'
});
await client.saveToFile(audio, 'output.wav');
GitHub

Base URL

Base URL: https://api.tts.ai/v1/

Kwa mfano, alama ya mwisho ya TTS inahusiana na msingi huu wa URL:

POST https://api.tts.ai/v1/tts/

Mipaka ya Kiwango

MSIBA wa kiasi unatofautiana kwa mpango:

Panga Maombi/min Constant Urefu wa Ujumbe wa Max
Huru 10 2 Kiwambo 500
keyboard label 30 3 Ngisi 100,000
Project 60 5 Ngisi 100,000
↓ ↓ 300 20 Majumba ya taa 50,000

Wasimamizi wa takwimu wanahusishwa katika kila jibu: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Gharama za Gharama

Utumishi Gharama Kipande
TTS (Violezo vya Uhuru: Piper, VITS, MetloTTS) wahusika 1,000 kwa herufi 1,000
TTS (Violezo vya Lifti: Kokoro, CosyVoice 2, n.k.) Wahusika 2,000 kwa herufi 1,000
TTS (Violezo vya taremiamu: Tortoise, Chatterbox, n.k.) Wahusika 4,000 kwa herufi 1,000
Usemi kwa Maandiko Wahusika 2,000 kila dakika ya sauti
Sauti Yaungana Wahusika 4,000 kwa herufi 1,000
Mbadili wa Sauti wahusika 3,000 kila dakika ya sauti
Utetezi wa Kaseti Wahusika 2,000 kila dakika ya sauti
Uondoaji wa Sauti / Msingi wahusika 3,000-4,000 kila dakika ya sauti
Utafsiri wa Usemi Wahusika 5,000 kila dakika ya sauti
Mazungumzo ya Sauti wahusika 3,000 kwa kila kona
Ufunguo wa & BPM Tafuta Huru --
Audio Goover Huru --

Text to Speech

POST /v1/tts/

Fungua maandishi kwenye kaseti za usemi.

Kuomba Msamaha

PenseliAinaZahitajiwaMaelezo
model string Ndiyo Model ID (e.g., ÉchedePoventokoro 2.0/codecodetoly, comecodeÉchebox/codecis, comechtoly mbingunipton/codetoptom/codeavidetom)
text string Ndiyo Maandiko ya kubadilisha kuwa usemi (mex chars 100,000 kwa kila ombi)
voice string Ndiyo Sauti ID (appice ly icococococop mbinguni/v1/vosices/Échede/codetop/codetoptory/codeationtoly/totherations)
format string Hapana Mtindo wa kompyuta: Uandishi wa Maandiko ya Kieletropop3/codetocacience/debault), ÉquidelytovenwavÉchede/codecodePoptoly/codeptoptolyptom, BAPechtodeGogg/codem/codeptoptoptoptom.
speed float Hapana Kusema juu ya kuongezeka kwa mwendo wa kasi. Default: ÉcocococococoP.0/codep. Ranger: 0.45 0.5/codetoptoptoptodealy.08/08/925
language string Hapana Mfumo wa lugha (e.g., USP., UVcococococococonde 175/cococococodetones mbinguni). Auto-detited endapo ataachwa.
stream boolean Hapana Jibu lenye nguvu. Defrault: NJOGOGOGOPH/cococococope

Ombi la Mfano

cURL
curl -X POST https://api.tts.ai/v1/tts/ \
  -H "Authorization: Bearer sk-tts-your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kokoro",
    "text": "Hello from TTS.ai! This is a test.",
    "voice": "af_bella",
    "format": "mp3"
  }' \
  --output output.mp3

Itikio

Rudia faili hiyo ya sauti kama taarifa za binary with ilycoch-Tyenyer-TypeÉton/codecodecode partother/mpegio/mpegGother/codecodeGonGother/wav11/k).

Wenye Kuitikia
Content-Type: audio/mpeg
Content-Length: 48256
X-Credits-Used: 2
X-Credits-Remaining: 498

Usemi kwa Maandiko

POST /v1/stt/

Insha sauti ya maandishi. Taasisi ya Lugha 99 kwa kutumia kompyuta.

Kuomba Msamaha (multipart/form-data)

PenseliAinaZahitajiwaMaelezo
file file Ndiyo Rafu yaudio (MP3, WAV, FARAC, OG, M4A, MP4, WebM).
model string Hapana KIKUNDI CHA STET: HEPEPPLLDsper mbingunip/codepault/debault), complace cafter-whisper mbingunip/codeptoptop, BAPHSEnsensice[5]/cowisper
language string Hapana Mfumo wa mawasiliano ya lugha.
timestamps boolean Hapana Ambatanisha maneno. Defrault: HELPPPPPH/cocococococope
diarize boolean Hapana Msemaji mwenye nguvu diarifing. Defrault: NJOGOPH BAL/cocococope

Itikio

Itikio la JSON
{
  "text": "Hello, this is a transcription test.",
  "language": "en",
  "duration": 3.5,
  "segments": [
    {
      "start": 0.0,
      "end": 1.8,
      "text": "Hello, this is",
      "speaker": "SPEAKER_00"
    },
    {
      "start": 1.8,
      "end": 3.5,
      "text": "a transcription test.",
      "speaker": "SPEAKER_00"
    }
  ]
}

Sauti Yaungana

POST /v1/tts/clone/

Toa hotuba kwa sauti iliyotokezwa upya na upakiaji wa sauti na maandishi ya marejezo.

Kuomba Msamaha (multipart/form-data)

PenseliAinaZahitajiwaMaelezo
reference_audio file Ndiyo Marejezo ya sauti 10-30 yalipendekeza. Max 20MB.
text string Ndiyo Maandishi ya kusema kwa sauti iliyotokezwa.
model string Hapana Clone migao: Échedetocix Montano/cococobault), NORGERPANGESPANGES/cosice2/cococococosice225/cocococococococococococode, alcococococodetoptoptopse, alcocolations-sits-sovations-sovpt-sovations/topton/topton/todeations/totic/totic/topton
format string Hapana Mtindo wa kompyuta: Uandishi wa mwaka wa 1725/default)
language string Hapana Ni lazima mtu ategemee mfumo wake wa lugha.

Itikio

Rudia faili ya sauti kama vile data ya binary, sawa na nambari ya TTS.

Mbadili wa Sauti

POST /v1/voice-convert/

Sikiliza sauti kama sauti tofauti.

Kuomba Msamaha (multipart/form-data)

PenseliAinaZahitajiwaMaelezo
file file Ndiyo Fisi ya sauti (MP3, WAV, FARAC).
target_voice string Ndiyo Sauti hatari ya ID kugeuza watu wafuate (kwa kutumia mtandao wa twita/v1/voices/Poggia/cows/codePechtoly ili kuorodhesha sauti zilizopo)
model string Hapana Mfano wa kubadili sauti: Écocococococopevoice mbingunitones/codetocault (debault), common-vcÉchede/codePocations/codethepton
format string Hapana Mtindo wa kompyuta: Uandishi wa mwaka wa 1725/default/default), ÉquidePop3/cococococode, SIPEPANAPANAPANGHAPANGS/codeX

Ombi la Mfano

cURL
curl -X POST https://api.tts.ai/v1/voice-convert/ \
  -H "Authorization: Bearer sk-tts-your-key" \
  -F "file=@source_audio.mp3" \
  -F "target_voice=af_bella" \
  -F "model=openvoice" \
  -o converted.wav

Itikio

Arudisha faili ya sauti iliyogeuzwa kuwa data ya binari.

Utafsiri wa Usemi

POST /v1/speech-translate/

Translate isemwayo kutoka lugha moja hadi nyingine. huunganisha mazungumzo ya lugha, uandishi, tafsiri, na maandishi-to-speech katika simu moja.

Kuomba Msamaha (multipart/form-data)

PenseliAinaZahitajiwaMaelezo
file file Ndiyo Kutoka kwa kaseti katika lugha ya awali. Max 100MB.
target_language string Ndiyo Kanuni za lugha zilizolengwa (e.g., USP.P.P.P.P.P.P.P.P).
voice string Hapana Sauti kwa ajili ya kitolewaji kilichotafsiriwa. Auto-toto-alichaguliwa kama ataachwa.
preserve_voice boolean Hapana Jaribio la kuhifadhi hali za sauti ya msemaji wa awali. Defrault: HELPEPHPH/cocococode

Itikio

Itikio la JSON
{
  "original_text": "Hello, how are you?",
  "translated_text": "Hola, como estas?",
  "source_language": "en",
  "target_language": "es",
  "audio_url": "https://api.tts.ai/v1/results/translate_abc123.mp3",
  "credits_used": 5
}

Usemi kwa Usemi

POST /v1/speech-to-speech/

Badili mtindo wa usemi, hisia - moyo, au utoaji huku ukidumisha yaliyomo.

Kuomba Msamaha (multipart/form-data)

PenseliAinaZahitajiwaMaelezo
file file Ndiyo Kutoka kwa mfumo wa sauti ya sauti. Max 50MB.
voice string Ndiyo Sauti hatari kwa ajili ya hotuba ya kutoa misaada
model string Hapana Model: Échedecococotolysiesitologie/defrault (default), NORGORLLESÉcheR/codeK
emotion string Hapana Hisia - moyo: "Copecocococococolytoral mbingunin/codecococococodeXovenpner/codeodeXisad/codecodem, 1725/codembertoly/codembertom, comechtodeXodeXodelytode/codemuptodein/code
speed float Hapana Mabadiliko ya Mwendo. Defrault: Expecocococonde 141.025/cocodely. Ramber: 0.095/codetom/codeaptoptodealy.025/cocode/codeateX

Itikio

Rudia faili iliyobadilishwa ya sauti kama data ya binari.

Vifaa vya Muziki

Utayarishaji wa kinanda cha sauti huashiria kuongezwa kwa sauti, kuondolewa kwa sauti, kugawanyika kwa shina, na kadhalika.

POST /v1/audio/enhance/

Ubora wa sauti: kufuta, kuboresha uwazi, azimio kubwa.

file fileFaili ya sauti ili kuongezea
denoise booleanKukataa (kuhukumiwa: ukweli)
enhance_clarity booleanUneni wa kusema ni wazi (ajali: kweli)
super_resolution booleanUbora wa sauti za juu (ault: si kweli)
strength integer1-3 (nuru, mwasiliani, imara). Defrault: 2
POST /v1/audio/separate/

Sauti zilizotengwa kutoka kwenye vyombo (kuondoa vitu) au kugawanyika kuwa mashina.

file fileFaili ya sauti ili kutenganisha
model stringdemucs (keyboard label) au spleeter
stems integerIdadi ya mashina: 2, 4, 5, au 6 (mauaji: 2)
format stringMtindo wa kompyuta: Uandishi wa mwaka wa 1725/cococoPH/cococodeXechtop15/cocococococococococococococococode mbinguni-11/cowntoly/codeXechtoly/codep325/codetoptoptoptoptoly, todecococococococodep mbingunip mbinguni.[5]
POST /v1/audio/dereverb/

Ondoa mwangwi na sauti kutoka kwenye rekodi za sauti.

file fileFaili ya kuonyeshea muziki
type stringecho or reverb (default: both)
intensity integer1-5 (default: 3)
POST /v1/audio/analyze/ Huru

Chunguza sauti ili kugundua ufunguo, BPM, na sahihi ya wakati.

file fileFaili ya kuegezea ili kuchanganua
Itikio
{
  "key": "C",
  "scale": "Major",
  "bpm": 120.0,
  "time_signature": "4/4",
  "camelot": "8B",
  "compatible_keys": ["C Major", "G Major", "F Major", "A Minor"]
}
POST /v1/audio/convert/ Huru

ANDIKA sauti kati ya miundo ya sauti.

file fileFaili ya maneno ili kugeuza
format stringNetwork: Écodecode mbingunipshire/codePodetopÉwavÉton/codecodely/codecodePechtoly/codeoptoptoptoptaly/codem4a 1725/code/cocodemuptoptoptotheratopto, BARlaactoly/codemacipto/codeX/codeaciXesia
bitrate integerToa maelezo katika kbps: 64, 128, 192, 256, 320
sample_rate integerKiwango cha Sample: 22050, 44100, 48000
channels stringmono au stereo

Mazungumzo ya Sauti

POST /v1/voice-chat/

Tuma sauti au ujumbe kisha upokee jibu la AI kwa kutumia maneno ya kubuniwa.

Kuomba Msamaha (multipart/form-data au JSON)

PenseliAinaZahitajiwaMaelezo
audio file Hapana* Audio input (hu ama quoch mbinguni mbinguni 1725/cocococolyXephantum/codeum/Pecodelyptus)
text string Hapana* Maandishi ya kompyuta (na ama mediacode mbinguni mbinguni mbinguni mbinguni mbinguni na pia ya mwaka wa 1725/cococope/codemuptoum/Podepton) yalihitaji)
voice string Hapana Sauti kwa ajili ya AI jibu. Default:/JodecocoPEAf_bella 174/cocococodeum
tts_model string Hapana TEHAMA ni kigezo cha majibu. Defrault: Équide mbingunikoro 2.0/cococococodeXech
system_prompt string Hapana Mfumo wa desturi wa AI huanza haraka
conversation_id string Hapana Endelea na mazungumzo yaliyopo

Itikio

Itikio la JSON
{
  "conversation_id": "conv_abc123",
  "user_text": "What is the capital of France?",
  "ai_text": "The capital of France is Paris.",
  "audio_url": "https://api.tts.ai/v1/audio/tmp/resp_xyz.mp3",
  "credits_used": 3
}

MIZUNGU

POST /v1/tts/batch/

Ruhusu maandiko mengi kwa kizazi sambamba cha TTS.

Juzi

PenseliAinaMaelezo
textsarrayArray of objects: {text, model, voice}. Max 50 items.
webhook_urlstringOptional URL to POST results when batch completes.

Itikio

Itikio la JSON
{
  "batch_id": "abc123",
  "total": 3,
  "completed": 0,
  "status": "processing"
}

Mahoji yanaendelea kwa RETO /v1/ts/batch/result/?batch_idÉabc123

Matano ya Sauti

POST /v1/voice-embed/

Piga picha akilini maombi ya watu walio karibu na kizazi hiki kwa sauti.

Juzi

PenseliAinaMaelezo
filefileReference audio file (WAV, MP3, FLAC).
modelstringCloning model (default: chatterbox). Supported: chatterbox, cosyvoice2, openvoice, gpt-sovits, spark, indextts2, qwen3-tts.

Itikio

Itikio la JSON
{
  "embed_id": "emb_abc123",
  "model": "chatterbox",
  "duration_ms": 450
}

Tahadhari ya Afya

GET /v1/health/

Chunguza cheo cha GPU, violezo vilivyopakiwa, na foleni zenye ukubwa usiotakikana.

Itikio

Itikio la JSON
{
  "status": "online",
  "latency_ms": 45,
  "queue_size": 3,
  "models_loaded": ["kokoro", "chatterbox", "cosyvoice2"]
}

Vigezo vya Orodha

GET /v1/models/

Arudisha orodha ya violezo vyote vinavyopatikana vikiwa na uwezo wao.

Itikio

Itikio la JSON
{
  "models": [
    {
      "id": "kokoro",
      "name": "Kokoro",
      "type": "tts",
      "tier": "standard",
      "languages": ["en", "ja", "ko", "zh", "fr"],
      "supports_cloning": false,
      "supports_streaming": true,
      "credits_per_1k_chars": 2
    },
    {
      "id": "chatterbox",
      "name": "Chatterbox",
      "type": "tts",
      "tier": "premium",
      "languages": ["en"],
      "supports_cloning": true,
      "supports_streaming": true,
      "credits_per_1k_chars": 4
    }
  ]
}

Orodha ya Sauti

GET /v1/voices/

Arudi orodha ya sauti zote zipatikanazo, zilizochujwa kwa hiari na kiolezo au lugha.

Juzi Zenye Nguvu

PenseliAinaMaelezo
model string Filter by kimitindo ID (e.g., comrach mbingunikoro 1725/cocochtoly)
language string Filter kupitia mfumo wa lugha (e.g., 25cocococolytolen mbingunin/codeum)
gender string Filter by manism: "Jopecococococomamaly/codemlytolily/codeabling echtothers/codecodecodeptol mbinguniptus/cowntomber

Itikio

Itikio la JSON
{
  "voices": [
    {
      "id": "af_bella",
      "name": "Bella",
      "model": "kokoro",
      "language": "en",
      "gender": "female",
      "preview_url": "https://api.tts.ai/v1/voices/preview/af_bella.mp3"
    }
  ],
  "total": 142
}

Vielelezo vya Sheria

Text to Speech

Python - requests
import requests

API_KEY = "sk-tts-your-key"

# Text to Speech
response = requests.post(
    "https://api.tts.ai/v1/tts/",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "model": "kokoro",
        "text": "Hello from TTS.ai!",
        "voice": "af_bella",
        "format": "mp3"
    }
)

with open("output.mp3", "wb") as f:
    f.write(response.content)

print(f"Credits used: {response.headers.get('X-Credits-Used')}")

Usemi kwa Maandiko

Python - requests
# Speech to Text
with open("recording.mp3", "rb") as f:
    response = requests.post(
        "https://api.tts.ai/v1/stt/",
        headers={"Authorization": f"Bearer {API_KEY}"},
        files={"file": f},
        data={"model": "faster-whisper", "timestamps": "true"}
    )

result = response.json()
print(result["text"])

Sauti Yaungana

Python - requests
# Voice Cloning
with open("reference.wav", "rb") as ref:
    response = requests.post(
        "https://api.tts.ai/v1/tts/clone/",
        headers={"Authorization": f"Bearer {API_KEY}"},
        files={"reference_audio": ref},
        data={
            "text": "This speech uses a cloned voice.",
            "model": "chatterbox"
        }
    )

with open("cloned_output.mp3", "wb") as f:
    f.write(response.content)

Text to Speech

JavaScript - fetch
const API_KEY = 'sk-tts-your-key';

// Text to Speech
const response = await fetch('https://api.tts.ai/v1/tts/', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    model: 'kokoro',
    text: 'Hello from TTS.ai!',
    voice: 'af_bella',
    format: 'mp3'
  })
});

const audioBlob = await response.blob();
const audioUrl = URL.createObjectURL(audioBlob);
const audio = new Audio(audioUrl);
audio.play();

Usemi kwa Maandiko

JavaScript - fetch
// Speech to Text
const formData = new FormData();
formData.append('file', audioFile);
formData.append('model', 'faster-whisper');

const response = await fetch('https://api.tts.ai/v1/stt/', {
  method: 'POST',
  headers: { 'Authorization': `Bearer ${API_KEY}` },
  body: formData
});

const result = await response.json();
console.log(result.text);

Text to Speech

cURL
# Text to Speech
curl -X POST https://api.tts.ai/v1/tts/ \
  -H "Authorization: Bearer sk-tts-your-key" \
  -H "Content-Type: application/json" \
  -d '{"model":"kokoro","text":"Hello!","voice":"af_bella","format":"mp3"}' \
  -o output.mp3

Usemi kwa Maandiko

cURL
# Speech to Text
curl -X POST https://api.tts.ai/v1/stt/ \
  -H "Authorization: Bearer sk-tts-your-key" \
  -F "file=@recording.mp3" \
  -F "model=faster-whisper" \
  -F "timestamps=true"

Sauti Yaungana

cURL
# Voice Cloning
curl -X POST https://api.tts.ai/v1/tts/clone/ \
  -H "Authorization: Bearer sk-tts-your-key" \
  -F "reference_audio=@reference.wav" \
  -F "text=This uses a cloned voice." \
  -F "model=chatterbox" \
  -o cloned.mp3

Utetezi wa Kaseti

cURL
# Audio Enhancement
curl -X POST https://api.tts.ai/v1/audio/enhance/ \
  -H "Authorization: Bearer sk-tts-your-key" \
  -F "file=@noisy_audio.mp3" \
  -F "denoise=true" \
  -F "enhance_clarity=true" \
  -o enhanced.mp3

Makosa

Makosa yote yarudi itikio la JSON kwa jibu error shambani.

Itikio Lisilofaa Latokezwa
{
  "error": {
    "code": "insufficient_credits",
    "message": "You do not have enough characters for this request.",
    "characters_required": 4000,
    "characters_available": 2000
  }
}
Hali ya HTTPSheria IsiyofaaMaelezo
400 bad_request Chunguza ujumbe wenye kosa ili upate habari zaidi.
401 unauthorized Siri ya Kupotea au Kutofaulu.
402 insufficient_credits Haitoshi herufi za kutosha. Purchase zaidi kwenye /pricing/.
403 forbidden MSIBA usipopatikana kwa mpango wako.
404 not_found Mfano au sauti haikupatikana.
413 file_too_large Faili zilizopakiwa juu hupita mpaka.
429 rate_limited Wakaguzi wa hundi hupunguza vichwa vyao mara nyingi sana.
500 internal_error Jaribu tena baadaye.
503 model_loading Mfano unapakiwa kwa muda wa sekunde chache.

Vituo vya Intaneti

Kwa ajili ya kazi za muda mrefu (kugawanya, kushughulikia wajibu), unaweza kuandaa jopo la maneno ya dharura_urlBarter. Kazi itakapokamilika, tutaipima matokeo kwa URL wako.

Rushwa la Mtandaoni
{
  "event": "task.completed",
  "task_id": "task_abc123",
  "status": "success",
  "result_url": "https://api.tts.ai/v1/results/task_abc123",
  "credits_used": 12,
  "created_at": "2025-01-15T10:30:00Z",
  "completed_at": "2025-01-15T10:30:45Z"
}
Unaweza kupakua habari hizo kwa saa 24 baada ya kumaliza kuzichapisha bila kukawia.

Je, Uko Tayari Kujenga?

Tafuta funguo zako na uanze kushirikiana na watu TTS.ai katika matumizi yako.