08-09-2025 , 16-09-2025
Το API είναι διαθέσιμο μόνο αφού έχετε χρηματοδοτήσει τον λογαριασμό σας.
Φωνές JSON API https://speechgen.io/index.php?r=api/voices.
Υπάρχουν 2 επιλογές μετατροπής κειμένου σε ομιλία μέσω του API:
1η επιλογή - γρήγορη μετατροπή σύντομων κειμένων.
2η επιλογή - ρύθμιση εργασίας μετατροπής σε ομιλία.
Μάθετε πώς να βελτιστοποιήσετε τη δημιουργία περιεχομένου ομιλίας ενσωματώνοντας το SpeechGen.io με την υπηρεσία αυτοματισμού MAKE. Αυτός ο οδηγός καλύπτει τον αυτοματισμό των διαδικασιών μετατροπής κειμένου σε ομιλία, καθιστώντας ευκολότερη και πιο αποτελεσματική τη δημιουργία περιεχομένου ομιλίας για διάφορες εφαρμογές.
Διεύθυνση URL για την παραλλαγή 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 - Ρυθμός μετάδοσης bit από 8000 έως 192000 Hz.
Το συναίσθημα δεν είναι διαθέσιμο για όλες τις φωνές, δείτε εδώ.
{
"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 χαρακτήρων. Η μεταγλώττιση γίνεται με σειρά προτεραιότητας (first come, first served) και μπορεί να διαρκέσει από 1 έως αρκετά λεπτά, ανάλογα με το μήκος του κειμένου.
$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 - Ρυθμός μετάδοσης bit από 8000 έως 192000 Hz.
Δεν είναι διαθέσιμο για όλες τις φωνές, δείτε εδώ.
{
"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);
}
Διεθνής συνομιλία στο Telegram @speechgen
Προσωπική υποστήριξη στο Telegram @speechgen_alex