Instrucțiuni API pentru Text în Vorbire

, 16-09-2025

API-ul este disponibil doar după ce v-ați alimentat contul.

Vocile API JSON https://speechgen.io/index.php?r=api/voices.

Există 2 opțiuni de voice-over text disponibile prin API:

Opțiunea 1 - voice-over rapid pentru texte scurte.
Opțiunea 2 - setarea unei sarcini de voice-over.

Exemple de integrare

Descoperiți cum să eficientizați crearea de conținut vocal prin integrarea SpeechGen.io cu serviciul de automatizare MAKE. Acest ghid acoperă automatizarea proceselor text-to-speech, făcând mai simplă și mai eficientă generarea de conținut vocal pentru diverse aplicații.

Opțiunea 1 - voice-over rapid pentru texte scurte

URL pentru varianta 1: https://speechgen.io/index.php?r=api/text

Textul este trimis către API, iar dumneavoastră primiți rezultate imediate.

Această opțiune are o limită maximă de 2000 de caractere. De asemenea, o limită maximă de 2 schimbări de voce. Dacă limitele sunt depășite, veți primi o eroare (status = -1).

Formatul cererii

$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, ];

Parametri obligatorii:

'token' - 'CheiaSecretăDinProfilulDumneavoastră' 'email' - 'adresaMea@gmail.com' 'voice' - 'Voce' 'text' - 'Text pentru Text în Vorbire'

Parametri opționali:

'format' - formatul fișierului rezultat, implicit = mp3, valori posibile ( 'mp3', 'wav', 'ogg') 'speed' - viteza de redare, implicit 1, (interval de la 0.1 la 2.0) 'pitch'- tonalitatea vocii, implicit 0, (interval de la -20 la 20) 'emotion' - emoția vocii, implicit 'good', valori posibile ( 'good', 'evil', 'neutral'). 'pause_sentence' - Mărimea pauzei dintre propoziții în milisecunde. 'pause_paragraph' - Mărimea pauzei dintre paragrafe în milisecunde. 'bitrate'=>48000 - Bitrate de la 8000 la 192000 Hz.

Emoția nu este disponibilă pentru toate vocile, verificați aici.

Răspunsul vine în format 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" }

Descriere:

"id" - ID unic al vocii "status" - starea curentă a voice-over-ului. Disponibil din 3 valori: 0 - în proces 1 - finalizat cu succes -1 - eroare "file" - calea fișierului audio, disponibil dacă status= 1 "file_cors" - calea fișierului audio CORS "error" - textul erorii, în caz de, dacă status = -1 "parts" - numărul de voice-over-uri "parts_done" - numărul de părți finalizate "duration" - durata fișierului audio în secunde, disponibil dacă status = 1 "format" - formatul fișierului audio "balans" - limita de credit "cost" - costurile voice-over-ului. (se mărește pe măsură ce părțile vocale sunt dublate)

Exemplu de voice-over pentru text scurt în PHP varianta 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);

Opțiunea 2 - setarea unei sarcini de voice-over pentru text.

URL pentru opțiunea 2: https://speechgen.io/index.php?r=api/longtext

Pasul 1: Textul este trimis către API și se obține un ID unic al vocii (id).
Pasul 2:  Solicitați rezultatul dublării trimițând identificatorul de dublare (id).

Această metodă nu are limitări și permite dublarea textelor de până la 1.000.000 de caractere. Dublarea se face în ordinea priorității (primul venit, primul servit) și poate dura de la 1 la câteva minute, în funcție de lungimea textului.

Formatul cererii

$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, ];

Parametri obligatorii:

'token' - 'CheiaSecretăDinProfilulDumneavoastră' 'email' - 'adresaMea@gmail.com' 'voice' - 'Voce' 'text' - 'Text'

Parametri opționali:

'format' - formatul fișierului rezultat, implicit = mp3, valori posibile( 'mp3', 'wav', 'ogg') 'speed' - viteză, implicit 1, (interval de la 0.1 la 2.0) 'pitch'- tonalitatea vocii, implicit 0, (interval de la -20 la 20) 'emotion' - coloratura emoțională, implicit 'good', valori posibile ( 'good', 'evil', 'neutral'). 'pause_sentence' - Mărimea pauzei dintre propoziții în milisecunde. 'pause_paragraph' - Mărimea pauzei dintre paragrafe în milisecunde. 'bitrate'=>48000 - Bitrate de la 8000 la 192000 Hz.

Nu este disponibil pentru toate vocile, verificați aici.

Răspunsul vine în format JSON:

{ "id":"4153594", "status":"0", "parts":"5", "parts_done":"0", "format":"mp3", "error":"", "balans":"3331.2720000314", "cost":"0.00" }

Descriere:

"id" - ID unic al vocii "status" - starea curentă a voice-over-ului. Disponibil din 2 valori: 1 - sarcina a fost adăugată cu succes -1 - eroare "error" - textul erorii, în caz de, dacă status = -1 "parts" - numărul de voice-over-uri "parts_done" - numărul de părți finalizate "format" - formatul fișierului audio "balans" - creditul contului "cost" - costurile voice-over-ului. (se mărește pe măsură ce părțile vocale sunt dublate)

Pasul 2. După crearea unei sarcini și obținerea unui identificator (id), trebuie trimisă o cerere către https://speechgen.io/index.php?r=api/result, pentru a afla rezultatul.

Formatul cererii

$data = [ 'token'=>'SekretKeyInYourProfile', 'email'=>'yourMail@gmail.com', 'id'=>4153594, ];

Parametri obligatorii:

'token' - CheiaSecretăDinProfilulDumneavoastră 'email' - adresaMea@gmail.com 'id' - ID unic al vocii obținut la pasul 1

Răspunsul vine în format 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" }

Descriere:

"id" - ID unic al vocii "status" - starea curentă a voice-over-ului. Disponibil din 3 valori: 0 - în desfășurare 1 - finalizat cu succes -1 - eroare "file" - calea fișierului audio, disponibil dacă status = 1 "error" - textul erorii, în caz de, dacă status = -1 "parts" - numărul de voice-over-uri "parts_done" - numărul de părți finalizate "duration" - durata fișierului audio în secunde, disponibil dacă status = 1 "format" - formatul fișierului audio "balans" - limita de credit a contului "cost" - costurile voice-over-ului. (se mărește pe măsură ce părțile vocale sunt dublate) "cuts" - Array de fragmente, dacă tag-ul "cut" este utilizat în text

Exemplu de voice-over text scurt în PHP varianta 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); }

Folosim cookie-uri pentru a ne asigura că aveți cea mai bună experiență pe site-ul nostru. Aflați mai multe: Politica de confidențialitate

Accept cookie-uri