API instrukce pro převod textu na řeč

, 16-09-2025

API je dostupná pouze po nabití vašeho účtu.

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

Přes API jsou k dispozici 2 možnosti hlasového přenosu textu:

1 možnost - rychlý hlasový přenos krátkých textů.
2 možnost - nastavení úlohy pro hlasový přenos.

Příklady integrace

Zjistěte, jak zefektivnit tvorbu hlasového obsahu integrací SpeechGen.io se servisní automatizací MAKE. Tento průvodce pokrývá automatizaci procesů převodu textu na řeč, čímž zjednodušuje a zefektivňuje generování hlasového obsahu pro různé aplikace.

1 možnost - rychlý hlasový přenos krátkých textů

URL pro variantu 1: https://speechgen.io/index.php?r=api/text

Text je odeslán do API, výsledky dostanete okamžitě.

Tato možnost má maximální limit 2000 znaků. A také maximálně 2 změny hlasu. Pokud jsou limity překročeny, obdržíte chybu (status = -1).

Formát požadavku

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

Povinné parametry:

'token' - 'SekretKeyInYourProfile' 'email' - 'yourMail@gmail.com' 'voice' - 'Hlas' 'text' - 'Text pro převod textu na řeč'

Volitelné parametry:

'format' - formát výsledného souboru, výchozí = mp3, možné hodnoty ( 'mp3', 'wav', 'ogg') 'speed' - rychlost přehrávání, výchozí 1, (rozsah od 0.1 do 2.0) 'pitch'- výška hlasu, výchozí 0, (rozsah od -20 do 20) 'emotion' - emoce hlasu, výchozí 'good', možné hodnoty ( 'good', 'evil', 'neutral'). 'pause_sentence' - velikost pauzy mezi větami v milisekundách. 'pause_paragraph' - velikost pauzy mezi odstavci v milisekundách. 'bitrate'=>48000 - Bitrate od 8000 do 192000 Hz.

Emoce nejsou dostupné pro všechny hlasy, podívejte se zde.

Odpověď přichází ve formátu 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" }

Popis:

"id" - unikátní ID hlasu "status" - aktuální stav hlasového přenosu. Dostupné ze 3 hodnot: 0 - zpracovává se 1 - úspěšně dokončeno -1 - chyba "file" - cesta k audio souboru, dostupná pokud status= 1 "file_cors" - cesta k audio souboru CORS "error" - text chyby, v případě, pokud status = -1 "parts" - počet hlasových přenosů "parts_done" - počet dokončených částí "duration" - délka audio souboru v sekundách, dostupná pokud status = 1 "format" - formát audio souboru "balans" - zůstatek limitu "cost" - náklady na hlasový přenos. (zvýší se, jakmile jsou části hlasu nadabovány)

Příklad hlasového přenosu krátkého textu v PHP variantě 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 možnost - nastavení úlohy pro hlasový přenos textu.

URL pro možnost 2: https://speechgen.io/index.php?r=api/longtext

Krok 1: Text je odeslán do API a získáte unikátní ID hlasu (id).
Krok 2:  Vyžádejte si výsledek dabingu odesláním identifikátoru dabingu (id).

Tato metoda nemá žádná omezení a umožňuje dabing textu až do 1 000 000 znaků. Dabing probíhá v pořadí priority (kdo dřív přijde, ten dřív mele) a může trvat od 1 do několika minut, v závislosti na délce textu.

Formát požadavku

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

Povinné parametry:

'token' - 'SekretKeyInYourProfile' 'email' - 'yourMail@gmail.com' 'voice' - 'Hlas' 'text' - 'Text'

Volitelné parametry:

'format' - formát výsledného souboru, výchozí = mp3, možné hodnoty( 'mp3', 'wav', 'ogg') 'speed' - rychlost, výchozí 1, (rozsah od 0.1 do 2.0) 'pitch'- výška hlasu, výchozí 0, (rozsah od -20 do 20) 'emotion' - emocionální zabarvení, výchozí 'good', možné hodnoty ( 'good', 'evil', 'neutral'). 'pause_sentence' - velikost pauzy mezi větami v milisekundách. 'pause_paragraph' - velikost pauzy mezi odstavci v milisekundách. 'bitrate'=>48000 - Bitrate od 8000 do 192000 Hz.

Není dostupné pro všechny hlasy, podívejte se zde.

Odpověď přichází ve formátu JSON:

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

Popis:

"id" - unikátní ID hlasu "status" - aktuální stav hlasového přenosu. Dostupné ze 2 hodnot: 1 - úloha byla úspěšně přidána -1 - chyba "error" - text chyby, v případě, pokud status = -1 "parts" - počet hlasových přenosů "parts_done" - počet dokončených částí "format" - formát audio souboru "balans" - zůstatek limitů účtu "cost" - náklady na hlasový přenos. (zvýší se, jakmile jsou části hlasu nadabovány)

Krok 2. Po vytvoření úlohy a získání identifikátoru (id) je třeba odeslat požadavek na https://speechgen.io/index.php?r=api/result, abyste zjistili výsledek.

Formát požadavku

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

Povinné parametry:

'token' - SekretKeyInYourProfile 'email' - yourMail@gmail.com 'id' - Unikátní ID hlasu získané v kroku 1

Odpověď přichází ve formátu 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" }

Popis:

"id" - unikátní ID hlasu "status" - aktuální stav hlasového přenosu. Dostupné ze 3 hodnot: 0 - probíhá 1 - úspěšně dokončeno -1 - chyba "file" - cesta k audio souboru, dostupná pokud status = 1 "error" - text chyby, v případě, pokud status = -1 "parts" - počet hlasových přenosů "parts_done" - počet dokončených částí "duration" - délka audio souboru v sekundách, dostupná pokud status = 1 "format" - formát audio souboru "balans" - zůstatek limitů účtu "cost" - náklady na hlasový přenos. (zvýší se, jakmile jsou části hlasu nadabovány) "cuts" - Pole fragmentů, pokud je v textu použit tag "cut"

Příklad hlasového přenosu krátkého testu v PHP variantě 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); }

Používáme soubory cookie, abychom vám zajistili co nejlepší zážitek z našich webových stránek. Další informace: Zásady ochrany osobních údajů

Přijmout soubory cookie