ሰነዶች
TTS.ai በ REST API ጋር በፕሮግራሞችዎ ውስጥ ያካትቱ. OpenAI-ተኳሃኝ ቅርጸት ለተሻለ ማዛወር.
ማጠቃለያ
The TTS.ai API provides programmatic access to all platform features: text-to-speech synthesis, speech-to-text transcription, voice cloning, audio enhancement, and more. The API uses standard REST conventions with JSON request / response bodies.
የAPI ቁልፍ
የAPI ቁልፉን ከ የሂሳብ ምርጫዎች. በፕሮ እና ኢንተርፕራይዝ ዕቅዶች ላይ ይገኛል
መሠረታዊ URL
https://api.tts.ai/v1/
ማረጋገጫ
የቀን/ሰዓት ቶኬን Authorization የገጽ አናት
ማረጋገጫ
ሁሉንም API ጥያቄዎች በመጠባበቂያ ቶኬን በኩል ማረጋገጫን ይጠይቃሉ Authorization የገጽ አናት.
Authorization: Bearer sk-tts-your-api-key-here
መሠረታዊ URL
ሁሉም የመጨረሻ ነጥቦች ወደዚህ መሠረታዊ ዩ.አር.ኤል የተያያዙ ናቸው። ለምሳሌ፣ የቲ.ቲ.ኤስ መጨረሻ ነጥብ ነው፦
የፍጥነት ገደብ
API የፍጥነት ገደቦች በፕሮግራም ይለያያሉ:
| ዕቅድ | ጥያቄዎች/ ደቂቃ | ተመሳሳይ | የጽሑፍ ርዝመት |
|---|---|---|---|
| ለ | 60 | 5 | ፊደላት |
| ኩባንያ | 300 | 20 | ፊደላት |
የፍጥነት ገደብ ርዕሶች በእያንዳንዱ መልስ ውስጥ ይገኙበታል: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
የክሬዲት ዋጋ
| ሰርቨር | ዋጋ | ዩኒት |
|---|---|---|
| TTS (ነጻ ሞዴሎች: Piper, VITS, MeloTTS) | ክሬዲት | ፊደል(ሎች) |
| TTS (አስፈላጊ ሞዴሎች: ኮኮሮ, ኮሲቮይስ 2, ወዘተ.) | 2 ነጥቦች | ፊደል(ሎች) |
| TTS (Premium ሞዴሎች: Tortoise, Chatterbox, ወዘተ.) | 4 ነጥቦች | ፊደል(ሎች) |
| ንግግር ወደ ጽሑፍ | 2 ነጥቦች | ድምፅ |
| የድምፅ ክሎኒንግ | 4 ነጥቦች | ፊደል(ሎች) |
| የድምፅ መለወጫ | 3 ነጥቦች | ድምፅ |
| የድምፅ ማሻሻያ | 2 ነጥቦች | ድምፅ |
| የድምፅ ማስወገድ / የድምፅ ክፍፍል | 3-4 ክሬዲቶች | ድምፅ |
| የንግግር ትርጉም | 5 ነጥቦች | ድምፅ |
| የድምፅ ውይይት | 3 ነጥቦች | ዙር |
| የፊደል ቅርጽ ምርጫዎች | ነጻ | -- |
| የድምፅ መለወጫ | ነጻ | -- |
ጽሑፉን ወደ ንግግር ለውጥ
ጽሑፉን ወደ ንግግር ድምፅ ይለውጡ. የድምፅ ፋይሉን በተጠየቀው ቅርጸት ይመልሳል
የጠየቀው አካል
| መለኪያ | ዓይነት፦ | የሚያስፈልግ | መግለጫ የለም |
|---|---|---|---|
| model | string | አዎ | ሞዴል ID (ለምሳሌ kokoro, chatterbox, piper) |
| text | string | አዎ | ወደ ንግግር የሚለወጥ ጽሑፍ (ለፕሮ 5,000 ፊደላት፣ ለኢንተርፕራይዝ 50,000 ፊደላት) |
| voice | string | አዎ | የድምፅ አይዲ (/v1/voices/ን በመጠቀም የሚገኙትን ድምጾች ዝርዝር ውስጥ ያስገቡ) |
| format | string | አይሆንም | የምርቱ ቅርጸት: mp3 (መደበኛ), wav, flac, ogg |
| speed | float | አይሆንም | የመናገር ፍጥነት ብዛት. መደበኛ: 1.0. ክልል: 0.5 እስከ 2.0 |
| language | string | አይሆንም | የቋንቋ ኮድ (ለምሳሌ en, es). ካልተጠቀሰ በራስ-ሰር ይታወቃል። |
| stream | boolean | አይሆንም | ስትሪሚንግ መልስ አስጀምር. ቅድመ ዕይታ: false |
የምሳሌ ጥያቄ
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
መልስ
የድምፅ ፋይሉን በሁለት-አቅጣጫዊ መረጃ ከሚስማማ Content-Type አናት (audio/mpeg, audio/wav, ወዘተ.) ጋር ይመልሳል
Content-Type: audio/mpeg
Content-Length: 48256
X-Credits-Used: 2
X-Credits-Remaining: 498
ንግግር ወደ ጽሑፍ
ድምፅን ወደ ጽሑፍ ይለውጡ. 99 ቋንቋዎችን በራስ-ሰር ለይቶ ማወቅን ይደግፋል።
የጠየቀው አካል (multipart/form-data)
| መለኪያ | ዓይነት፦ | የሚያስፈልግ | መግለጫ የለም |
|---|---|---|---|
| file | file | አዎ | የድምፅ ፋይል (MP3, WAV, FLAC, OGG, M4A, MP4, WebM) |
| model | string | አይሆንም | STT ሞዴል: whisper (መደበኛ), faster-whisper, sensevoice |
| language | string | አይሆንም | የቋንቋ ኮድ. auto ለራስ-አስተዋወቅ (የተለመደው) |
| timestamps | boolean | አይሆንም | የቃላት-ደረጃ ሰዓት ማስታወቂያዎችን ያካትቱ. መደበኛ: false |
| diarize | boolean | አይሆንም | የድምፅ መዝገብ ቤትን አስጀምር። መደበኛ፦ false |
መልስ
{
"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 ሰከንዶች ጠቃሚ ነው) |
| text | string | አዎ | ጽሑፉን በክሎነድ ድምፅ ለመናገር |
| model | string | አይሆንም | ክሎን ሞዴል: chatterbox (የተለመደው), cosyvoice2, gpt-sovits |
| format | string | አይሆንም | የምርቱ ቅርጸት: mp3 (መደበኛ), wav, flac |
| language | string | አይሆንም | የቋንቋ ኮድ. የተመረጠው ሞዴል ሊደግፍ ይገባል |
መልስ
የድምፅ ፋይሉን እንደ бинаር መረጃ ይመልሳል፣ እንደ TTS መጨረሻ ነጥብ ተመሳሳይ ነው።
የድምፅ መለወጫ
ድምጹን እንደ ሌላ ድምፅ እንዲሰማ ይለውጡ። የድምፅ ምንጭን ጫን እና የመጨረሻ ድምፅን ይምረጡ።
የጠየቀው አካል (multipart/form-data)
| መለኪያ | ዓይነት፦ | የሚያስፈልግ | መግለጫ የለም |
|---|---|---|---|
| file | file | አዎ | የድምፅ ፋይል (MP3, WAV, FLAC) |
| target_voice | string | አዎ | ወደሚቀየርበት የድምፅ አይዲ (/v1/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 | አዎ | የድምፅ ፋይል በመነሻ ቋንቋ |
| target_language | string | አዎ | የቋንቋ ኮድ (ለምሳሌ es, fr, de, ja) |
| 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 | አዎ | የድምፅ ፋይል |
| voice | string | አዎ | የድምፅ ቪዲዮ |
| model | string | አይሆንም | ሞዴል: openvoice (መደበኛ), chatterbox |
| emotion | string | አይሆንም | የሚፈለገው ስሜት: neutral, happy, sad, angry, excited |
| 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 (መነሻ) ወይም 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 | የምርጫው ቢትሬት በኪ.ቢ.ፒ: 64, 128, 192, 256, 320 |
| sample_rate integer | የሳምፕ መጠን፦ |
| channels string | mono ወይም stereo |
የድምፅ ውይይት
የድምፅ ወይም የጽሑፍ መልዕክት መላክ እና የተቀናጀ ንግግር ጋር AI መልስ ማግኘት.
የጠየቀው አካል (multipart/form-data ወይም JSON)
| መለኪያ | ዓይነት፦ | የሚያስፈልግ | መግለጫ የለም |
|---|---|---|---|
| audio | file | አይሆንም* | የድምፅ አቅርቦት (audio ወይም text ያስፈልጋል) |
| text | string | አይሆንም* | የጽሑፍ ማስገባት (audio ወይም text ያስፈልጋል) |
| voice | string | አይሆንም | ድምፅ ለ AI መልስ. መደበኛ: af_bella |
| tts_model | string | አይሆንም | ለምላሽ የቲቲኤስ ሞዴል. መደበኛ: kokoro |
| 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
}
ሞዴሎችን ዝርዝር
ሁሉንም የተገኙ ሞዴሎችን በችሎቶቻቸው ዝርዝር ይመልሳል
መልስ
{
"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 አጣራ (ለምሳሌ kokoro) |
| language | string | በቋንቋ ኮድ አጣራ (ለምሳሌ en) |
| gender | string | በፆታ አጣራ: male, female, neutral |
መልስ
{
"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
}
ምሳሌዎች
ጽሑፉን ወደ ንግግር ለውጥ
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 ፋይል
{
"error": {
"code": "insufficient_credits",
"message": "You do not have enough credits for this request.",
"credits_required": 4,
"credits_available": 2
}
}
| የHTTP ሁኔታ | ስህተት ኮድ | መግለጫ የለም |
|---|---|---|
| 400 | bad_request |
የጠየቁት ፓራሜትሮች ስህተት ናቸው። ዝርዝሮችን ለማየት የስህተት መልዕክቱን ይመልከቱ። |
| 401 | unauthorized |
የጠፋ ወይም ያልሆነ የAPI ቁልፍ |
| 402 | insufficient_credits |
በቂ ክሬዲቶች የሉም። በ /pricing/ የበለጠ ይግዙ። |
| 403 | forbidden |
የAPI መዳረሻ በፕላንዎ ላይ አልተገኘም |
| 404 | not_found |
ሞዴል ወይም ድምፅ አልተገኘም |
| 413 | file_too_large |
የፋይል ስም፦ (_N) |
| 429 | rate_limited |
ብዙ ጥያቄዎች አሉ. የፍጥነት ገደቦችን ይመልከቱ |
| 500 | internal_error |
ሰርቨር ስህተት. በኋላ ይሞክሩ. |
| 503 | model_loading |
ሞዴል ይጫናል. በጥቂት ሰከንዶች ውስጥ ይሞክሩ |
ዌብሆክስ
ለረጅም ጊዜ የሚሠሩ ስራዎች (የስቴም ክፍፍል፣ የባች ቲቲኤስ) webhook_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"
}
ለመገንባት ዝግጁ ነዎት?
የእርስዎን API ቁልፍ ማግኘት እና TTS.ai ወደ ፕሮግራሞችዎ ውስጥ ማካተት ይጀምሩ.