ሰነድ
TTS.ai ኣብ ኣፕሊኬሽናትካ ምስ REST APIና ተሓታቲፍካ ምዝገባ። OpenAI-compatible format for easy migration.
ግምገማ
እቲ TTS.ai API ንኹሉ ባህርያት ናይቲ መተግበሪ ብፕሮግራም ክኸይድ ይሕግዘካ እዩ። እዚ ማለት፡ ፅሑፍ-እቲ-ብቓል-ዝሕብር፣ ቓል-እቲ-ብቓል-ዝሕብር፣ ድምጺ-ዝሕብር፣ ድምጺ-ዝዕብል፣ ወዘተ.
ምትካል
ረክብ ሻዕብያ APIካ ካብ ቍጽሪ ኣድራሻ. ኣብ ኩሉ ልምዓት ተቐባልነት ዘለዎ፣ ነጻ ኣድራሻታት ጨምሮ።
መሰረታዊ URL
https://api.tts.ai/v1/
ምዝገባ
ናጽነት Authorization ርኢቶ
ምስክር ወረቐት
/v1/tts/ ሰርሕ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ ብነጻ (piper, vits, melotts, kokoro). ምዝገባ ን 15,000 ተጨማሪ ገጽታዎችን መዳረሻን ለፕሪሚየም ሞዴሎች ለማግኘት ነጻ ምዝገባን ምዝገባን.
ንሞዴላት ተለፎን Premiumን ዝለዓለ ርክብ ቴሌፎንን፣ ምስ ቶኬን ተሳተፊ ኣብ Authorization ርኢቶ.
Authorization: Bearer sk-tts-your-api-key-here
SDKs
TTS.ai ኣብ ኣፕሊኬሽንካ ንምእታው TTS.ai ኣብ TTS.ai ንምእታው TTS.ai ኣብ ኣፕሊኬሽንካ ንምእታው TTS.ai ኣብ TTS.ai ንምእታው TTS.ai ኣብ TTS.ai ንምእታው
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")
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');
መሰረታዊ URL
ኵሎም መጨረሻታት ርሒቖም እዮም ናብዚ መሰረታዊ URL'ዚ ዝድግፉ። ለምሳሌ፡ መጨረሻ 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 ኣርእስቲ | ኣብ 1,000 ኣርእስታት |
| TTS (ስታንደርድ ሞዴላት: Kokoro, CosyVoice 2, ወዘተ.) | 2,000 ኣርእስቲ | ኣብ 1,000 ኣርእስታት |
| TTS (Premium models: Tortoise, Chatterbox, etc.) | 4,000 ኣርእስቲ | ኣብ 1,000 ኣርእስታት |
| ድምጺ ናብ ጽሑፍ | 2,000 ኣርእስቲ | ድምጺ |
| ድምጺ | 4,000 ኣርእስቲ | ኣብ 1,000 ኣርእስታት |
| ድምጺ ምትኻን | 3,000 ኣርእስቲ | ድምጺ |
| ድምጺ | 2,000 ኣርእስቲ | ድምጺ |
| ድምጺ ምውጻእ / ድምጺ ምፍጣር | 3,000-4,000 ኣርእስቲ | ድምጺ |
| ትርጉም ቃላት | 5,000 ኣርእስቲ | ድምጺ |
| ድምጺ | 3,000 ኣርእስቲ | ሒደት |
| Key & BPM Finder | ነጻ | -- |
| ድምጺ ምትኻን | ነጻ | -- |
ጽሑፍ ናብ ቃላት
ጽሑፍ ናብ ቃላት ድምጺ ይወሃብ። ድምጺ ፋይል ኣብ ዝደሊ ቅርጽ ይቕረቡ።
ቍጽሪ ደብዳቤ
| ቍጠባዊ | ዓይነት | ዝግባእ | መግለጺ |
|---|---|---|---|
| model | string | ኣይ | ሞዴል ID (e.g., ቍጽሪ, ቻትቦክስ, ፒፐር). እንተ ተቐቢሉ፣ ብተደጋጋሚ ናጻ ሞዴል ንረክብ፣ እቲ ዝረኸብካዮ ቋንቋ — ቍጽሪ for en/ja/zh/ko/fr/de/it/pt/es/hi/ru, ፒፐር ንኻልኦት ቋንቋታት ዝደገፍ (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/ (to list available voices) |
| format | string | ኣይ | ቅርጽ ምርካብ: mp3 (ተቐባልነት) wav, FLAC, ogg |
| speed | float | ኣይ | መብዛሕትኡ ግዜ 1.0ርክብ 0.5 ርክብ 2.0 |
| language | string | ኣይ | ኮድ ቋንቋ (e.g., ፊደል(_F), ሱዳን). ብኻልእ መገዲ ይርከብ እንተ ተቐቢሉ |
| instructions | string | ኣይ | ተግባር/ምቕጻል ድምጺ (≤500 ቃላት)፣ ምሳ. \ |
| pronunciations | object | array | ኣይ | ድምጺ ብጠለብ ዝቐየረ. ወይ } |
| stream | boolean | ኣይ | ምላሽ ስትሪም ምፍጣር ምፍጣር ሓሶት |
ምሳሌ
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 መለክዒታት
ቍጽሪ፣ ዕለት፣ ኣመዛዛቢ ገንዘብ፣ ቍጽሪ ስልኪ፣ ቍጽሪ ፊደልን መዝገበ ቃላትን ሒዝካ ቀን The TTS endpoint queues your request and returns a JSON response with a job UUID. You then poll for the result. Poll this endpoint every 1-2 seconds until Fetch the Streaming alternative: For supported models (Kokoro, MeloTTS), use
ተርጓሚ ምዝገባ ተዛረበ cardinal1234one thousand two hundred thirty-four ordinal21twenty-first date1999-12-31ነሓሰ 31, 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 ሜዳ ቛንቋ እንግሊዝኛ dmy ኣብ ካልእ ቦታ; ተጻሒፉ ቅርጺ{
"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."
}መልሲ
Step 1: Submit request
{
"uuid": "77b71db532874ce98e84a69a2d740d4c",
"job_id": "f21316bb-aefa-480d-8523-701d1e3184ce",
"status": "queued",
"credits_used": 11,
"credits_remaining": 15000
}Step 2: Poll for result
status is completed or failed.{
"status": "completed",
"result_url": "https://api.tts.ai/static/downloads/77b71db5.../output.mp3"
}{
"status": "processing"
}Step 3: Download audio
result_url from the completed response to download the audio file.ምሳሌ ሙሉ
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)POST /v1/tts/stream/ for real-time Server-Sent Events (SSE) streaming — no polling needed.
ድምጺ ናብ ጽሑፍ
ድምጺ ናብ ጽሑፍ ሒዝካ ተርእዮ። 99 ቋንቋታት ይደግም
ቍጽሪ ደብዳቤ (multipart/form-data)
| ቍጠባዊ | ዓይነት | ዝግባእ | መግለጺ |
|---|---|---|---|
| file | file | ኣየ | ፋይል ድምጺ (MP3, WAV, FLAC, OGG, M4A, MP4, WebM) |
| model | string | ኣይ | ቍጽሪ ሞዴል: ድምጺ (ተቐባልነት) ፋስተር-ዊስፐር, sensevoice |
| language | string | ኣይ | ኮድ ቋንቋ ኣቶ ንኡስ-መዳርግቲ |
| timestamps | boolean | ኣይ | ቍጽሪ ግዜ ኣብ ደረጃ ቃል ኣውጽእ። ሓሶት |
| diarize | boolean | ኣይ | ድምጺ ድምጺ ምፍጣር ምፍጣር ሓሶት |
መልሲ
{
"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"
}
]
}
ድምጺ
ቃላት ኣብ ሓደ ክሎነድ ድምጺ ሒዝካ ምጽሓፍ። ድምጺ ርኢኻን ጽሑፍን ኣትዉ።
ቍጽሪ ደብዳቤ (multipart/form-data)
| ቍጠባዊ | ዓይነት | ዝግባእ | መግለጺ |
|---|---|---|---|
| reference_audio | file | ኣየ | ድምጺ ረድኤት (10-30 ሰከንድ ዝውሰድ) 20MB ማይክሮ |
| text | string | ኣየ | ጽሑፍ ንምብጻሕ ኣብ ክሎነድ ድምጽ |
| model | string | ኣይ | ቍጽሪ ቍጽሪ: ቻትቦክስ (ተቐባልነት) ድምጺ 2, gpt-sovits |
| format | string | ኣይ | ቅርጽ ምርካብ: mp3 (ተቐባልነት) wav, FLAC |
| language | string | ኣይ | ኮድ ቋንቋ-መዳርግቲ. እቲ ዝተመርጸ ሞዴል ክሕብር ኣለዎ |
መልሲ
ፋይል ድምጺ ከም ባንየር ሓበሬታ ይቕረቡ፣ ከምኡ'ውን ከም TTS መጨረሻ-ድግሪ
ድምጺ ምትኻን
ድምጺ ንምውዳቕ፡ ከም ካልእ ድምጺ ይሰማማዕ። ድምጺ መነባብሮ ኣትዉን ድምጺ መዳርግቲ ይምረጡ።
ቍጽሪ ደብዳቤ (multipart/form-data)
| ቍጠባዊ | ዓይነት | ዝግባእ | መግለጺ |
|---|---|---|---|
| file | file | ኣየ | ፋይል ድምጺ መነባብሮ (MP3, WAV, FLAC). 50MB ማይክሮፎን |
| target_voice | string | ኣየ | ድምጺ ID ንምውጻእ (ሕተት) /v1/voices/ (to list available voices) |
| model | string | ኣይ | ድምጺ ምትካል ሞዴል: openvoice (ተቐባልነት) knn-vc |
| format | string | ኣይ | ቅርጽ ምርካብ: wav (ተቐባልነት) mp3, FLAC |
ምሳሌ
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
መልሲ
ፋይል ድምጺ ከም ብሉይ መዝገብ ይቕበል
ትርጉም ቃላት
ድምጺ ዝተዛረበ ካብ ቋንቋ ናብ ካልእ ቋንቋ ተርጒም። ኣብ ሓደ ጥዕና ቃለ-መሕትት ቃለ-መሕትት-ክኢላ፣ ትርጉም፣ን ጽሑፍ-ክኢላ-ክኢላ ይዛረብ።
ቍጽሪ ደብዳቤ (multipart/form-data)
| ቍጠባዊ | ዓይነት | ዝግባእ | መግለጺ |
|---|---|---|---|
| file | file | ኣየ | ድምጺ ፋይል ኣብ ቋንቋ መረጋገጺ. Max 100MB. |
| target_language | string | ኣየ | ኮድ ቋንቋ-መዳርግቲ (e.g. ሱዳን, ፊሊፒንስ, de, ኣየ) |
| voice | string | ኣይ | ድምጺ ንምትርጉም ምርጫ. ብቐንዱ ከተምሃር እንተዘይከኣለ |
| preserve_voice | boolean | ኣይ | ድምጺ መሰረታዊ ተናጋሪ ንምሕላው ይጥምት። ሓሶት |
መልሲ
{
"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
}
ድምጺ ናብ ድምጺ
ስነ-ጥበብ ቃላት፣ ስነ-ሓሳብ፣ ወይ ስነ-ጽሑፍ ኣብ ዝቕጽል እዋን ቐይድ። ንድምጺ፣ ፍጥነት፣ንጽሑፍነት ንምድላው ጠቃሚ እዩ።
ቍጽሪ ደብዳቤ (multipart/form-data)
| ቍጠባዊ | ዓይነት | ዝግባእ | መግለጺ |
|---|---|---|---|
| file | file | ኣየ | ፋይል ድምጺ ቃላት መነባብሮ. Max 50MB. |
| voice | string | ኣየ | ድምጺ ID ናይ'ቲ ድምጺ ምርካብ |
| model | string | ኣይ | ቍጽሪ: openvoice (ተቐባልነት) ቻትቦክስ |
| emotion | string | ኣይ | ስነ-ሓሳብ ነጻ, ሐዲስ, ሐዘን, ተሓቲቱ, ተዛሪቡ |
| speed | float | ኣይ | ርኢቶ 1.0ርክብ 0.5 ርክብ 2.0 |
መልሲ
ፋይል ድምጺ ከም ብሉይ መዝገብ ይቕበል
መሣሪያታት ድምጺ
ድምጺ ንምፍጣር መጨረሻ-ጥቕዓት ንምድጋፍ፣ ድምጺ ንምውጻእ፣ ደምቢ ንምፍጣር፣ንሕሉፍ
ድምጺ ረክብ: ድምጺ ረክብ፣ ግልጽነት ረክብ፣ ረቛሒ ረቛሒ ረቛሒ
| file file | ድምጺ ፋይል ንምዕዋት |
| denoise boolean | ድምጺ ምቕያር ኣድላዪ (ተቐዳዲሙ: ሓቂ) |
| enhance_clarity boolean | ድምጺ |
| super_resolution boolean | ድምጺ ረኺብካ (ምስ ዝቐረበ: ሓሶት) |
| strength integer | 1-3 (ጥቕሚ፡ መሓመድ፡ ብርቱዕ)። ዘይምሕሳብ፡ 2 |
ድምጺ ካብ መሳርሒታት ምፍጣር (ድምጺ ምፍጣር) ወይ ድማ ናብ ቅርጺ ምፍጣር።
| file file | ድምጺ ፋይል ንምቕራብ |
| model string | demucs (default) ወይ spleeter |
| stems integer | ቍጽሪ ቅርጽታት: 2, 4, 5, ወይ 6 (ኣቐዲሙ: 2) |
| format string | ቅርጽ ምርካብ: wav, mp3, FLAC |
ድምጺ ካብ ድምጺ መዝገብታት ሒዝካ ምውጻእ
| file file | ድምጺ ፋይል ንምሕላው |
| type string | echo or reverb (default: both) |
| intensity integer | 1-5 (default: 3) |
ድምጺ ንምፍታሕ ድምጺ ክተመርመር፣ 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"]
}
ድምጺ ኣብ ቅርጽታት ምትሓዝ
| file file | ድምጺ ፋይል ንምቕያር |
| format string | ቅርጺ ዕላማ: mp3, wav, FLAC, ogg, m4a, aac |
| bitrate integer | ናይ ምርካብ ቢትሬት ኣብ kbps: 64, 128, 192, 256, 320 |
| sample_rate integer | ርዝመት ሰለስተ ሰለስተ |
| channels string | mono ወይ stereo |
ድምጺ
ድምጺ ወይ ጽሑፍ ኺእክልን መልሲ AI ምስ ቓል ዝተሰነዳ ክረክብን ይኽእል እዩ።
ቍጽሪ ደብዳቤ (multipart/form-data ወይ JSON)
| ቍጠባዊ | ዓይነት | ዝግባእ | መግለጺ |
|---|---|---|---|
| audio | file | ኣይ* | ድምጺ ምዝገባ (ወይ ድምጺ ወይ ጽሑፍ (ተጠቕሰ) |
| text | string | ኣይ* | ጽሑፍ ምዝገባ (ወይ ድምጺ ወይ ጽሑፍ (ተጠቕሰ) |
| voice | string | ኣይ | ድምጺ ንምምላስ AI. ዘይሕጋዊ: ረ_ድእ |
| tts_model | string | ኣይ | TTS ሞዴል ንምምላስ። ዘይሕጋዊ፡ ቍጽሪ |
| system_prompt | string | ኣይ | ናይ ባዕሉ ስርዓት ፕሮም |
| conversation_id | string | ኣይ | ቀጥል የድሊ ቃለ-መጠይቅ |
መልሲ
{
"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
}
መዝገብ ቤት
ቍጽሪ ቍጽሪ ጽሑፋት ንምቕራብ ንተጻዋእቲ ገጽ
ቍጠባዊ
| ቍጠባዊ | ዓይነት | መግለጺ |
|---|---|---|
| texts | array | Array of objects: {text, model, voice}. Max 50 items. |
| webhook_url | string | መረጋገጺ URL ን POST ውጽኢት ምስ ሙሉእ |
መልሲ
{
"batch_id": "abc123",
"total": 3,
"completed": 0,
"status": "processing"
}
ግምገማ ሒዝካዮ ኣትዩ ፡ GET /v1/tts/batch/result/?batch_id=abc123
ድምጺ
ድምጺ ንምእታው ካብ ረቛሒ ድምጺ መጀመርያ ሒዝዎ። ነቲ embed_id ኣብ ዝለዓለ ድምጺ ክሎን ክኢላታት ንምውጻእ ተጠቒሙ።
ቍጠባዊ
| ቍጠባዊ | ዓይነት | መግለጺ |
|---|---|---|
| file | file | Reference audio file (WAV, MP3, FLAC). |
| model | string | Cloning model (default: chatterbox). Supported: chatterbox, cosyvoice2, openvoice, gpt-sovits, spark, indextts2, qwen3-tts. |
መልሲ
{
"embed_id": "emb_abc123",
"model": "chatterbox",
"duration_ms": 450
}
ምርመራ ጥዕና
ቍጽሪ GPU ሰረተ-ጽሑፍ፣ ዝተጫወቱ ሞዴላት፣ ከምኡ'ውን መጠን ናይቲ ዑደት ምርኣይ። ምስክር ወረቐት የድልየኩም። 30 ሰከንድ ኣብ ካሽ ተዘርጊሑ።
መልሲ
{
"status": "online",
"latency_ms": 45,
"queue_size": 3,
"models_loaded": ["kokoro", "chatterbox", "cosyvoice2"]
}
ቍጽሪ ሞዴላት
መዝገብ ናይ ኩሉ ዝርከብ ሞዴላት ምስ ልምምድኦም ይቕረ በለ።
መልሲ
{
"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
}
]
}
ድምጺታት ዝርዝር
ድምጺታት ረኺብካዮም ርኢኻ፣ ብሞዴል ወይ ቋንቋ ተቐቢልካ
ርኢቶ
| ቍጠባዊ | ዓይነት | መግለጺ |
|---|---|---|
| model | string | ብሞዴል ID ፊልተር (e.g. ቍጽሪ) |
| language | string | ብኮድ ቋንቋ ፊልተር (e.g. ፊደል(_F)) |
| gender | string | ጾታ: ጾታ, ሴት, ነጻ |
መልሲ
{
"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) _አዲስ
ሰንሰለታዊ ርኢቶታት ንምምጻእ ን TTS ስራሕ ሙሉእ. Whisper ርኢቶታት ኣብ ድምጺ ይሰርሕን SRT ወይ WebVTT ይቕበልን። ውጽኢት ኣብ ዲስክ ይቕመጥ፡ ከምኡ'ውን ሓደ ካልኣይ ጥሪ ንተመሳሳሊ uuid ኣብ ዲስክ ክነብር፡
ርኢቶ
| ቍጠባዊ | ዝግባእ | መግለጺ |
|---|---|---|
| uuid | ኣየ | UUID ስራሕ ዝተረኽበ ብ /v1/tts/ ወይ /v1/voice-clone/ |
| format | ኣይ | srt (ተቐባልነት) ወይ vtt. |
| download | ኣይ | 1 መላኺ መዝገብ-መዘክሪ ከምኡ'ውን እቲ ብራውዘር ክጥቀመሉ ክኽእል እዩ |
| language | ኣይ | ምትእስሳር ናብ ሞዴል ምትእስሳር (ብተደጋጋሚ እንተተቐየረ) |
curl "https://api.tts.ai/v1/speech/subtitles/?uuid=$UUID&format=srt&download=1" -o subtitles.srt
መዝገበ ቃላት ድምጺ _አዲስ
ንተገልጋሊ TTS ንኸመይ ጌርካ ቃላት ዝንገር ትገልጽ። ዝረኸብካዮ ምዝገባታት ብውሑድ ንየናይ TTS ሕቶ እንተደኣ ረኺብካዮ ይጥቀሙ። 200 ምዝገባታት ኣብ ሓደ ኣድራሻ ምዝገባ ወሰነ ኣሎ።
ቍጽሪ ደብዳቤ (POST)
| ቍጠባዊ | ዓይነት | መግለጺ |
|---|---|---|
| word | string | ቃል ንምልላይ (e.g. GIF, ስነ-ጥበባዊ). ቃል-ግዳም ተዛረበ። |
| replacement | string | ከመይ ጌርካ ክትጽሕፎ ትኽእል ኢኻ (e.g. jiff, ann THROP ick) |
| language | string | ኣልቦ = ንዅሉ ቋንቋታት ይጥቀም። |
| case_sensitive | boolean | ኣቐዲሙ ሓሶት. ምትእስሳር ናይ ፊደል መጠን ልክዕ ኣብ ሓቂ. |
# 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-..."
You can also pass per-request overrides without saving them — include ድምጺ ኣብ /v1/tts/ ክጥቀመሉ ይኽእል እዩ፣ ከም ሓደ ኣርእስቲ ወይ ከም ሓደ ኣረኣእያ (ኣብ TTS endpoint parameters ተመልከት)
ደራሲ ጽሑፍ _አዲስ
ሒዝካ 100%
<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 | ረድኤት ረኺብካዮ ረድኤት field. |
data-voice | ድምጺ ID. ረ_ድእ. |
data-model | TTS ሞዴል ID. ዘይምሕሳብ ቍጽሪ. |
data-extract | ኣቶ (ተቐባልነት) — ምርኣይ article/main/.post-content/.entry-content-selektors, ናብ ትሑት ገጽ ክለዓል ይኸይድ። ወይ ድማ CSS-selektor ንምምጻእ ንገለ-ገለ ኣርእስቲ ይኸይድ። |
data-position | ታች (ተቐባልነት) ወይ መረጋገጺ. |
data-color | ቀለም ኣርእስቲ (ኣብ CSS ዝርከብ ቀለም) #e60000. |
data-min-chars / data-max-chars | ባር ሒዝካ ኣትዩ እንተ ዀይኑ እቲ ጽሑፍ ዝናብ ዝያዳ ቃላት (ኣቐዲሙ 200) እዩ። ቍጽሪ ቃላት ኣብ ዝያዳ ቃላት (ኣቐዲሙ 50,000) ሒዝካ ኣትዩ። |
ድምጺ ይስሙ
ኣብ-ጥቕሲ ኣመጻጽኣ-መክፈሊ-መክፈሊ. ኣብ ቀረባኡ ይቕረበ ርሑቕ ቅርጺ ካብ'ቲ ጽሑፍ ዘቕርቦ (ኣብ ገጽ ዝሰፈረ ባር ብምውሳድ ንሙሉእ ጽሑፍ ዘቕርቦ)
<script src="https://tts.ai/widget.js"
data-voice="af_bella"
data-model="kokoro"
data-style="full"
data-theme="light"></script>
ድምጺታት (Persistent Clones)
ሓደ ግዜ ረቛሒ ድምጺ ኣትዉ፣ ሓደ ዘጸግም voice_id ኣትዉ፣ ድሕሪኡ እቲ id ኣብ TTS ሓሳባት ኣትዉ ይልኣኽ፣ ይልኣኽ ድማ ድምጺ ኣብ ኩሉ ጥዕና. ልክዕ ንሃገርታት ዝሃብዎ ድምጺ ዝደፍእ ኣትዉ።
ድምጺ ኣትሒዝካ
POST
https://tts.ai/api/v1/user-voices/
ምዝገባ የድሊ
ምድላዋት: ፋይል (ተጸቢብ፣ 5-30 ሰ. ድምጺ)، ስም (ተጸቢብ)، ቋንቋ (ተቐባልነት ዘይብሉ፣ ብቐንዱ en), ሞዴል (ተቐባልነት ዘይብሉ — auto-picks cosyvoice2 for zh/ja/ko else openvoice), consent_confirmed (ተጸቢብ፣ ኩሉ true value).
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 to /api/v1/tts/ (NOTE: web VPS host, not api.tts.ai) with user_voice_id. We load your stored audio and route to the cloning pipeline.
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/
ምሳሌ ኮድ
ጽሑፍ ናብ ቃላት
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')}")
ድምጺ ናብ ጽሑፍ
# 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"])
ድምጺ
# 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)
ጽሑፍ ናብ ቃላት
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();
ድምጺ ናብ ጽሑፍ
// 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 -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
ድምጺ ናብ ጽሑፍ
# 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"
ድምጺ
# 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
ድምጺ
# 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 field.
{
"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 |
ሞዴል ይጥቀም ኣሎ። ኣብ ጥቂት ሰከንዶም ንብጻይዎ ክምርምር ይጽዕር። |
ዌብሆክ
ንዓኻ ረኺብካዮ ዘለኻ ስራሕ (steem splitting, batch TTS)፡ ትኽእል ኢኻ webhook_url parameter. እቲ ስራሕ ምስ ተኸታተለ፡ እቲ ውጽኢት ናብቲ URLካ ክንጽሕፍ ኢና
{
"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"
}
ንኸምዚ ትጽቢት?
TTS.ai ኣብ ኣፕሊኬሽኖምካ ንምእታው፡ TTS.ai ን API key ክትረክብ ትኽእል ኢኻ።