Οδηγίες API για Μετατροπή Κειμένου σε Ομιλία

, 16-09-2025

Το API είναι διαθέσιμο μόνο αφού έχετε χρηματοδοτήσει τον λογαριασμό σας.

Φωνές JSON API https://speechgen.io/index.php?r=api/voices.

Υπάρχουν 2 επιλογές μετατροπής κειμένου σε ομιλία μέσω του API:

1η επιλογή - γρήγορη μετατροπή σύντομων κειμένων.
2η επιλογή - ρύθμιση εργασίας μετατροπής σε ομιλία.

Παραδείγματα ενσωμάτωσης

Μάθετε πώς να βελτιστοποιήσετε τη δημιουργία περιεχομένου ομιλίας ενσωματώνοντας το SpeechGen.io με την υπηρεσία αυτοματισμού MAKE. Αυτός ο οδηγός καλύπτει τον αυτοματισμό των διαδικασιών μετατροπής κειμένου σε ομιλία, καθιστώντας ευκολότερη και πιο αποτελεσματική τη δημιουργία περιεχομένου ομιλίας για διάφορες εφαρμογές.

1η επιλογή - γρήγορη μετατροπή σύντομων κειμένων

Διεύθυνση URL για την παραλλαγή 1: https://speechgen.io/index.php?r=api/text

Το κείμενο αποστέλλεται στο API, λαμβάνετε άμεσα αποτελέσματα.

Αυτή η επιλογή έχει μέγιστο όριο 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.

Το συναίσθημα δεν είναι διαθέσιμο για όλες τις φωνές, δείτε εδώ.

Η απάντηση έρχεται σε JSON:

{ "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" - κόστος μετατροπής σε ομιλία. (αυξάνεται καθώς μεταγλωττίζονται τα τμήματα της φωνής)

Παράδειγμα μετατροπής σύντομου κειμένου σε ομιλία σε PHP παραλλαγή 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/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);

2η επιλογή - ρύθμιση εργασίας μετατροπής σε ομιλία για το κείμενο.

Διεύθυνση URL για την 2η επιλογή: https://speechgen.io/index.php?r=api/longtext

Βήμα 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.

Δεν είναι διαθέσιμο για όλες τις φωνές, δείτε εδώ.

Η απάντηση έρχεται σε JSON:

{ "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

Η απάντηση έρχεται σε JSON:

{ "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" στο κείμενο

Παράδειγμα μετατροπής σύντομου κειμένου σε ομιλία σε PHP παραλλαγή 2

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

Χρησιμοποιούμε cookies για να διασφαλίσουμε ότι θα έχετε την καλύτερη εμπειρία στον ιστότοπό μας. Μάθετε περισσότερα: Πολιτική απορρήτου

Αποδοχή cookies