API útmutató a szövegből hanggá alakításhoz

, 16-09-2025

Az API csak akkor érhető el, ha feltöltötte a számláját.

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

Az API-n keresztül 2féle szöveges hangosítási lehetőség érhető el:

1. lehetőség - gyors hangosítás rövid szövegekhez.
2. lehetőség - hangosítási feladat beállítása.

Integrációs példák

Fedezze fel, hogyan egyszerűsítheti a hangtartalom-előállítást a SpeechGen.io és a MAKE automatizálási szolgáltatás integrálásával. Ez az útmutató a szövegből hanggá alakítási folyamatok automatizálását ismerteti, megkönnyítve és hatékonyabbá téve a hangtartalom előállítását különféle alkalmazásokhoz.

1. lehetőség - gyors hangosítás rövid szövegekhez

URL az 1. variánshoz: https://speechgen.io/index.php?r=api/text

A szöveget elküldi az API-nak, és azonnali eredményt kap.

Ez a lehetőség maximum 2000 karakteres limitet tartalmaz. Továbbá maximum 2 hangváltást tesz lehetővé. Ha a limiteket túllépi, hibát kap (status = -1).

Kérés formátuma

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

Kötelező paraméterek:

'token' - 'SekretKeyInYourProfile' 'email' - 'yourMail@gmail.com' 'voice' - 'Hang' 'text' - 'Szöveg a szövegből hanggá alakításhoz'

Opcionális paraméterek:

'format' - a kimeneti fájl formátuma, alapértelmezetten = mp3, lehetséges értékek ('mp3', 'wav', 'ogg') 'speed' - lejátszási sebesség, alapértelmezetten 1, (tartomány: 0.1-től 2.0-ig) 'pitch'- hangmagasság, alapértelmezetten 0, (tartomány: -20-tól 20-ig) 'emotion' - a hang érzelmi töltete, alapértelmezetten 'good', lehetséges értékek ('good', 'evil', 'neutral'). 'pause_sentence' - a szünet mérete a mondatok között ezredmásodpercben. 'pause_paragraph' - a szünet mérete a bekezdések között ezredmásodpercben. 'bitrate'=>48000 - Bitráta 8000-től 192000 Hz-ig.

Az érzelmek nem minden hanghoz elérhetők, itt megnézheti.

A válasz JSON formátumban érkezik:

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

Leírás:

"id" - egyedi hangazonosító "status" - a hangosítás aktuális állapota. 3 érték lehetséges: 0 - folyamatban 1 - sikeresen befejezett -1 - hiba "file" - az audio fájl elérési útja, elérhető ha status= 1 "file_cors" - audio fájl elérési útja CORS "error" - hibaüzenet, hiba esetén, ha status = -1 "parts" - a hangosítások száma "parts_done" - a befejezett részek száma "duration" - az audio fájl időtartama másodpercben, elérhető ha status = 1 "format" - az audio fájl formátuma "balans" - a limit egyenlege "cost" - a hangosítás költségei. (növekszik, ahogy a hangrészek fel lesznek mondva)

Példa rövid szöveg hangosítására PHP-ban, 1. variáns

$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. lehetőség - hangosítási feladat beállítása a szöveghez.

URL a 2. lehetőséghez: https://speechgen.io/index.php?r=api/longtext

1. lépés: A szöveget elküldi az API-nak, és megkapja az egyedi hangazonosítót (id).
2. lépés:  Kérje le a felmondás eredményét a felmondási azonosító (id) elküldésével.

Ez a módszer nem rendelkezik korlátozásokkal, és akár 1 000 000 karakteres szöveg felmondását is lehetővé teszi. A felmondás prioritási sorrendben történik (first come, first served), és a szöveg hosszától függően 1-től több percig is eltarthat.

Kérés formátuma

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

Kötelező paraméterek:

'token' - 'SekretKeyInYourProfile' 'email' - 'yourMail@gmail.com' 'voice' - 'Hang' 'text' - 'Szöveg'

Opcionális paraméterek:

'format' - a kimeneti fájl formátuma, alapértelmezetten = mp3, lehetséges értékek ('mp3', 'wav', 'ogg') 'speed' - sebesség, alapértelmezetten 1, (tartomány: 0.1-től 2.0-ig) 'pitch'- hangmagasság, alapértelmezetten 0, (tartomány: -20-tól 20-ig) 'emotion' - érzelmi színeződés, alapértelmezetten 'good', lehetséges értékek ('good', 'evil', 'neutral'). 'pause_sentence' - a szünet mérete a mondatok között ezredmásodpercben. 'pause_paragraph' - a szünet mérete a bekezdések között ezredmásodpercben. 'bitrate'=>48000 - Bitráta 8000-től 192000 Hz-ig.

Nem minden hanghoz elérhető, itt megnézheti.

A válasz JSON formátumban érkezik:

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

Leírás:

"id" - egyedi hangazonosító "status" - a hangosítás aktuális állapota. 2 érték lehetséges: 1 - a feladat sikeresen hozzáadva -1 - hiba "error" - hibaüzenet, hiba esetén, ha status = -1 "parts" - a hangosítások száma "parts_done" - a befejezett részek száma "format" - az audio fájl formátuma "balans" - a számla limitjeinek egyenlege "cost" - a hangosítás költségei. (növekszik, ahogy a hangrészek fel lesznek mondva)

2. lépés. A feladat létrehozása és az azonosító (id) megszerzése után egy kérést kell küldeni a https://speechgen.io/index.php?r=api/result címre az eredmény lekérdezéséhez.

Kérés formátuma

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

Kötelező paraméterek:

'token' - SekretKeyInYourProfile 'email' - yourMail@gmail.com 'id' - az 1. lépésben kapott egyedi hangazonosító

A válasz JSON formátumban érkezik:

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

Leírás:

"id" - egyedi hangazonosító "status" - a hangosítás aktuális állapota. 3 érték lehetséges: 0 - folyamatban 1 - sikeresen befejezett -1 - hiba "file" - az audio fájl elérési útja, elérhető ha status = 1 "error" - hibaüzenet, hiba esetén, ha status = -1 "parts" - a hangosítások száma "parts_done" - a befejezett részek száma "duration" - az audio fájl időtartama másodpercben, elérhető ha status = 1 "format" - az audio fájl formátuma "balans" - a számla limitjeinek egyenlege "cost" - a hangosítás költségei. (növekszik, ahogy a hangrészek fel lesznek mondva) "cuts" - töredékek tömbje, ha a "cut" címkét használják a szövegben

Példa rövid szöveg hangosítására PHP-ban, 2. variáns

//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-t használunk, hogy biztosítsuk a legjobb élményt weboldalunkon. További információ: Adatvédelmi irányelvek

Elfogadom Cookies