API instrukcija tekstui į garsą

, 16-09-2025

API pasiekiama tik po to, kai papildote savo sąskaitą.

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

Per API galimi 2 teksto įgarsinimo variantai:

1 variantas - greitas trumpų tekstų įgarsinimas.
2 variantas - įgarsinimo užduoties nustatymas.

Integracijos pavyzdžiai

Sužinokite, kaip supaprastinti balso turinio kūrimą, integruodami SpeechGen.io su automatizavimo paslauga MAKE. Šiame vadove aprašomas teksto į garsą procesų automatizavimas, todėl balso turinio generavimas įvairioms reikmėms tampa paprastesnis ir efektyvesnis.

1 variantas - greitas trumpų tekstų įgarsinimas

Nuoroda 1 variantui: https://speechgen.io/index.php?r=api/text

Tekstas siunčiamas į API, rezultatai gaunami iš karto.

Šis variantas turi maksimalų 2000 simbolių limitą. Taip pat maksimaliai 2 balso pakeitimus. Jei limitai viršijami, gausite klaidą (statusas = -1).

Užklausos formatas

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

Privalomi parametrai:

'token' - 'SekretKeyInYourProfile' 'email' - 'yourMail@gmail.com' 'voice' - 'Balsas' 'text' - 'Tekstas tekstui į garsą'

Neprivalomi parametrai:

'format' - rezultato failo formatas, pagal nutylėjimą = mp3, galimos reikšmės ( 'mp3', 'wav', 'ogg') 'speed' - atkūrimo greitis, pagal nutylėjimą 1, (nuo 0.1 iki 2.0) 'pitch'- balso tonas, pagal nutylėjimą 0, (nuo -20 iki 20) 'emotion' - balso emocija, pagal nutylėjimą 'good', galimos reikšmės ( 'good', 'evil', 'neutral'). 'pause_sentence' - Pauzės tarp sakinių dydis milisekundėmis. 'pause_paragraph' - Pauzės tarp pastraipų dydis milisekundėmis. 'bitrate'=>48000 - Bitrate nuo 8000 iki 192000 Hz.

Emocija nepasiekiama visiems balsams, žiūrėkite čia.

Atsakymas gaunamas JSON formatu:

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

Aprašymas:

"id" - unikalus balso ID "status" - dabartinis įgarsinimo statusas. Galimos 3 reikšmės: 0 - apdorojama 1 - sėkmingai baigta -1 - klaida "file" - garso failo kelias, pasiekiamas, jei statusas= 1 "file_cors" - garso failo kelias CORS "error" - klaidos tekstas, jei statusas = -1 "parts" - įgarsinimų skaičius "parts_done" - atliktų dalių skaičius "duration" - garso failo trukmė sekundėmis, pasiekiama, jei statusas = 1 "format" - garso failo formatas "balans" - limito likutis "cost" - įgarsinimo išlaidos. (didėja įgarsinant balso dalis)

Trumpo teksto įgarsinimo PHP pavyzdys, 1 variantas

$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 variantas - įgarsinimo užduoties nustatymas tekstui.

Nuoroda 2 variantui: https://speechgen.io/index.php?r=api/longtext

1 žingsnis: Tekstas siunčiamas į API ir gaunamas unikalus balso ID (id).
2 žingsnis:  Prašoma įgarsinimo rezultato, siunčiant įgarsinimo identifikatorių (id).

Šis metodas neturi apribojimų ir leidžia įgarsinti iki 1 000 000 simbolių. Įgarsinimas vyksta prioritetine tvarka (kas pirmas ateina, tas pirmas gauna) ir gali užtrukti nuo 1 iki kelių minučių, priklausomai nuo teksto ilgio.

Užklausos formatas

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

Privalomi parametrai:

'token' - 'SekretKeyInYourProfile' 'email' - 'yourMail@gmail.com' 'voice' - 'Balsas' 'text' - 'Tekstas'

Neprivalomi parametrai:

'format' - rezultato failo formatas, pagal nutylėjimą = mp3, galimos reikšmės( 'mp3', 'wav', 'ogg') 'speed' - greitis, pagal nutylėjimą 1, (nuo 0.1 iki 2.0) 'pitch'- balso tonas, pagal nutylėjimą 0, (nuo -20 iki 20) 'emotion' - emocinė spalva, pagal nutylėjimą 'good', galimos reikšmės ( 'good', 'evil', 'neutral'). 'pause_sentence' - Pauzės tarp sakinių dydis milisekundėmis. 'pause_paragraph' - Pauzės tarp pastraipų dydis milisekundėmis. 'bitrate'=>48000 - Bitrate nuo 8000 iki 192000 Hz.

Nepasiekiama visiems balsams, žiūrėkite čia.

Atsakymas gaunamas JSON formatu:

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

Aprašymas:

"id" - unikalus balso ID "status" - dabartinis įgarsinimo statusas. Galimos 2 reikšmės: 1 - užduotis sėkmingai pridėta -1 - klaida "error" - klaidos tekstas, jei statusas = -1 "parts" - įgarsinimų skaičius "parts_done" - atliktų dalių skaičius "format" - garso failo formatas "balans" - sąskaitos limito likutis "cost" - įgarsinimo išlaidos. (didėja įgarsinant balso dalis)

2 žingsnis. Sukūrus užduotį ir gavus identifikatorių (id), reikia atlikti užklausą į https://speechgen.io/index.php?r=api/result, kad sužinotumėte rezultatą.

Užklausos formatas

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

Privalomi parametrai:

'token' - SekretKeyInYourProfile 'email' - yourMail@gmail.com 'id' - Unikalus balso ID gautas 1 žingsnyje

Atsakymas gaunamas JSON formatu:

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

Aprašymas:

"id" - unikalus balso ID "status" - dabartinis įgarsinimo statusas. Galimos 3 reikšmės: 0 - apdorojama 1 - sėkmingai baigta -1 - klaida "file" - garso failo kelias, pasiekiamas, jei statusas = 1 "error" - klaidos tekstas, jei statusas = -1 "parts" - įgarsinimų skaičius "parts_done" - atliktų dalių skaičius "duration" - garso failo trukmė sekundėmis, pasiekiama, jei statusas = 1 "format" - garso failo formatas "balans" - sąskaitos limito likutis "cost" - įgarsinimo išlaidos. (didėja įgarsinant balso dalis) "cuts" - fragmentų masyvas, jei tekste naudojamas "cut" žymuo

Trumpo teksto įgarsinimo PHP pavyzdys, 2 variantas

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

Mes naudojame slapukus, kad užtikrintume geriausią patirtį mūsų svetainėje. Sužinokite daugiau: Privatumo politika

Priimti Cookies