תיעוד API

Integrate TTS.ai לתוך היישומים שלך עם שאר API שלנו תבנית תאימה OpenAI להגירה קלה.

מנוחה API OpenAI Compatable תגובות 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 שלך מ הגדרות חשבון. זמין על תוכניות פרו Enterprise.

כתובת בסיס

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

Auth

סמל נושא באמצעות Authorization כותרת

אימות

כל בקשות API דורש אימות באמצעות אסימון Bearer Authorization כותרת.

כותרת HTTP
Authorization: Bearer sk-tts-your-api-key-here
שמור על הסוד שלך API מפתח. אל תחלוק את זה בקוד של הלקוח, במאגרים ציבוריים או בולי עץ. סובב מפתחות באופן קבוע מהגדרות החשבון שלך.

כתובת בסיס

כתובת בסיס: https://api.tts.ai/v1/

לדוגמה, נקודת הסיום של TTS היא:

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

קצב הגבלה

הגבלת קצב API משתנה על ידי תכנית:

תוכנית בקשות / min Concurrent אורך טקסט מקסימאלי
בעד 60 5 5,000 chars
Enterprise 300 20 50,000 chars

כל הכותרות כוללות כל תגובה: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

עלויות אשראי

שירות מחיר יחידה
TTS (דוגמניות חופשיות: פייפר, VITS, Melotts) קרדיט אחד לכל 1,000 תווים
TTS (דגמים סטנדרטיים: קוקורו, קוסי Voice 2, וכו'). שני קרדיטים לכל 1,000 תווים
TTS (דגמי פרמיום: צב, Chatterbox, וכו '). 4 קרדיטים לכל 1,000 תווים
נאום לטקסט שני קרדיטים דקה של שמע
שיכפול קול 4 קרדיטים לכל 1,000 תווים
משנה קול 3 נקודות דקה של שמע
שיפור שמע שני קרדיטים דקה של שמע
Vocal Removal / Stem Splacking קרדיטים 3-4 דקה של שמע
תרגום נאום 5 קרדיטים דקה של שמע
שיחה קולית 3 נקודות לפי תור
מוצא מקשים ו- BPM חופשי --
ממיר שמע חופשי --

טקסט לדיבור

POST /v1/tts/

המרת טקסט לקול דיבור. מחזיר קובץ שמע בפורמט המבוקש.

מבקש גוף

פרמטרסוגנדרשתיאור
model string כן. ID מודל (e.g., etcokokoro*/ code), Ócode) *chatterbox*/ code), echode* Fiper_/ code*
text string כן. טקסט כדי להמיר לדיבור (Max 5,000 chars for Pro, 50,000 for Enterprise)
voice string כן. זיהוי קול (שימוש ב־ ) / V1/ voices/\\ {/ code) לרשימת הקולות הזמינים
format string לא. פורמט פלט: Écode\\ code) / default (*code_wav*/ code), Ócode_flac) / code*
speed float לא. מכפיל מהירות אם כבר מדברים. ברירת המחדל היא etcode >1.0/ code. ריינג': etquode0. 5*/ code > to etcond.0/ code
language string לא. קוד השפה (e.g., equaden*/ code), etcodes () / code). Auto-decripted if defaulted.
stream boolean לא. אפשר תגובת זרימה. ברירת מחדל: \\ קוד

בקשת דוגמה

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/

סמן אודיו לטקסט. תומך ב-99 שפות עם זיהוי אוטומטי.

מבקש גוף (multipart/form-data)

פרמטרסוגנדרשתיאור
file file כן. קובץ שמע (MP3, WAV, FLAC, OGG, M4A, MP4, WebM).
model string לא. מודל STT: *Whisphisper >/ confault (default), *codeer- whisphisper*/ code*
language string לא. קוד שפה. קוד auto_/ code) עבור זיהוי אוטומטי (default).
timestamps boolean לא. כלול חותמת זמן ברמת מילה. ברירת מחדל: ° code > / code
diarize boolean לא. אפשר דיאריזציה של רמקול. ברירת מחדל:

תגובה

תגובת 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 שניות מומלץ). מקס 20MB.
text string כן. טקסט לדבר בקול המשובט.
model string לא. מודל שכפול: etcode_chatterbox >/ conduction (default), *code_cosyould2/ code), etcode Égpt- sovits_/ code
format string לא. פורמט פלט: Ócode >mp3/ code (default), *code_wav*/ code), Ócode_flac_/ code
language string לא. קוד שפת היעד חייב להיות נתמך על ידי המודל הנבחר.

תגובה

מחזיר את קובץ השמע כנתונים בינאריים, כמו נקודת הסיום של TTS.

משנה קול

POST /v1/voice-convert/

המרת שמע לצליל כמו קול אחר. העלה שמע מקור ובחר קול יעד.

מבקש גוף (multipart/form-data)

פרמטרסוגנדרשתיאור
file file כן. קובץ שמע מקור (MP3, WAV, FLAC).
target_voice string כן. זיהוי קול היעד כדי להמיר ל (שימוש ב־ equode >/ v1/ coulds/ Kew/ code) לרשימת הקולות הזמינים
model string לא. מודל המרת קול: etcode > openole*/ code (default), *code_knn- vc*/ code
format string לא. פורמט פלט: Ócode_wav >/ confault (default), Ócode_mp3/ code

בקשת דוגמה

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 כן. קובץ שמע מקור בשפה המקורית. מקס 100MB.
target_language string כן. קוד השפה של המטרה (e.g., etcode), kode)
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 כן. קובץ שמע של מקור, מקס 50MB.
voice string כן. זיהוי קול יעד עבור נאום היציאה
model string לא. דגם: Kode > openoice >/ code (default), * Code ) Chatterbox >/ code
emotion string לא. רגש היעד: □ neutral >/ code*, echode* happy*/ code*, etcode* / code* kode*
speed float לא. התאמות מהירות. ברירת המחדל היא etcode.1. 0/ code. טווח: Ócode0. 5*/ code* 2. 0/ code

תגובה

מחזיר את קובץ השמע בתור מידע בינארי.

כלי שמע

נקודות קצה לעיבוד קול לשיפור, הסרת קול, פיצול גזע, ועוד.

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פורמט פלט: Ócode_wav >/ code), ) conduction > / code_code_code_flac)
POST /v1/audio/dereverb/

הסר הד וReverb מהקלטות שמע.

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פורמט היעד: □ codument >/ code) / code_wav*/ code_, ) code_flac) / code), {codeg) / code* code* ac) / code*
bitrate integerקצב פעימות פלט ב־ kbps: 64, 128, 192, 256, 320
sample_rate integerקצב הדגימה: 22050, 44100, 48000
channels stringmono או stereo

שיחה קולית

POST /v1/voice-chat/

שלח אודיו או טקסט ולקבל תגובה AI עם דיבור מסונתז.

מבקש גוף (multipart/form-data או JSON)

פרמטרסוגנדרשתיאור
audio file לא.* קלט אודיו (* audio) / code) or * code > Text > Query
text string לא.* קלט טקסט (* audio) / code) or * code > Text > נדרש)
voice string לא. קול לתגובת אינטליגנציה מלאכותית. ברירת מחדל: Écode >af_bella
tts_model string לא. מודל TTS לתגובה. ברירת מחדל: Ócokoro >/ code
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/

מחזיר רשימה של כל המודלים הזמינים עם היכולות שלהם.

תגובה

תגובת 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 סינון לפי מספר־ זיהוי של מודל (למשל, קידוד) kokokoro >/ code)
language string סינון לפי קוד השפה (e.g., file_/code)
gender string סינון לפי מגדר: {\ woman} woman {\ code}, {echod} famille {code}, {code} {echod} {@} Name

תגובה

תגובת 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

צפנים של שגיאה

כל השגיאות מחזירות תגובה של ג'ייסון עם error שדה.

תבנית תגובת שגיאה
{
  "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 הפרמטרים של בקשה לא תקינה. בדוק את הודעת השגיאה לפרטים.
401 unauthorized מפתח API חסר או לא תקין.
402 insufficient_credits לא מספיק נקודות זכות, לקנות יותר במחיר.
403 forbidden גישה API לא זמין בתכנית שלך.
404 not_found דגם או קול לא נמצאו.
413 file_too_large הקובץ המועלה עולה על הגבלת הגודל.
429 rate_limited יותר מדי בקשות.
500 internal_error שגיאה בשרת. נסה שוב מאוחר יותר.
503 model_loading הדגם נטען, נסה שוב בעוד כמה שניות.

קרסי רשתName

עבור משימות ארוכות טווח (התפלגות סטם, אצווה TTS), באפשרותך לספק פרמטר קידוד >/ URL. כאשר המשימה תושלם, אנו POST התוצאה של הכתובת שלך.

Application of 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"
}
תוצאות הוובהוק זמינות להורדה למשך 24 שעות לאחר השלמתן. ודא להוריד אותן מיד.

מוכן לבנות?

קבל מפתח API שלך ולהתחיל שילוב TTSai לתוך היישומים שלך.