დოკუმენტაცია

TTS.ai-ის ინტეგრირება თქვენს პროგრამებში ჩვენი REST API- ით. OpenAI- სთან თავსებადი ფორმატი მარტივი მიგრაციისთვის.

REST API OpenAI თავსებადი JSON პასუხები მიმდინარეობის მხარდაჭერა

გადახედვა

TTS.ai API უზრუნველყოფს პროგრამულ წვდომას პლატფორმის ყველა ფუნქციაზე: ტექსტიდან საუბრის სინთეზირება, საუბრიდან ტექსტის ტრანსკრიპცია, ხმის კლონირება, აუდიოს გაუმჯობესება და სხვა. API იყენებს სტანდარტულ REST კონვენციებს JSON მოთხოვნის/პასუხის სტრუქტურებთან.

API გასაღები

API გასაღების მიღება ანგარიშის პარამეტრები. 2001 წლიდან მუშაობს კომპანია „ინტერპრესნიუსის“ დირექტორთა საბჭოში.

ძირითადი URL

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

ავტორიზაცია

მიმღები ტოკენი Authorization თავსართი

ავთენტიფიკაცია

1999 : აშშ-ის პრეზიდენტი ჯო ბაიდენი არ იღებს უფლებამოსილებას. ახალ კონტაქტს ქმნის /v1/tts/ მუშაობა უსაფრთხოების დამოწმების გარეშე, 5000 სიმბოლომდე დღეში IP მისამართზე, ჩვენი ნებისმიერი უფასო მოდელის გამოყენებით (piper, vits, melotts, kokoro). 1500 წელს სოფელში 1500-მდე კაცი ცხოვრობდა, 15000-ზე მეტი კაცი კი სოფელში ცხოვრობდა.

პრემიუმ მოდელებისთვის და უფრო მაღალი ფასის საზღვრებისთვის, ავთენტიფიკაცია ტარატორის ტოკენით Authorization თავსართი.

HTTP თავსართი
Authorization: Bearer sk-tts-your-api-key-here
ეპზთ დჲ რგჲ£ჲრ API კლძფ რა£ნ. არ გამოიყენოთ კლიენტის მხარის კოდში, საჯარო საცავებში ან ჟურნალებში. რეგულარულად შეცვალეთ გასაღები თქვენი ანგარიშის პარამეტრების მიხედვით.

SDK- ებიName

ოფიციალური SDK- ები TTS.ai- ის ინტეგრირებას თქვენს პროგრამაში უადვილებს. ორივე ღია კოდი და ხელმისაწვდომია 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

ძირითადი URL

ძირითადი URL: https://api.tts.ai/v1/

ყველა დასასრული რელევანტურია ამ ძირითად URL- ს მიმართ. მაგალითად, TTS- ის დასასრული არის:

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

სიჩქარის საზღვრები

API- ს სიჩქარის საზღვრები გეგმის მიხედვით იცვლება:

გეგმა მოთხოვნები/წამში ერთდროულად ტექსტის მაქსიმალური სიგრძე
თავისუფალი 10 2 500 სიმბოლო
წარმართვა 30 3 1,000,000 სიმბოლო
პროფესიონალი 60 5 1,000,000 სიმბოლო
ენრვპპთ. 300 20 50,000 სიმბოლო

ყველა პასუხში შედის სიხშირის საზღვრის თავსართები: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

კრედიტი

სერვისი ღირებულება ობიექტი
TTS (თავისუფალი მოდელები: Piper, VITS, MeloTTS) 1,000 სიმბოლო 1000 სიმბოლოზე
TTS (სტანდარტული მოდელები: Kokoro, CosyVoice 2 და ა.შ.) 2000 სიმბოლო 1000 სიმბოლოზე
TTS (პრემიუმ მოდელები: Tortoise, Chatterbox და ა.შ.) 4 ქულა 1000 სიმბოლოზე
საუბარი ტექსტადName 2000 სიმბოლო აუდიოს წუთში
ხმის კლონირებაName 4 ქულა 1000 სიმბოლოზე
ხმის შეცვლაName 3000 სიმბოლო აუდიოს წუთში
აუდიოს გაუმჯობესებაName 2000 სიმბოლო აუდიოს წუთში
ხმათა ამოღება/ ხმათა გაყოფა 3,000-4,000 სიმბოლო აუდიოს წუთში
საუბრის თარგმნაName 5000 სიმბოლო აუდიოს წუთში
ხმაურიანი ჩატიName 3000 სიმბოლო რიგის მიხედვით
საკვანძო სიტყვების & BPM ძიებაName თავისუფალი --
აუდიო კონვერტორიName თავისუფალი --

ტექსტიდან საუბარიName

POST /v1/tts/

ტექსტის აუდიო ხმად გადაქცევა. უკან ბრუნავს აუდიო ფაილს მოთხოვნილ ფორმატში.

მოთხოვნის სხეული

პარამეტრებიტიპებისაჭიროაღწერა
model string ნვ, ნვ ჟყმ. მოდელის ID (მაგალითად, kokoro, chatterbox, piper). თუ არ ჩანს, ჩვენ ავტომატურად ვარჩევთ მოდელს, რომელიც მხარს უჭერს მოთხოვნილ ენასkokoro en/ja/zh/ko/fr/de/it/pt/es/hi/ru, piper სხვა მხარდაჭერილი ენებისთვის (ar/pl/nl/cs/da/fi/el/hu/tr/uk/vi/etc.).
text string ეა ტექსტის საუბრად გადაქცევა. მოთხოვნის მაქსიმალური რაოდენობა: 500 სიმბოლო (ანონიმი), 5,000 (საბავშვო ანგარიში), 1,000,000 (საფასურიანი ანგარიში). სერვერის მხრიდან გრძელი ჩანაწერები ავტომატურად იჭრება.
voice string ეა ხმის ID (/v1/voices/ გამოყენება ხელმისაწვდომი ხმის ჩამონათვალისთვის)
format string ნვ, ნვ ჟყმ. გამონატანის ფორმატები: mp3 (ნაგულისხმევი), wav, flac, ogg
speed float ნვ, ნვ ჟყმ. საუბრის სიჩქარის მრავლდება. ნაგულისხმევი: 1.0. დიაპაზონი: 0.5 - დან 2.0
language string ნვ, ნვ ჟყმ. ენის კოდი (მაგალითად, en, es). ავტომატური აღმოჩენა, თუ გამოტოვებულია.
instructions string ნვ, ნვ ჟყმ. მოქმედების/გადაცემის ნიშნები (≤500 სიმბოლო). მაგ. \
pronunciations object | array ნვ, ნვ ჟყმ. მოთხოვნის მიხედვით გამოთქმის გადარქმევა. ან {\
stream boolean ნვ, ნვ ჟყმ. სტრიმინგის პასუხის ჩართვა. ნაგულისხმევი: false

თხოვნის მაგალითი

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

SSML ჭდეები

ციფრების, თარიღების, ვალუტების, ტელეფონის ნომრების და აკრონიმების ჩასმა

ინდექსირებაშეყვანასაუბარი როგორც
cardinal1234one thousand two hundred thirty-four
ordinal21twenty-first
date1999-12-3131 ევკვმგპთ, 1999.
time14:30two thirty PM
telephone+1-555-867-5309plus one five five five eight six seven…
currency$1,234.56one thousand two hundred thirty-four dollars and fifty-six cents
spell-outNASAN A S A

თარიღის ფორმატი ნაგულისხმევია mdy ინგლისურისთვის და dmy სხვაგან; გადაწერა format=\

მაგალითი
{
  "model": "kokoro",
  "voice": "af_bella",
  "text": "Your appointment is on <say-as interpret-as=\"date\">2026-04-26</say-as> at <say-as interpret-as=\"time\">14:30</say-as>. Please call <say-as interpret-as=\"telephone\">+1-555-867-5309</say-as> if you need to reschedule."
}

პასუხი

The TTS endpoint queues your request and returns a JSON response with a job UUID. You then poll for the result.

Step 1: Submit request

Response (JSON)
{
  "uuid": "77b71db532874ce98e84a69a2d740d4c",
  "job_id": "f21316bb-aefa-480d-8523-701d1e3184ce",
  "status": "queued",
  "credits_used": 11,
  "credits_remaining": 15000
}

Step 2: Poll for result

GET /v1/speech/results/?uuid=<job_uuid>

Poll this endpoint every 1-2 seconds until status is completed or failed.

Polling response (completed)
{
  "status": "completed",
  "result_url": "https://api.tts.ai/static/downloads/77b71db5.../output.mp3"
}
Polling response (still processing)
{
  "status": "processing"
}

Step 3: Download audio

Fetch the result_url from the completed response to download the audio file.

სრული მაგალითი

Python
import requests, time

API_KEY = "sk-tts-your-key"
BASE = "https://api.tts.ai"

# 1. Submit TTS request
resp = requests.post(f"{BASE}/v1/tts/", json={
    "model": "kokoro",
    "text": "Hello from TTS.ai!",
    "voice": "af_bella"
}, headers={"Authorization": f"Bearer {API_KEY}"})
data = resp.json()
uuid = data["uuid"]

# 2. Poll for result
while True:
    result = requests.get(f"{BASE}/v1/speech/results/",
        params={"uuid": uuid}).json()
    if result["status"] == "completed":
        # 3. Download audio
        audio = requests.get(result["result_url"])
        with open("output.mp3", "wb") as f:
            f.write(audio.content)
        break
    elif result["status"] == "failed":
        raise Exception(result.get("error", "Generation failed"))
    time.sleep(1.5)

Streaming alternative: For supported models (Kokoro, MeloTTS), use POST /v1/tts/stream/ for real-time Server-Sent Events (SSE) streaming — no polling needed.

საუბარი ტექსტადName

POST /v1/stt/

აუდიოს ტექსტად გადაწერა. მხარს უჭერს 99 ენას ავტომატური აღმოჩენით.

მოთხოვნის სხეული (multipart/form-data)

პარამეტრებიტიპებისაჭიროაღწერა
file file ეა აუდიო ფაილი (MP3, WAV, FLAC, OGG, M4A, MP4, WebM). მაქსიმუმ 100MB.
model string ნვ, ნვ ჟყმ. STT მოდელი: ჩურჩული (ნაგულისხმევი), სწრაფი-ჩურჩული, სენსუალური ხმა
language string ნვ, ნვ ჟყმ. ენის კოდი. auto ავტომატური აღმოჩენისთვის (ნაგულისხმევი).
timestamps boolean ნვ, ნვ ჟყმ. სიტყვის დონის დროის ჩათვლით. ნაგულისხმევი: false
diarize boolean ნვ, ნვ ჟყმ. დიალოგის ჩართვა. ნაგულისხმევი: false

პასუხი

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"
    }
  ]
}

ხმის კლონირებაName

POST /v1/tts/clone/

საუბრის გენერირება კლონირებულ ხმაში. რეფერენტული აუდიო და ტექსტის ჩატვირთვა.

მოთხოვნის სხეული (multipart/form-data)

პარამეტრებიტიპებისაჭიროაღწერა
reference_audio file ეა რეფერენციული ხმის აუდიო (10-30 წამი რეკომენდებულია). მაქსიმუმ 20MB.
text string ეა ტექსტის გამოთქმა კლონირებული ხმათა სისტემაში.
model string ნვ, ნვ ჟყმ. კლონის მოდელი: chatterbox (ნაგულისხმევი), cosyvoice2, gpt-sovits
format string ნვ, ნვ ჟყმ. გამონატანის ფორმატები: mp3 (ნაგულისხმევი), wav, flac
language string ნვ, ნვ ჟყმ. მიზნობრივი ენის კოდი. უნდა იყოს მხარდაჭერილი მონიშნული მოდელით.

პასუხი

აუდიო ფაილის დაბრუნება როგორც ბინა მონაცემი, იგივე, რაც TTS- ის დასასრული.

ხმის შეცვლაName

POST /v1/voice-convert/

აუდიოს კონვერტაცია სხვა ხმის მსგავსად. ატვირთეთ წყაროს აუდიო და აირჩიეთ მიზნობრივი ხმა.

მოთხოვნის სხეული (multipart/form-data)

პარამეტრებიტიპებისაჭიროაღწერა
file file ეა წყაროს აუდიო ფაილი (MP3, WAV, FLAC). მაქსიმუმ 50MB.
target_voice string ეა კონვერტირებადი ხმოვანი ID (/v1/voices/ გამოიყენეთ ხელმისაწვდომი ხმების ჩამოსაშლელად)
model string ნვ, ნვ ჟყმ. ხმის გადამუშავების მოდელი: openvoice (ნაგულისხმევი), knn-vc
format string ნვ, ნვ ჟყმ. გამონატანის ფორმატები: wav (ნაგულისხმევი), mp3, flac

თხოვნის მაგალითი

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

პასუხი

აუდიო ფაილის გადამუშავება ბინარული მონაცემებად.

საუბრის თარგმნაName

POST /v1/speech-translate/

საუბრის აუდიოს თარგმნა ერთი ენიდან მეორეზე. ერთ ზარში ურთიერთქმედებს საუბარი-ტექსტი, თარგმნა და საუბარი-ტექსტი. Name

მოთხოვნის სხეული (multipart/form-data)

პარამეტრებიტიპებისაჭიროაღწერა
file file ეა წყაროს აუდიო ფაილი ორიგინალურ ენაზე. მაქსიმუმ 100MB.
target_language string ეა მიზნობრივი ენის კოდი (მაგალითად, es, fr, de, ja)
voice string ნვ, ნვ ჟყმ. თარგმნილი გამონატანის ხმა. ავტომონიშნულია თუ გამოტოვებულია.
preserve_voice boolean ნვ, ნვ ჟყმ. ცდილობენ დამკვეთის ხმაზე ოციენტის ხმა შეინარჩუნონ. ნაგულისხმევი: false

პასუხი

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
}

საუბარიდან საუბარშიName

POST /v1/speech-to-speech/

საუბრის სტილის, ემოციის ან წარმოთქმის შეცვლა, შინაარსის შენარჩუნების პირობებში. სასარგებლოა ტონის, ტემპის და გამოხატვის პარამეტრების შესაცვლელად.

მოთხოვნის სხეული (multipart/form-data)

პარამეტრებიტიპებისაჭიროაღწერა
file file ეა წყაროს საუბრის აუდიო ფაილი. მაქსიმუმ 50MB.
voice string ეა გამონატანის საუბრისთვის ხმოვანი ID- ს მითითება
model string ნვ, ნვ ჟყმ. მოდელი: openvoice (ნაგულისხმევი), chatterbox
emotion string ნვ, ნვ ჟყმ. მიზნობრივი ემოცია: ნეიტრალური, ბედნიერი, მწუხარება, გაბრაზებული, აღელვებული
speed float ნვ, ნვ ჟყმ. სიჩქარის რეგულირება. ნაგულისხმევი: 1.0. დიაპაზონი: 0.5 - დან 2.0

პასუხი

აუდიო ფაილის გადამუშავება ბინარული მონაცემებად.

აუდიო ხელსაწყოებიName

Audio processing endpoints for enhancement, vocal removal, stem splitting და სხვა.

POST /v1/audio/enhance/

აუდიოს ხარისხის გაუმჯობესება: ხმაურის შემცირება, გაუმჯობესება, უმაღლესი რეზოლუცია.

file fileგაუმჯობესებული აუდიო ფაილი
denoise booleanჩართვა (ნაგულისხმები: true)
enhance_clarity booleanსაუბრის გაუმჯობესება (ნაგულისხმევი: true)
super_resolution booleanაუდიოს ხარისხის გაუმჯობესება (ნაგულისხმევი: არასწორი)
strength integer1- 3 (მძიმე, საშუალო, მძიმე). ნაგულისხმები: 2
POST /v1/audio/separate/

2002 წელს ფილმი გადაიღეს ფილმში „The Voice“ (ინგლ.

file fileაუდიო ფაილის გაყოფა
model stringdemucs (ნაგულისხმები) ან spleeter
stems integerრიცხვი: 2, 4, 5 ან 6 (ნაგულისხმები: 2)
format stringგამონატანის ფორმატები: wav, mp3, flac
POST /v1/audio/dereverb/

აუდიო ჩანაწერებიდან ხმაურისა და რევერბერის წაშლა.

file fileაუდიო ფაილი
type stringecho or reverb (default: both)
intensity integer1-5 (default: 3)
POST /v1/audio/analyze/ თავისუფალი

აუდიოს ანალიზი ღილაკის, BPM-ის და დროის აღსანიშნავად.

file fileაუდიო ფაილი ანალიზისთვის
პასუხი
{
  "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/ თავისუფალი

აუდიოს გადაქცევა სხვადასხვა ფორმატების შორის.

file fileკონვერტაციის აუდიო ფაილი
format stringმიზნობრივი ფორმატები: mp3, wav, flac, ogg, m4a, aac
bitrate integerგამონატანის ბიტთა რაოდენობა კბ/ ს- ში: 64, 128, 192, 256, 320
sample_rate integerდისკის ტიპი
channels stringmono ან stereo

ხმაურიანი ჩატიName

POST /v1/voice-chat/

აუდიო ან ტექსტის გაგზავნა და AI პასუხის მიღება სინტეზირებული საუბრით.

მოთხოვნის სხეული (multipart/form-data ან JSON)

პარამეტრებიტიპებისაჭიროაღწერა
audio file ნვ, ნვ ჟყმ.* აუდიო ჩანაწერი (audio ან text საჭიროა)
text string ნვ, ნვ ჟყმ.* ტექსტის შეყვანა (audio ან text საჭიროა)
voice string ნვ, ნვ ჟყმ. AI პასუხის ხმა. ნაგულისხმევი: af_bella
tts_model string ნვ, ნვ ჟყმ. პასუხის TTS მოდელი. ნაგულისხმევი: kokoro
system_prompt string ნვ, ნვ ჟყმ. AI- სთვის ინდივიდუალური სისტემური შეტყობინებაName
conversation_id string ნვ, ნვ ჟყმ. არსებული საუბრის გაგრძელება

პასუხი

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
}

TTS პაკეტი

POST /v1/tts/batch/

მრავალჯერადი ტექსტების გაგზავნა TTS- ის პარალელური გენერირებისთვის. შესაძლებელია webhook- ის უკან დაკავშირების მიღება, როდესაც ყველა დავალება დასრულდება.

პარამეტრები

პარამეტრებიტიპებიაღწერა
textsarrayArray of objects: {text, model, voice}. Max 50 items.
webhook_urlstringშეუზღუდავი URL POST შედეგებისთვის, როდესაც პაკეტი დასრულდება.

პასუხი

JSON პასუხი
{
  "batch_id": "abc123",
  "total": 3,
  "completed": 0,
  "status": "processing"
}

GET /v1/tts/batch/result/?batch_id=abc123-ის გამოყენებით კითხვის მიმდინარეობა

ხმოვანი ჩაშენებაName

POST /v1/voice-embed/

წინასწარ გამოთვალეთ ხმოვანი ჩაბმა რეფერენციული აუდიოსგან. გამოიყენეთ დაბრუნებული embed_id ხმოვანი კლონების მომდევნო მოთხოვნებში, თითქმის მყისიერი გენერაციისთვის.

პარამეტრები

პარამეტრებიტიპებიაღწერა
filefileReference audio file (WAV, MP3, FLAC).
modelstringCloning model (default: chatterbox). Supported: chatterbox, cosyvoice2, openvoice, gpt-sovits, spark, indextts2, qwen3-tts.

პასუხი

JSON პასუხი
{
  "embed_id": "emb_abc123",
  "model": "chatterbox",
  "duration_ms": 450
}

ჯანმრთელობის შემოწმება

GET /v1/health/

GPU სერვერის სტატუსის, ჩატვირთული მოდელის და რიგის ზომის შემოწმება. ავთენტიფიკაცია არ არის საჭირო. 30 წამის განმავლობაში დაცულია.

პასუხი

JSON პასუხი
{
  "status": "online",
  "latency_ms": 45,
  "queue_size": 3,
  "models_loaded": ["kokoro", "chatterbox", "cosyvoice2"]
}

მოდელების სია

GET /v1/models/

ყველა ხელმისაწვდომი მოდელის სია მათი შესაძლებლობებით.

პასუხი

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
    }
  ]
}

ხმების სია

GET /v1/voices/

ყველა ხელმისაწვდომი ხმების სია, მოდელის ან ენის მიხედვით ფილტრით. Name

პარამეტრები

პარამეტრებიტიპებიაღწერა
model string მოდელის ID-ის მიხედვით ფილტრირება (მაგალითად, kokoro)
language string ფილტრი ენის კოდის მიხედვით (მაგალითად, ge)
gender string ფილტრი სქესის მიხედვით: male, female, neutral

პასუხი

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
}

სუბტიტრები (SRT / VTT) ახალი

GET /v1/speech/subtitles/?uuid=<job_uuid>&format=srt|vtt&download=1

ნებისმიერი დასრულებული TTS დავალების სინქრონული სუბტიტრების შექმნა. Whisper- ის აუდიოს გასწორების დასრულება და SRT ან WebVTT- ს დაბრუნება. შედეგი დაცულია დისკზე, ასე რომ იგივე uuid- ის მეორე გამოძახება იქნება დისკზე წაკითხვა.

პარამეტრები

პარამეტრებისაჭიროაღწერა
uuidეადავალების UUID- ს უკან ბრუნავს /v1/tts/ ან /v1/voice- clone/.
formatნვ, ნვ ჟყმ.srt (ნაგულისხმევი) ან vtt.
downloadნვ, ნვ ჟყმ.1 Content-Disposition: attachment-ის გაგზავნა, რათა ბრაუზერმა არ გამოსახოს, არამედ შეინახოს.
languageნვ, ნვ ჟყმ.რჩევა გასწორების მოდელის შესახებ (ავტომატური აღმოჩენა, თუ გამოტოვებულია).
cURL
curl "https://api.tts.ai/v1/speech/subtitles/?uuid=$UUID&format=srt&download=1" -o subtitles.srt

გამოთქმის ლექსიკონიName ახალი

GET POST DELETE /api/v1/pronunciations/

TTS- ს ინდიკატორი, თუ როგორ უნდა გამოთქმულ იქნას სპეციფიკური სიტყვები. შენახული ჩანაწერები ავტომატურად იმოქმედებს ყველა TTS მოთხოვნაზე, რომელსაც თქვენ გააკეთებთ. 200 ჩანაწერის ლიმიტი ანგარიშზე.

მოთხოვნის სხეული (POST)

პარამეტრებიტიპებიაღწერა
wordstringსიტყვა, რომლის გადაწერაც გსურთ (მაგალითად GIF, Anthropic). სიტყვის საზღვარი შეესაბამება.
replacementstring1999 წელს გამოვიდა მისი პირველი ალბომი, სახელწოდებით „The Code: The Code“ (კოდი: კოდი).
languagestringISO კოდი. ცარიელი = ყველა ენაზე ვრცელდება.
case_sensitivebooleanნაგულისხმევი false. რიცხვების სწორი შერწყმა, როდესაც true.
cURL
# Save an entry
curl -X POST https://tts.ai/api/v1/pronunciations/ \
  -H "Authorization: Bearer sk-tts-..." \
  -H "Content-Type: application/json" \
  -d '{"word": "GIF", "replacement": "jiff"}'

# List your entries
curl https://tts.ai/api/v1/pronunciations/ -H "Authorization: Bearer sk-tts-..."

# Delete entry by id
curl -X DELETE "https://tts.ai/api/v1/pronunciations/?id=42" -H "Authorization: Bearer sk-tts-..."

1999 წელს გამოვიდა მისი პირველი ალბომი, სახელწოდებით „The Way You Make Me Feel“ (რომელიც შეიცავს სიმღერებს „I'm a Slave 2 U“ და „I'm a Slave 2 U“).

სტატიის მკითხველიComment ახალი

ნებისმიერი სტატიის გვერდზე ერთი < code>< script> ჭდეების დაყენებისას, ვიზიტორებს ფიქსირებული მკითხველის პანელი ექნებათ, რომელიც გვერდის დაჭერით საუბრობს. სტატიის შიგთავსის ავტომატური აღმოჩენა, მხარს უჭერს ინდივიდუალურ ხმას / მოდელს / პოზიციას / აქცენტის ფერს.

HTML
<script src="https://tts.ai/narrator.js"
    data-pk="pk-tts-your-publishable-key"
    data-voice="af_bella"
    data-model="kokoro"
    data-extract="auto"
    data-position="bottom"
    data-color="#e60000"
    data-locale="en"></script>

პარამეტრები

პარამეტრებიაღწერა
data-pkგამოქვეყნებული გასაღები (pk-tts-…). დომენის შეზღუდვები მოქმედებს გასაღის allowed_domains სფეროს მეშვეობით.
data-voiceხმოვანი ID. ნაგულისხმევი af_bella.
data-modelTTS მოდელის ID. ნაგულისხმევი kokoro.
data-extractauto (ნაგულისხმევი) — ცდილობს article/main/.post-content/.entry-content-ის პარამეტრების შერჩევას, უკან ბრუნდება ყველაზე თხელი აბზაცების კლასტერში. ან გადასცემს ნებისმიერ CSS პარამეტრს, რათა სპეციფიკური ელემენტი მიაპყროს.
data-positionbottom (ნაგულისხმევი) ან top.
data-colorაქცენტის ფერი (CSS-ის ნებისმიერი ფერი). ნაგულისხმევი #e60000.
data-min-chars / data-max-charsთუ სტატია მინიმალური სიმბოლოების რაოდენობაზე ნაკლებია (ნაგულისხმევი 200), ნიშნის გადაშვება. შეყვანის მინიმალური სიმბოლოების რაოდენობა მაქსიმალური სიმბოლოების რაოდენობაზე (ნაგულისხმევი 50, 000) უნდა იყოს.

GitHub-ზე:

ყურსასმენის ღილაკის ელემენტიName

ღილაკის სტილის ჩაშენება. წარდგენილია < code>< script> ჭდესთან ერთად და ღილაკის დაწყებისას იწყებს მცირე ნაწილების აღდგენას. განსხვავდება ზემოთ მოცემული სტატიის მკითხველის ფორმისგან (რომელიც ავტომატურად ასხამს გვერდზე გადაჭიმულ პანელს და კითხულობს მთელ სტატიას).

HTML
<script src="https://tts.ai/widget.js"
    data-voice="af_bella"
    data-model="kokoro"
    data-style="full"
    data-theme="light"></script>

შენახული ხმები (მუდმივი კლონები)

რეფერენციული აუდიოს ერთჯერადი ჩატვირთვა, ხმა_ID-ის დაბრუნება, შემდეგ ამ id-ის ჩატვირთვა TTS მოთხოვნებში, აუდიოს ყოველი ზარის აღდგენის ნაცვლად. იდეალურია მაღალი მოცულობის ინტეგრაციებისთვის.

ფასი: შენახვა უფასოა (არანაირი დღიური გადასახადი, არანაირი ლოტის საზღვარი). ატვირთვის საფასური: 500 სიმბოლო ერთჯერადად თითოეული ხმაზე. გამოყენების საფასური: +50 სიმბოლო დაემატა თითოეულ TTS- ს წარმოქმნას, რომელიც მიანიშნებს შენახულ ხმაზე, ჩვეულებრივი წარმოქმნის ღირებულების ზემოთ. არქივირება ხმა, რომელიც არ გჭირდებათ ახლა, რომ დატოვოთ ისინი უძრავად; ნებისმიერ დროს გააქტიურება. ორივე უფასო API გამოძახებაა.

ხმა

POST https://tts.ai/api/v1/user-voices/ საჭიროა ავტორიზაცია

მრავალნაწილიანი ფორმა. ველი: ფაილი (ნაღდად საჭირო, 5-30 წამიანი აუდიო), სახელი (ნაღდად საჭირო), ენა (სასურველი, ნაგულისხმევი en), მოდელი (სასურველი — cosyvoice2-ს ავტომატური არჩევა zh/ja/ko-სთვის, დანარჩენი openvoice), თანხმობა_დადასტურებულია (ნაღდად საჭირო, ნებისმიერი მართებული მნიშვნელობა).

curl -X POST https://tts.ai/api/v1/user-voices/ \
  -H "Authorization: Bearer sk-tts-your-key" \
  -F "file=@reference.wav" \
  -F "name=My Narrator" \
  -F "language=en" \
  -F "consent_confirmed=true"

# Response:
{
  "public_id": "uv_a1b2c3d4e5f6",
  "id": 42,
  "name": "My Narrator",
  "model_name": "openvoice",
  "language": "en",
  "reference_audio_url": "https://tts.ai/media/user-voices/....wav",
  "storage_status": "active",
  "created_at": "2026-04-17T03:45:00+00:00"
}

შენახული ხმა TTS- ში გამოყენება

POST /api/v1/tts/-ში (გაფრთხილება: ვებ VPS ჰოსტი, არა api.tts.ai) user_voice_id-ით. ჩვენ თქვენი დაცული აუდიოს და მარშრუტის ჩატვირთვას ვახდენთ კლონინგის ქსელში.

curl -X POST https://tts.ai/api/v1/tts/ \
  -H "Authorization: Bearer sk-tts-your-key" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello from my saved voice","user_voice_id":"uv_a1b2c3d4e5f6"}'

# Returns a queued job — poll /v1/speech/results/?uuid=... for the audio URL.

სიის / წაშლა

GET    https://tts.ai/api/v1/user-voices/           # list your saved voices + quota info
DELETE https://tts.ai/api/v1/user-voices/?public_id=uv_a1b2c3d4e5f6

არქივაცია / გააქტიურება (თავისუფალი)

არქივირებული ხმაები რჩება თქვენს ანგარიშზე, მაგრამ არ შეიძლება გამოყენებულ იქნას TTS- ში. სასარგებლოა უძილობიანი მომხმარებლებისთვის, ასე რომ თქვენი სია სუფთა რჩება.

POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/archive/
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/reactivate/

კოდის მაგალითები

ტექსტიდან საუბარიName

Python - მოთხოვნებიStencils
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')}")

საუბარი ტექსტადName

Python - მოთხოვნებიStencils
# 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"])

ხმის კლონირებაName

Python - მოთხოვნებიStencils
# 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)

ტექსტიდან საუბარიName

JavaScript - მიღება
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();

საუბარი ტექსტადName

JavaScript - მიღება
// 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);

ტექსტიდან საუბარიName

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

საუბარი ტექსტადName

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"

ხმის კლონირებაName

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

აუდიოს გაუმჯობესებაName

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

შეცდომის კოდები

ყველა შეცდომა იძლევა JSON პასუხს error ოჲლვ.

შეცდომის პასუხის ფორმატი
{
  "error": {
    "code": "insufficient_credits",
    "message": "You do not have enough characters for this request.",
    "characters_required": 4000,
    "characters_available": 2000
  }
}
HTTP სტატუსიშეცდომის კოდიაღწერა
400 bad_request მოთხოვნის არასწორი პარამეტრები. დეტალების გასარკვევად შეამოწმეთ შეცდომის შეტყობინება.
401 unauthorized API გასაღები არ არის ან არასწორია.
402 insufficient_credits არ არის საკმარისი სიმბოლოები. შეიძინეთ მეტი / pricing /.
403 forbidden თქვენ არ გაქვთ უფლება ამ რესურსზე წვდომა (მაგალითად, სხვა მომხმარებლის დავალების გამოკითხვა). API წვდომა ყველა გეგმაშია ჩართული.
404 not_found მოდელი ან ხმა ვერ მოიძებნა.
413 file_too_large ატვირთული ფაილი გადააჭარბა ზომის საზღვარს.
429 rate_limited გადამეტებული მოთხოვნები. სიჩქარის საზღვრის თავსართების შემოწმება.
500 internal_error სერვერის შეცდომა. სცადეთ კიდევ უფრო გვიან.
503 model_loading მოდელის ჩატვირთვა. სცადეთ კიდევ რამდენიმე წამში.

ვებსაიტები

გრძელვადიანი დავალებებისთვის (root-ის გაყოფა, batch TTS), შეგიძლიათ მიუთითოთ webhook_url პარამეტრი. როდესაც დავალება დასრულდება, ჩვენ გამოვაქვეყნებთ შედეგს თქვენს URL-ზე.

Webhook- ის დატვირთვა
{
  "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"
}
Webhook- ის შედეგები 24 საათის განმავლობაში ხელმისაწვდომია ჩამოტვირთვისთვის. დარწმუნდით, რომ ისინი სწრაფად ჩამოტვირთეთ.

დჲრჲგ ლთ ჟთ ეა ჱაოჲფნვქ?

ოჲლსფთ ჟთ ოპთლთფვნ კლძფ თ ჱაოჲფნთ ეა თნრვდპთპაქ TTS.ai გ ოპთლადაŒარა ჟთ.