API instruction para sa Text to Speech

, 16-09-2025

Ang API ay magagamit lamang pagkatapos mong pondohan ang iyong account.

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

Mayroong 2 pagpipilian sa voice-over ng teksto na magagamit sa pamamagitan ng API:

1 pagpipilian - mabilis na voice-over ng maiikling teksto.
2 pagpipilian - pagtatakda ng isang voice-over task.

Mga halimbawa ng integrasyon

Tuklasin kung paano pasimplehin ang paglikha ng nilalaman ng boses sa pamamagitan ng pagsasama ng SpeechGen.io sa automation service na MAKE. Saklaw ng gabay na ito ang automation ng mga proseso ng text-to-speech, na ginagawang mas simple at mas mahusay ang pagbuo ng nilalaman ng boses para sa iba't ibang mga aplikasyon.

1 pagpipilian - mabilis na voice-over ng maiikling teksto

URL para sa variant 1: https://speechgen.io/index.php?r=api/text

Ang teksto ay ipinapadala sa API, makakakuha ka ng agarang mga resulta.

Ang pagpipiliang ito ay may maximum na limitasyon na 2000 karakter. At pati na rin ang maximum na 2 pagbabago ng boses. Kung lalampas sa mga limitasyon, makakakuha ka ng error (status = -1).

Format ng kahilingan

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

Mga kinakailangang parameter:

'token' - 'SekretKeyInYourProfile' 'email' - 'yourMail@gmail.com' 'voice' - 'Boses' 'text' - 'Teksto para sa Text to Speech'

Mga opsyonal na parameter:

'format' - format ng nagreresultang file, default = mp3, posibleng mga halaga ( 'mp3', 'wav', 'ogg') 'speed' - bilis ng pag-playback, default 1, (saklaw mula 0.1 hanggang 2.0) 'pitch'- tono ng boses, default 0, (saklaw mula -20 hanggang 20) 'emotion' - emosyon ng boses, default 'good', posibleng mga halaga ( 'good', 'evil', 'neutral'). 'pause_sentence' - Ang laki ng paghinto sa pagitan ng mga pangungusap sa milliseconds. 'pause_paragraph' - Ang laki ng paghinto sa pagitan ng mga talata sa milliseconds. 'bitrate'=>48000 - Bitrate mula 8000 hanggang 192000 Hz.

Emosyon Hindi magagamit para sa lahat ng boses, tingnan dito.

Ang sagot ay nasa 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" }

Deskripsyon:

"id" - natatanging voice ID "status" - kasalukuyang status ng voiceover. Magagamit mula sa 3 halaga: 0 - proseso 1 - nakumpleto nang matagumpay -1 - error "file" - path ng audio file, magagamit kung status= 1 "file_cors" - path ng audio file CORS "error" - teksto ng error, kung sakali, kung status = -1 "parts" - bilang ng mga voiceover "parts_done" - bilang ng mga pirasong nakumpleto "duration" - tagal ng audio file sa segundo, magagamit kung status = 1 "format" - format ng audio file "balans" - limitasyon ng balanse "cost" - gastos sa voiceover. ( tumataas habang ang mga bahagi ng boses ay na-dub)

Halimbawa ng mabilis na voice-over ng teksto sa 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);

Pagpipilian 2 ay ang pagtatakda ng isang voice-over task para sa teksto.

URL para sa pagpipilian 2: https://speechgen.io/index.php?r=api/longtext

Hakbang 1: Ang teksto ay ipinapadala sa API at nakakakuha ng isang natatanging voice ID (id).
Hakbang 2:  Hilingin ang resulta ng dubbing sa pamamagitan ng pagpapadala ng identifier ng dubbing (id).

Ang pamamaraang ito ay walang mga limitasyon at nagbibigay-daan sa pag-dub ng teksto hanggang 1,000,000 karakter. Ang pag-dub ay nagaganap ayon sa priyoridad (unang dumating, unang nagsilbi) at maaaring tumagal mula 1 hanggang ilang minuto, depende sa haba ng teksto.

Format ng kahilingan

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

Mga kinakailangang parameter:

'token' - 'SekretKeyInYourProfile' 'email' - 'yourMail@gmail.com' 'voice' - 'Boses' 'text' - 'Teksto'

Mga opsyonal na parameter:

'format' - format ng nagreresultang file, default = mp3, posibleng mga halaga( 'mp3', 'wav', 'ogg') 'speed' - bilis, default 1, (saklaw mula 0.1 hanggang 2.0) 'pitch'- tono ng boses, default 0, (saklaw mula -20 hanggang 20) 'emotion' - emosyonal na pangkulay, default 'good', posibleng mga halaga ( 'good', 'evil', 'neutral'). 'pause_sentence' - Ang laki ng paghinto sa pagitan ng mga pangungusap sa milliseconds. 'pause_paragraph' - Ang laki ng paghinto sa pagitan ng mga talata sa milliseconds. 'bitrate'=>48000 - Bitrate mula 8000 hanggang 192000 Hz.

Hindi magagamit para sa lahat ng boses, tingnan dito.

Ang tugon ay nasa JSON:

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

Deskripsyon:

"id" - natatanging voice ID "status" - kasalukuyang status ng voiceover. Magagamit mula sa 2 halaga: 1 - matagumpay na naidagdag ang task -1 - error "error" - teksto ng error, kung sakali, kung status = -1 "parts" - bilang ng mga voiceover "parts_done" - bilang ng mga pirasong nakumpleto "format" - format ng audio file "balans" - ang balanse ng mga limitasyon ng account "cost" - gastos sa voiceover. ( tumataas habang ang mga bahagi ng boses ay na-dub)

Hakbang 2. Pagkatapos lumikha ng isang task at makakuha ng isang identifier (id), isang kahilingan ang dapat ipadala sa https://speechgen.io/index.php?r=api/result, upang malaman ang resulta.

Format ng kahilingan

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

Mga kinakailangang parameter:

'token' - SekretKeyInYourProfile 'email' - yourMail@gmail.com 'id' - Natatanging voice ID na nakuha sa hakbang 1

Ang tugon ay nasa 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" }

Deskripsyon:

"id" - natatanging voice ID "status" - kasalukuyang status ng voiceover. Magagamit mula sa 3 halaga: 0 - nasa proseso 1 - nakumpleto nang matagumpay -1 - error "file" - path ng audio file, magagamit kung status = 1 "error" - teksto ng error, kung sakali, kung status = -1 "parts" - bilang ng mga voiceover "parts_done" - bilang ng mga pirasong nakumpleto "duration" - tagal ng audio file sa segundo, magagamit kung status = 1 "format" - format ng audio file "balans" - ang balanse ng mga limitasyon ng account "cost" - gastos sa voiceover. ( tumataas habang ang mga bahagi ng boses ay na-dub) "cuts" - Array ng mga fragment, kung ang "cut" tag ay ginamit sa teksto

Halimbawa ng mabilis na test voiceover sa 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); }

Gumagamit kami ng cookies upang matiyak na makukuha mo ang pinakamahusay na karanasan sa aming website. Matuto pa: Patakaran sa Privacy

Tanggapin ang Cookies