ឯកសារ API

បញ្ចូល 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 របស់​អ្នក​ពី ការ​កំណត់​គណនី. មាននៅលើផែនការ Pro និង Enterprise ។

URL មូលដ្ឋាន

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

ការ​អនុញ្ញាត

និមិត្ត​សញ្ញា​របស់​អ្នក​កាន់​តាម Authorization បឋមកថា

ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ

សំណើ API ទាំងអស់​ទាមទារ​ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ​តាម​រយៈ​តួអក្សរ Bearer នៅ​ក្នុង Authorization បឋមកថា.

បឋមកថា HTTP
Authorization: Bearer sk-tts-your-api-key-here
រក្សា​សម្ងាត់​សោ API របស់​អ្នក & # 160; ។ កុំ​ចែក​រំលែក​វា​ក្នុង​កូដ​ផ្នែក​ម៉ាស៊ីន​ភ្ញៀវ ឃ្លាំង​សាធារណៈ ឬ​កំណត់ហេតុ & # 160; ។ បង្វិល​គ្រាប់ចុច​ជា​ទៀងទាត់​ពី​ការ​កំណត់​គណនី​របស់​អ្នក & # 160; ។

URL មូលដ្ឋាន

URL មូលដ្ឋាន: https://api.tts.ai/v1/

ចំណុច​បញ្ចប់​ទាំងអស់​ទាក់ទង​នឹង URL មូលដ្ឋាន​នេះ & # 160; ។ ឧទាហរណ៍ ចំណុច​បញ្ចប់ TTS គឺ & # 160; ៖

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

អត្រា​ដែន​កំណត់

ដែនកំណត់អត្រា API ប្រែប្រួលដោយផែនការ ៖

ផែនការ សំណើ/ នាទី Concurrent ប្រវែង​អត្ថបទ​អតិបរមា
ជំនាញ 60 5 ៥, ០០០ តួអក្សរ
សហគ្រាស 300 20 ៥០, ០០០ តួអក្សរ

បឋមកថា​ដែន​កំណត់​អត្រា​ត្រូវ​បាន​រួម​បញ្ចូល​ក្នុង​ការ​ឆ្លើយតប​នីមួយៗ & # 160; ៖ X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

តម្លៃ​ឥណទាន

សេវា តម្លៃ ឯកតា
TTS (ម៉ូដែល​ឥតគិតថ្លៃ & # 160; ៖ Piper, VITS, MeloTTS) ១ ក្រេឌីត ក្នុង​មួយ ១, ០០០ តួអក្សរ
TTS (គំរូ​ស្តង់ដារ & # 160; ៖ Kokoro, CosyVoice2ល) ២ ពិន្ទុ ក្នុង​មួយ ១, ០០០ តួអក្សរ
TTS (ម៉ូដែល​ពិសេស & # 160; ៖ Tortoise, Chatterbox, ល) ៤ ពិន្ទុ ក្នុង​មួយ ១, ០០០ តួអក្សរ
ការ​និយាយ​ទៅ​អត្ថបទ ២ ពិន្ទុ ក្នុង​មួយ​នាទី​នៃ​អូឌីយ៉ូ
ការ​ក្លូន​សំឡេង ៤ ពិន្ទុ ក្នុង​មួយ ១, ០០០ តួអក្សរ
កម្មវិធី​ប្ដូរ​សំឡេង ៣ ក្រេឌីត ក្នុង​មួយ​នាទី​នៃ​អូឌីយ៉ូ
ការ​ពង្រឹង​អូឌីយ៉ូ ២ ពិន្ទុ ក្នុង​មួយ​នាទី​នៃ​អូឌីយ៉ូ
ការ​យក​សំឡេង​ចេញ / ការ​បំបែក​សំឡេង 3-4 ពិន្ទុ ក្នុង​មួយ​នាទី​នៃ​អូឌីយ៉ូ
ការ​បកប្រែ​ការ​និយាយ ៥ ពិន្ទុ ក្នុង​មួយ​នាទី​នៃ​អូឌីយ៉ូ
ជជែក​កំសាន្ត​សំឡេងName ៣ ក្រេឌីត ក្នុង​មួយ​វេន
កម្មវិធី​រក​គ្រាប់ចុច BPM ទំនេរ --
កម្មវិធី​បម្លែង​អូឌីយ៉ូ ទំនេរ --

អត្ថបទ​ទៅ​ការ​និយាយ

POST /v1/tts/

បម្លែង​អត្ថបទ​ទៅ​ជា​អូឌីយ៉ូ​និយាយ & # 160; ។ ត្រឡប់​ឯកសារ​អូឌីយ៉ូ​ក្នុង​ទ្រង់ទ្រាយ​ដែល​បាន​ស្នើ & # 160; ។

តួ​សំណើ

ប៉ារ៉ាម៉ែត្រប្រភេទត្រូវ​ការការ​ពិពណ៌នា
model string បាទ/ ចាស លេខ​សម្គាល់​ម៉ូដែល (ឧ. kokoro, chatterbox, piper)
text string បាទ/ ចាស អត្ថបទ​ត្រូវ​បម្លែង​ទៅ​ជា​ការ​និយាយ (អតិបរមា ៥, ០០០ តួអក្សរ​សម្រាប់ Pro, ៥០, ០០០ សម្រាប់ Enterprise)
voice string បាទ/ ចាស លេខ​សម្គាល់​សំឡេង (ប្រើ /v1/voices/ ដើម្បី​រាយ​សំឡេង​ដែល​មាន)
format string គ្មាន ទ្រង់ទ្រាយ​លទ្ធផល & # 160; ៖ mp3 (លំនាំដើម), wav, flac, ogg
speed float គ្មាន បង្កើន​ល្បឿន​និយាយ & # 160; ។ លំនាំដើម & # 160; ៖ 1.0 & # 160; ។ ជួរ & # 160; ៖ 0.5 ទៅ 2.0
language string គ្មាន កូដ​ភាសា (ឧទាហរណ៍ en, es) & # 160; ។ រក​ឃើញ​ដោយ​ស្វ័យប្រវត្តិ ប្រសិន​បើ​បាន​រំលង & # 160; ។
stream boolean គ្មាន អនុញ្ញាត​ការ​ឆ្លើយតប​ស្ទ្រីម & # 160; ។ លំនាំដើម & # 160; ៖ 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

ការ​ឆ្លើយតប

Returns the audio file as binary data with appropriate Content-Type header (audio/mpeg, audio/wav, etc.).

បឋមកថា​ការ​ឆ្លើយតប
Content-Type: audio/mpeg
Content-Length: 48256
X-Credits-Used: 2
X-Credits-Remaining: 498

ការ​និយាយ​ទៅ​អត្ថបទ

POST /v1/stt/

បម្លែង​អូឌីយ៉ូ​ទៅ​អត្ថបទ & # 160; ។ គាំទ្រ​ភាសា ៩៩ ជាមួយ​ការ​រក​ឃើញ​ដោយ​ស្វ័យប្រវត្តិ & # 160; ។

តួ​សំណើ (multipart/form-data)

ប៉ារ៉ាម៉ែត្រប្រភេទត្រូវ​ការការ​ពិពណ៌នា
file file បាទ/ ចាស ឯកសារអូឌីយ៉ូ (MP3, WAV, FLAC, OGG, M4A, MP4, WebM) ។ អតិបរមា 100MB ។
model string គ្មាន ម៉ូដែល STT ៖ whisper (លំនាំដើម), faster-whisper, sensevoice
language string គ្មាន កូដ​ភាសា & # 160; ។ auto សម្រាប់​ការ​រក​ឃើញ​ដោយ​ស្វ័យ​ប្រវត្តិ (លំនាំដើម) & # 160; ។
timestamps boolean គ្មាន រួម​បញ្ចូល​ត្រា​ពេលវេលា​កម្រិត​ពាក្យ & # 160; ។ លំនាំដើម & # 160; ៖ false
diarize boolean គ្មាន អនុញ្ញាត​ការ​កំណត់​ទិនានុប្បវត្តិ​អ្នក​និយាយ & # 160; ។ លំនាំដើម & # 160; ៖ < code> 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/

បង្កើត​ការ​និយាយ​ក្នុង​សំឡេង​ក្លូន & # 160; ។ ផ្ទុក​អូឌីយ៉ូ និង​អត្ថបទ​យោង​ឡើង & # 160; ។

តួ​សំណើ (multipart/form-data)

ប៉ារ៉ាម៉ែត្រប្រភេទត្រូវ​ការការ​ពិពណ៌នា
reference_audio file បាទ/ ចាស អូឌីយ៉ូសំឡេងយោង (10-30 វិនាទីត្រូវបានផ្ដល់អនុសាសន៍) ។ អតិបរមា 20MB ។
text string បាទ/ ចាស អត្ថបទ​ត្រូវ​និយាយ​ក្នុង​សំឡេង​ក្លូន & # 160; ។
model string គ្មាន ម៉ូដែល​ក្លូន & # 160; ៖ chatterbox (លំនាំដើម), cosyvoice2, gpt-sovits
format string គ្មាន ទ្រង់ទ្រាយ​លទ្ធផល & # 160; ៖ mp3 (លំនាំដើម), wav, flac
language string គ្មាន កូដ​ភាសា​គោលដៅ & # 160; ។ ត្រូវ​បាន​គាំទ្រ​ដោយ​ម៉ូដែល​ដែល​បាន​ជ្រើស & # 160; ។

ការ​ឆ្លើយតប

ត្រឡប់​ឯកសារ​អូឌីយ៉ូ​ជា​ទិន្នន័យ​គោលពីរ ដូចគ្នា​នឹង​ចំណុច​បញ្ចប់ TTS & # 160; ។

កម្មវិធី​ប្ដូរ​សំឡេង

POST /v1/voice-convert/

បម្លែង​អូឌីយ៉ូ​ទៅ​ជា​សំឡេង​ផ្សេង​ទៀត & # 160; ។ ផ្ទុក​អូឌីយ៉ូ​ប្រភព​ឡើង និង​ជ្រើស​សំឡេង​គោលដៅ & # 160; ។

តួ​សំណើ (multipart/form-data)

ប៉ារ៉ាម៉ែត្រប្រភេទត្រូវ​ការការ​ពិពណ៌នា
file file បាទ/ ចាស ឯកសារ​អូឌីយ៉ូ​ប្រភព (MP3, WAV, FLAC) & # 160; ។ អតិបរមា 50MB & # 160; ។
target_voice string បាទ/ ចាស លេខ​សម្គាល់​សំឡេង​គោលដៅ​ត្រូវ​បម្លែង​ទៅ (ប្រើ /v1/voices/ ដើម្បី​រាយ​សំឡេង​ដែល​មាន)
model string គ្មាន ម៉ូដែល​បម្លែង​សំឡេង & # 160; ៖ openvoice (លំនាំដើម), knn-vc
format string គ្មាន ទ្រង់ទ្រាយ​លទ្ធផល & # 160; ៖ 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

ការ​ឆ្លើយតប

ត្រឡប់​ឯកសារ​អូឌីយ៉ូ​ដែល​បាន​បម្លែង​ជា​ទិន្នន័យ​គោលពីរ & # 160; ។

ការ​បកប្រែ​ការ​និយាយ

POST /v1/speech-translate/

បកប្រែ​អូឌីយ៉ូ​ដែល​បាន​និយាយ​ពី​ភាសា​មួយ​ទៅ​ភាសា​មួយ​ទៀត ។ រួមបញ្ចូល​ការ​និយាយ​ទៅ​អត្ថបទ ការ​បកប្រែ និង​អត្ថបទ​ទៅ​ការ​និយាយ​ក្នុង​ការ​ហៅ​តែ​មួយ ។

តួ​សំណើ (multipart/form-data)

ប៉ារ៉ាម៉ែត្រប្រភេទត្រូវ​ការការ​ពិពណ៌នា
file file បាទ/ ចាស ឯកសារ​អូឌីយ៉ូ​ប្រភព​ក្នុង​ភាសា​ដើម & # 160; ។ អតិបរមា ១០០ មេកាបៃ & # 160; ។
target_language string បាទ/ ចាស កូដ​ភាសា​គោលដៅ (ឧ. es, fr, de, ja)
voice string គ្មាន សំឡេង​សម្រាប់​លទ្ធផល​បកប្រែ & # 160; ។ ត្រូវ​បាន​ជ្រើស​ដោយ​ស្វ័យ​ប្រវត្តិ ប្រសិន​បើ​បាន​រំលង & # 160; ។
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/

បម្លែង​រចនាប័ទ្ម​ការ​និយាយ អារម្មណ៍ ឬ​ការ​ផ្គត់ផ្គង់​ខណៈ​ពេល​រក្សា​មាតិកា & # 160; ។ មាន​ប្រយោជន៍​សម្រាប់​លៃតម្រូវ​សំឡេង ល្បឿន និង​ការ​បង្ហាញ & # 160; ។

តួ​សំណើ (multipart/form-data)

ប៉ារ៉ាម៉ែត្រប្រភេទត្រូវ​ការការ​ពិពណ៌នា
file file បាទ/ ចាស ឯកសារ​អូឌីយ៉ូ​និយាយ​ប្រភព & # 160; ។ អតិបរមា ៥០ មេកាបៃ & # 160; ។
voice string បាទ/ ចាស លេខ​សម្គាល់​សំឡេង​គោលដៅ​សម្រាប់​ការ​និយាយ​លទ្ធផល
model string គ្មាន ម៉ូដែល & # 160; ៖ openvoice (លំនាំដើម), chatterbox
emotion string គ្មាន អារម្មណ៍​គោលដៅ & # 160; ៖ អព្យាក្រឹត, សប្បាយ, សោក, ខឹង, រំភើប
speed float គ្មាន ការ​លៃតម្រូវ​ល្បឿន & # 160; ។ លំនាំដើម & # 160; ៖ 1.0 & # 160; ។ ជួរ & # 160; ៖ 0.5 ទៅ 2.0

ការ​ឆ្លើយតប

ត្រឡប់​ឯកសារ​អូឌីយ៉ូ​ដែល​បាន​បម្លែង​ជា​ទិន្នន័យ​គោលពីរ & # 160; ។

ឧបករណ៍​អូឌីយ៉ូ

ចំណុច​បញ្ចប់​ដំណើរការ​អូឌីយ៉ូ​សម្រាប់​ការ​ពង្រីក ការ​យក​សំឡេង​ចេញ ការ​បំបែក​ដើម និង​ច្រើន​ទៀត ។

POST /v1/audio/enhance/

បង្កើន​គុណភាព​អូឌីយ៉ូ & # 160; ៖ denoise បង្កើន​ភាព​ច្បាស់ គុណភាព​បង្ហាញ​ខ្ពស់ & # 160; ។

file fileឯកសារ​អូឌីយ៉ូ​ត្រូវ​ពង្រីក
denoise booleanអនុញ្ញាត​ការ​បំបាត់​សំឡេង​រំខាន (លំនាំដើម & # 160; ៖ ពិត)
enhance_clarity booleanបង្កើន​ភាព​ច្បាស់​នៃ​ការ​និយាយ (លំនាំដើម & # 160; ៖ ពិត)
super_resolution booleanធ្វើ​មាត្រដ្ឋាន​គុណភាព​អូឌីយ៉ូ (លំនាំដើម & # 160; ៖ មិន​ពិត)
strength integer១- ៣ (ស្រាល មធ្យម ខ្លាំង) & # 160; ។ លំនាំដើម & # 160; ៖ ២
POST /v1/audio/separate/

បំបែក​សំឡេង​ពី​ឧបករណ៍​ភ្លេង (យក​សំឡេង​ចេញ) ឬ​បំបែក​ទៅ​ជា stems & # 160; ។

file fileឯកសារ​អូឌីយ៉ូ​ត្រូវ​បំបែក
model stringdemucs (លំនាំដើម) ឬ spleeter
stems integerចំនួន​ដើម & # 160; ៖ ២, ៤, ៥ ឬ ៦ (លំនាំដើម & # 160; ៖ ២)
format stringទ្រង់ទ្រាយ​លទ្ធផល & # 160; ៖ wav, mp3, flac
POST /v1/audio/dereverb/

យក​សំឡេង​រំខាន និង​សំឡេង​រំខាន​ចេញ​ពី​ការ​ថត​អូឌីយ៉ូ & # 160; ។

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/ ទំនេរ

បម្លែង​អូឌីយ៉ូ​រវាង​ទ្រង់ទ្រាយ & # 160; ។

file fileឯកសារ​អូឌីយ៉ូ​ត្រូវ​បម្លែង
format stringទ្រង់ទ្រាយ​គោលដៅ & # 160; ៖ mp3, wav, flac, ogg, m4a, aac
bitrate integerអត្រាប៊ីត​លទ្ធផល​គិត​ជា​គីឡូបៃ & # 160; ៖ ៦៤, ១២៨, ១៩២, ២៥៦, ៣២០
sample_rate integerអត្រាគំរូ: 22050, 44100, 48000
channels stringmonostereo

ជជែក​កំសាន្ត​សំឡេងName

POST /v1/voice-chat/

ផ្ញើ​អូឌីយ៉ូ ឬ​អត្ថបទ និង​ទទួល​ការ​ឆ្លើយតប AI ជាមួយ​នឹង​ការ​និយាយ​ដែល​បាន​សំយោគ ។

តួ​សំណើ (multipart/form-data ឬ JSON)

ប៉ារ៉ាម៉ែត្រប្រភេទត្រូវ​ការការ​ពិពណ៌នា
audio file គ្មាន* ការ​បញ្ចូល​អូឌីយ៉ូ (ត្រូវការ audiotext)
text string គ្មាន* ការ​បញ្ចូល​អត្ថបទ (ត្រូវការ audiotext)
voice string គ្មាន សំឡេង​សម្រាប់​ការ​ឆ្លើយតប AI & # 160; ។ លំនាំដើម & # 160; ៖ af_bella
tts_model string គ្មាន ម៉ូដែល TTS សម្រាប់​ការ​ឆ្លើយតប & # 160; ។ លំនាំដើម & # 160; ៖ kokoro
system_prompt string គ្មាន ជូនដំណឹង​ប្រព័ន្ធ​ផ្ទាល់ខ្លួន​សម្រាប់ AI
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/

ត្រឡប់​បញ្ជី​នៃ​ម៉ូដែល​ដែល​មាន​ទាំងអស់​ជាមួយ​នឹង​សមត្ថភាព​របស់​ពួក​វា & # 160; ។

ការ​ឆ្លើយតប

ការ​ឆ្លើយតប 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/

ត្រឡប់​បញ្ជី​នៃ​សំឡេង​ដែល​មាន​ទាំងអស់ ដែល​បាន​ត្រង​តាម​ម៉ូដែល ឬ​ភាសា & # 160; ។

ប៉ារ៉ាម៉ែត្រ​សំណួរ

ប៉ារ៉ាម៉ែត្រប្រភេទការ​ពិពណ៌នា
model string តម្រង​តាម​លេខ​សម្គាល់​ម៉ូដែល (ឧ. kokoro)
language string តម្រង​តាម​កូដ​ភាសា (ឧ. en)
gender string តម្រង​តាម​ភេទ ៖ ប្រុស, ស្រី, អព្យាក្រឹត

ការ​ឆ្លើយតប

ការ​ឆ្លើយតប 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 វាល & # 160; ។

ទ្រង់ទ្រាយ​ការ​ឆ្លើយតប​កំហុស
{
  "error": {
    "code": "insufficient_credits",
    "message": "You do not have enough credits for this request.",
    "credits_required": 4,
    "credits_available": 2
  }
}
ស្ថានភាព HTTPError Codeការ​ពិពណ៌នា
400 bad_request ប៉ារ៉ាម៉ែត្រ​សំណើ​មិន​ត្រឹមត្រូវ & # 160; ។ ពិនិត្យ​មើល​សារ​កំហុស​សម្រាប់​សេចក្ដី​លម្អិត & # 160; ។
401 unauthorized បាត់ ឬ​សោ API មិន​ត្រឹមត្រូវ & # 160; ។
402 insufficient_credits ឥណទានមិនគ្រប់គ្រាន់. ទិញបន្ថែមនៅ / pricing /.
403 forbidden ការ​ចូលដំណើរការ API មិន​អាច​ប្រើ​បាន​លើ​ផែនការ​របស់​អ្នក​ទេ & # 160; ។
404 not_found រក​មិន​ឃើញ​ម៉ូដែល ឬ​សំឡេង & # 160; ។
413 file_too_large ឯកសារ​ដែល​បាន​ផ្ទុក​ឡើង​លើស​ដែន​កំណត់​ទំហំ & # 160; ។
429 rate_limited សំណើ​ច្រើន​ពេក & # 160; ។ ពិនិត្យ​មើល​បឋមកថា​ដែន​កំណត់​អត្រា & # 160; ។
500 internal_error កំហុស​ម៉ាស៊ីន​បម្រើ & # 160; ។ ព្យាយាម​ម្ដង​ទៀត​ពេល​ក្រោយ & # 160; ។
503 model_loading កំពុង​ផ្ទុក​ម៉ូដែល & # 160; ។ ព្យាយាម​ម្ដង​ទៀត​ក្នុង​មួយ​វិនាទី & # 160; ។

Webhooks

សម្រាប់​ភារកិច្ច​ដែល​រត់​យូរ (ការ​បំបែក​ដើម, TTS batch) អ្នក​អាច​ផ្ដល់​ប៉ារ៉ាម៉ែត្រ < code> webhook_ url & # 160; ។ ពេល​ភារកិច្ច​បញ្ចប់ យើង​នឹង POST លទ្ធផល​ទៅ URL របស់​អ្នក & # 160; ។

ផ្ទុក 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 ម៉ោង​បន្ទាប់​ពី​បញ្ចប់ & # 160; ។ សូម​ប្រាកដ​ថា​ទាញយក​ពួកវា​ភ្លាមៗ & # 160; ។

រួចរាល់​ហើយ​ដើម្បី​សាងសង់?

ទទួលបានសោ API របស់អ្នកហើយចាប់ផ្តើមរួមបញ្ចូល TTS.ai ទៅក្នុងកម្មវិធីរបស់អ្នក។