08-09-2025 , 16-09-2025
ה-API זמין רק לאחר שמימנת את חשבונך.
קולות JSON API https://speechgen.io/index.php?r=api/voices.
ישנן 2 אפשרויות להקלטת קול באמצעות ה-API:
אפשרות 1 - הקלטת קול מהירה של טקסטים קצרים.
אפשרות 2 - הגדרת משימת הקלטת קול.
גלה כיצד לייעל יצירת תוכן קולי על ידי שילוב SpeechGen.io עם שירות האוטומציה MAKE. מדריך זה מכסה את האוטומציה של תהליכי טקסט לדיבור, מה שהופך את יצירת התוכן הקולי לפשוטה ויעילה יותר עבור יישומים שונים.
כתובת לאפשרות 1: https://speechgen.io/index.php?r=api/text
לאפשרות זו יש מגבלה מקסימלית של 2000 תווים. וגם עד 2 שינויי קול. אם המגבלות נחצות, תקבל שגיאה (status = -1).
$data = [
'token'=>'SekretKeyInYourProfile',
'email'=>'yourMail@gmail.com',
'voice'=>'John',
'text'=>"Text for text to Speech",
'format'=>'mp3',
'speed'=>1.1,
'pitch'=>0.8,
'emotion'=>'good',
'pause_sentence'=>300,
'pause_paragraph'=>400,
'bitrate'=>48000,
];
'token' - 'SekretKeyInYourProfile'
'email' - 'yourMail@gmail.com'
'voice' - 'קול'
'text' - 'טקסט להמרת טקסט לדיבור'
'format' - פורמט קובץ התוצאה, ברירת מחדל = mp3, ערכים אפשריים ('mp3', 'wav', 'ogg')
'speed' - מהירות השמעה, ברירת מחדל 1, (טווח מ- 0.1 עד 2.0)
'pitch'- גובה צליל הקול, ברירת מחדל 0, (טווח מ- -20 עד 20)
'emotion' - רגש הקול, ברירת מחדל 'good', ערכים אפשריים ('good', 'evil', 'neutral').
'pause_sentence' - גודל ההשהיה בין משפטים במילישניות.
'pause_paragraph' - גודל ההשהיה בין פסקאות במילישניות.
'bitrate'=>48000 - קצב דגימה מ-8000 עד 192000 הרץ.
רגש לא זמין לכל הקולות, בדוק כאן.
{
"id":"4153594",
"status":"0",
"file":"result.mp3",
"file_cors":"result_cors.mp3",
"parts":"5",
"parts_done":"2",
"duration":"0",
"format":"mp3",
"error":"",
"balans":"3331.2720000314",
"cost":"0.06"
}
"id" - מזהה קול ייחודי
"status" - סטטוס הקלטת הקול הנוכחי. זמין מ-3 ערכים:
0 - בתהליך
1 - הושלם בהצלחה
-1 - שגיאה
"file" - נתיב קובץ השמע, זמין אם status= 1
"file_cors" - נתיב קובץ השמע CORS
"error" - טקסט שגיאה, במקרה של, אם status = -1
"parts" - מספר הקלטות הקול
"parts_done" - מספר חלקים שהושלמו
"duration" - משך קובץ השמע בשניות, זמין אם status = 1
"format" - פורמט קובץ השמע
"balans" - יתרת מגבלות
"cost" - עלויות הקלטת הקול. (גדל ככל שחלקי הקול מוקלטים)
$data = [
'token' => '123456',
'email' => 'mail@mail.com',
'voice' => 'John',
'text' => "Text",
'format' => 'mp3',
'speed' => 1.1,
'pitch' => 0,
'emotion' => 'good',
];
$url = "https://speechgen.io/index.php?r=api/text";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$response = curl_exec($ch);
var_dump($response);
$response = json_decode($response, true);
if (curl_errno($ch)) {
var_dump("Connection error with text recognition server, " . curl_error($ch));
} else {
var_dump($response);
if ($response["status"] == 1) {
//Copy
echo " ok " . $response["file"];
copy($response["file"], 'Filename.' . $response["format"]);
} else {
//Error, no voiceover possible
echo $response["error"];
}
}
curl_close($ch);
שלב 1: הטקסט נשלח ל-API ומתקבל מזהה קול ייחודי (id).
שלב 2: בקש את תוצאת ההקלטה על ידי שליחת מזהה ההקלטה (id).
לשיטה זו אין מגבלות ומאפשרת הקלטת טקסטים עד 1,000,000 תווים. ההקלטה מתבצעת לפי סדר עדיפות (כל הקודם זוכה) ויכולה לקחת מדקה עד מספר דקות, תלוי באורך הטקסט.
$data = [
'token'=>'SekretKeyInYourProfile',
'email'=>'yourMail@gmail.com',
'voice'=>'John',
'text'=>"Text",
'format'=>'mp3',
'speed'=>1.1,
'pitch'=>0.8,
'emotion'=>'good',
'pause_sentence'=>300,
'pause_paragraph'=>400,
'bitrate'=>48000,
];
'token' - 'SekretKeyInYourProfile'
'email' - 'yourMail@gmail.com'
'voice' - 'קול'
'text' - 'טקסט'
'format' - פורמט קובץ התוצאה, ברירת מחדל = mp3, ערכים אפשריים ('mp3', 'wav', 'ogg')
'speed' - מהירות, ברירת מחדל 1, (טווח מ- 0.1 עד 2.0)
'pitch'- גובה צליל הקול, ברירת מחדל 0, (טווח מ- -20 עד 20)
'emotion' - צביעה רגשית, ברירת מחדל 'good', ערכים אפשריים ('good', 'evil', 'neutral').
'pause_sentence' - גודל ההשהיה בין משפטים במילישניות.
'pause_paragraph' - גודל ההשהיה בין פסקאות במילישניות.
'bitrate'=>48000 - קצב דגימה מ-8000 עד 192000 הרץ.
לא זמין לכל הקולות, בדוק כאן.
{
"id":"4153594",
"status":"0",
"parts":"5",
"parts_done":"0",
"format":"mp3",
"error":"",
"balans":"3331.2720000314",
"cost":"0.00"
}
"id" - מזהה קול ייחודי
"status" - סטטוס הקלטת הקול הנוכחי. זמין מ-2 ערכים:
1 - המשימה נוספה בהצלחה
-1 - שגיאה
"error" - טקסט שגיאה, במקרה של, אם status = -1
"parts" - מספר הקלטות הקול
"parts_done" - מספר חלקים שהושלמו
"format" - פורמט קובץ השמע
"balans" - יתרת מגבלות החשבון
"cost" - עלויות הקלטת הקול. (גדל ככל שחלקי הקול מוקלטים)
שלב 2. לאחר יצירת משימה וקבלת מזהה (id), יש לשלוח בקשה ל- https://speechgen.io/index.php?r=api/result, כדי לברר את התוצאה.
$data = [
'token'=>'SekretKeyInYourProfile',
'email'=>'yourMail@gmail.com',
'id'=>4153594,
];
'token' - SekretKeyInYourProfile
'email' - yourMail@gmail.com
'id' - מזהה קול ייחודי שהתקבל בשלב 1
{
"id":"4153594",
"status":"0",
"file":"result.mp3",
"cuts":["result_1.mp3","result_2.mp3",...],
"parts":"5",
"parts_done":"0",
"format":"mp3",
"error":"",
"balans":"3331.2720000314",
"cost":"0.00"
}
"id" - מזהה קול ייחודי
"status" - סטטוס הקלטת הקול הנוכחי. זמין מ-3 ערכים:
0 - בתהליך
1 - הושלם בהצלחה
-1 - שגיאה
"file" - נתיב קובץ השמע, זמין אם status = 1
"error" - טקסט שגיאה, במקרה של, אם status = -1
"parts" - מספר הקלטות הקול
"parts_done" - מספר חלקים שהושלמו
"duration" - משך קובץ השמע בשניות, זמין אם status = 1
"format" - פורמט קובץ השמע
"balans" - יתרת מגבלות החשבון
"cost" - עלויות הקלטת הקול. (גדל ככל שחלקי הקול מוקלטים)
"cuts" - מערך של קטעים, אם נעשה שימוש בתג "cut" בטקסט
//STEP 1
$data = [
'token' => '123456',
'email' => 'mail@mail.com',
'voice' => 'John',
'text' => "Text",
'format' => 'mp3',
'speed' => 1.1,
'pitch' => 0,
'emotion' => 'good',
];
$url = "https://speechgen.io/index.php?r=api/longtext";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$response = curl_exec($ch);
var_dump($response);
$response = json_decode($response, true);
$resultId = 0;
if (curl_errno($ch)) {
var_dump("Error in connecting to the text recognition server, " . curl_error($ch));
} else {
var_dump($response);
if ($response["status"] == 1) {
//Copy
echo " ok " . $response["file"];
copy($response["file"], 'FileName.' . $response["format"]);
} elseif ($response["status"] == 0) {
//Remember the voice ID, and ask for the result later
$resultId = $response["id"];
} else {
//Error, no voiceover possible
echo $response["error"];
}
}
curl_close($ch);
//STEP 2
// Every minute we make a query-check of the result
if($resultId){
$data = [
'token'=>'123456',
'email'=>'mail@mail.com',
'id'=>$resultId,
];
$url = "https://speechgen.io/index.php?r=api/result";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$response = curl_exec($ch);
var_dump($response);
$response = json_decode($response,true);
if (curl_errno($ch)) {
var_dump("Error in connecting to the text recognition server, ".curl_error($ch));
}else{
var_dump($response);
if($response["status"] == 1){
//Copy
echo " ok ".$response["file"];
copy($response["file"], 'FileMane.' . $response["format"]);
}elseif($response["status"] == 0){
//Not ready yet, we will ask for the result later
echo "In process...";
}else{
//Error, no voiceover possible
echo $response["error"];
}
}
curl_close($ch);
}