ሰነዶች

TTS.ai በ REST API ጋር በፕሮግራሞችዎ ውስጥ ያካትቱ. OpenAI-ተኳሃኝ ቅርጸት ለተሻለ ማዛወር.

REST API OpenAI የሚስማማ JSON መልሶች ስትሪሚንግ ድጋፍ

ማጠቃለያ

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 የገጽ አናት.

የHTTP አናት
Authorization: Bearer sk-tts-your-api-key-here
የAPI ቁልፍህን ምስጢር አድርግ በክላኢንት ኮድ፣ በሕዝብ መዝገብ ቤቶች ወይም ሎጎዎች ውስጥ አታጋሩት። ቁልፎችን በየጊዜው ከሂሳብዎ ማስተካከያዎች ውስጥ ያዙሩ።

መሠረታዊ URL

መሠረታዊ URL: https://api.tts.ai/v1/

ሁሉም የመጨረሻ ነጥቦች ወደዚህ መሠረታዊ ዩ.አር.ኤል የተያያዙ ናቸው። ለምሳሌ፣ የቲ.ቲ.ኤስ መጨረሻ ነጥብ ነው፦

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

የፍጥነት ገደብ

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 ነጥቦች ዙር
የፊደል ቅርጽ ምርጫዎች ነጻ --
የድምፅ መለወጫ ነጻ --

ጽሑፉን ወደ ንግግር ለውጥ

POST /v1/tts/

ጽሑፉን ወደ ንግግር ድምፅ ይለውጡ. የድምፅ ፋይሉን በተጠየቀው ቅርጸት ይመልሳል

የጠየቀው አካል

መለኪያዓይነት፦የሚያስፈልግመግለጫ የለም
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
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

ንግግር ወደ ጽሑፍ

POST /v1/stt/

ድምፅን ወደ ጽሑፍ ይለውጡ. 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

መልስ

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

የድምፅ ክሎኒንግ

POST /v1/tts/clone/

ንግግርን በክሎነድ ድምፅ ውስጥ ይፈጥሩ. የመዝገብ ቤት ድምፅ እና ጽሑፍን ይጫኑ

የጠየቀው አካል (multipart/form-data)

መለኪያዓይነት፦የሚያስፈልግመግለጫ የለም
reference_audio file አዎ የድምፅ ድምፅ (10-30 ሰከንዶች ጠቃሚ ነው)
text string አዎ ጽሑፉን በክሎነድ ድምፅ ለመናገር
model string አይሆንም ክሎን ሞዴል: chatterbox (የተለመደው), cosyvoice2, gpt-sovits
format string አይሆንም የምርቱ ቅርጸት: mp3 (መደበኛ), wav, flac
language string አይሆንም የቋንቋ ኮድ. የተመረጠው ሞዴል ሊደግፍ ይገባል

መልስ

የድምፅ ፋይሉን እንደ бинаር መረጃ ይመልሳል፣ እንደ TTS መጨረሻ ነጥብ ተመሳሳይ ነው።

የድምፅ መለወጫ

POST /v1/voice-convert/

ድምጹን እንደ ሌላ ድምፅ እንዲሰማ ይለውጡ። የድምፅ ምንጭን ጫን እና የመጨረሻ ድምፅን ይምረጡ።

የጠየቀው አካል (multipart/form-data)

መለኪያዓይነት፦የሚያስፈልግመግለጫ የለም
file file አዎ የድምፅ ፋይል (MP3, WAV, FLAC)
target_voice string አዎ ወደሚቀየርበት የድምፅ አይዲ (/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

መልስ

የተቀየረውን የድምፅ ፋይል እንደ бинаር መረጃ ይመልሳል

የንግግር ትርጉም

POST /v1/speech-translate/

የተናገረ ድምፅ ከአንድ ቋንቋ ወደ ሌላ ይተረጎማል. ንግግር-ወደ-ጽሑፍ, ትርጉም, እና ጽሑፍ-ወደ-ንግግር በአንድ ጥሪ ውስጥ ይቀላቅላል.

የጠየቀው አካል (multipart/form-data)

መለኪያዓይነት፦የሚያስፈልግመግለጫ የለም
file file አዎ የድምፅ ፋይል በመነሻ ቋንቋ
target_language string አዎ የቋንቋ ኮድ (ለምሳሌ es, fr, de, ja)
voice string አይሆንም ለተተረጎመ ውጤት ድምፅ. ካልተጠቀመ በራስ-ሰር ይመረጣል.
preserve_voice boolean አይሆንም የፊደል ቅርጽ ምርጫዎች

መልስ

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

ንግግር ወደ ንግግር

POST /v1/speech-to-speech/

የንግግር ዘይቤን፣ ስሜትን፣ ወይም ይዘትን በማስቀመጥ ሲያስተላልፍ ይለውጡ። ለድምፅ ማስተካከያ፣ ለፍጥነት፣ እና ለግልጽነት ጠቃሚ ነው።

የጠየቀው አካል (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

መልስ

የተቀየረውን የድምፅ ፋይል እንደ бинаር መረጃ ይመልሳል

የድምፅ መሣሪያዎች

የድምፅ ማቀነባበሪያ መጨረሻ ነጥቦችን ለማሻሻል, የድምፅ ማስወገድ, ቅርንጫፍ መክፈል, እና ሌሎችም.

POST /v1/audio/enhance/

የድምፅ ጥራት ማሻሻል: ድምፅ ማጥፋት, ግልጽነት ማሻሻል, ከፍተኛ ልዩነት.

file fileየድምፅ ፋይል
denoise booleanየድምፅ ማስወገጃን አስጀምር (የተለመደው፦ እውነት)
enhance_clarity booleanየንግግር ግልጽነትን ማሻሻል (የተለመደው: እውነት)
super_resolution booleanየድምፅ ጥራት ማሻሻል (የተለመደው: ስህተት)
strength integer1-3 (ቀላል, መካከለኛ, ጠንካራ)። መደበኛ፦ 2
POST /v1/audio/separate/

ድምፆችን ከኢንስትሩመንቶች (ድምፅ ማስወገድ) ለይተው ወይም ወደ ቅርንጫፎች ይከፋፍሉ

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

የድምፅ ውይይት

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 አይሆንም ለምላሽ የቲቲኤስ ሞዴል. መደበኛ: kokoro
system_prompt string አይሆንም የተለመደው የሲስተም ማስጠንቀቂያ
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
}

ሞዴሎችን ዝርዝር

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/

ሁሉንም የተገኙ ድምጾች ዝርዝር ይመለሳል፣ በሞዴል ወይም በቋንቋ ሊመረመር ይችላል።

የጥያቄው መለኪያዎች

መለኪያዓይነት፦መግለጫ የለም
model string በሞዴል ID አጣራ (ለምሳሌ kokoro)
language string በቋንቋ ኮድ አጣራ (ለምሳሌ en)
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
}

ምሳሌዎች

ጽሑፉን ወደ ንግግር ለውጥ

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')}")

ንግግር ወደ ጽሑፍ

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

የድምፅ ክሎኒንግ

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)

ጽሑፉን ወደ ንግግር ለውጥ

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();

ንግግር ወደ ጽሑፍ

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);

ጽሑፉን ወደ ንግግር ለውጥ

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

ንግግር ወደ ጽሑፍ

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"

የድምፅ ክሎኒንግ

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

የድምፅ ማሻሻያ

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 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"
}
የዌብሆክ ውጤቶች ከተጠናቀቀ በኋላ ለ24 ሰዓታት ለማውረድ ይገኛሉ. በፍጥነት ማውረድዎን ያረጋግጡ.

ለመገንባት ዝግጁ ነዎት?

የእርስዎን API ቁልፍ ማግኘት እና TTS.ai ወደ ፕሮግራሞችዎ ውስጥ ማካተት ይጀምሩ.