API-ohje tekstistä puheeksi

, 16-09-2025

API on käytettävissä vasta, kun olet ladannut tilillesi varoja.

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

API:n kautta on saatavilla 2 tekstin puheeksi muuntamisvaihtoehtoa:

1. vaihtoehto - nopea lyhyiden tekstien puheeksi muuntaminen.
2. vaihtoehto - puheeksi muuntamistehtävän asettaminen.

Integrointiesimerkit

Tutustu, miten voit tehostaa puheesisällön luomista integroimalla SpeechGen.io:n automaatiopalveluun MAKE. Tämä opas kattaa tekstistä puheeksi -prosessien automatisoinnin, mikä tekee puheesisällön luomisesta yksinkertaisempaa ja tehokkaampaa erilaisiin sovelluksiin.

1. vaihtoehto - nopea lyhyiden tekstien puheeksi muuntaminen

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

Teksti lähetetään API:lle, saat välittömät tulokset.

Tässä vaihtoehdossa on enintään 2000 merkin raja. Ja myös enintään 2 äänen muutosta. Jos rajat ylittyvät, saat virheen (tila = -1).

Pyynnön muoto

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

Pakolliset parametrit:

'token' - 'SalainenAvainProfiilissasi' 'email' - 'sinunMailisi@gmail.com' 'voice' - 'Ääni' 'text' - 'Teksti tekstistä puheeksi'

Valinnaiset parametrit:

'format' - tulostiedoston muoto, oletusarvo = mp3, mahdolliset arvot ('mp3', 'wav', 'ogg') 'speed' - toistonopeus, oletusarvo 1, (alue 0.1 - 2.0) 'pitch'- äänenkorkeus, oletusarvo 0, (alue -20 - 20) 'emotion' - äänen tunne, oletusarvo 'hyvä', mahdolliset arvot ('hyvä', 'paha', 'neutraali'). 'pause_sentence' - Tauon koko lauseiden välillä millisekunteina. 'pause_paragraph' - Tauon koko kappaleiden välillä millisekunteina. 'bitrate'=>48000 - Bittinopeus 8000 - 192000 Hz.

Tunne ei ole saatavilla kaikille äänille, katso täältä.

Vastaus tulee JSON-muodossa:

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

Kuvaus:

"id" - uniikki äänen tunniste "status" - nykyinen puheeksi muuntamisen tila. Saatavilla 3 arvosta: 0 - prosessi käynnissä 1 - valmis onnistuneesti -1 - virhe "file" - äänitiedoston polku, saatavilla jos tila= 1 "file_cors" - äänitiedoston polku CORS "error" - virheteksti, jos tila = -1 "parts" - puheeksi muunnettavien osien määrä "parts_done" - valmiiden osien määrä "duration" - äänitiedoston kesto sekunteina, saatavilla jos tila = 1 "format" - äänitiedoston muoto "balans" - tilin rajoitusten saldo "cost" - puheeksi muuntamisen kustannukset. (kasvaa ääniosien dubbauksen myötä)

Esimerkki lyhyen tekstin puheeksi muuntamisesta PHP:llä, vaihtoehto 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);

Vaihtoehto 2 on asettaa puheeksi muuntamistehtävä tekstille.

URL vaihtoehdolle 2: https://speechgen.io/index.php?r=api/longtext

Vaihe 1: Teksti lähetetään API:lle ja saadaan uniikki äänen tunniste (id).
Vaihe 2: Pyydä dubbauksen tulos lähettämällä dubbaustunniste (id).

Tällä menetelmällä ei ole rajoituksia ja se mahdollistaa jopa 1 000 000 merkin tekstin dubbauksen. Dubbaus tapahtuu prioriteettijärjestyksessä (ensiksi tullut, ensiksi palvellut) ja voi kestää 1–muutamia minuutteja tekstin pituudesta riippuen.

Pyynnön muoto

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

Pakolliset parametrit:

'token' - 'SalainenAvainProfiilissasi' 'email' - 'sinunMailisi@gmail.com' 'voice' - 'Ääni' 'text' - 'Teksti'

Valinnaiset parametrit:

'format' - tulostiedoston muoto, oletusarvo = mp3, mahdolliset arvot ('mp3', 'wav', 'ogg') 'speed' - nopeus, oletusarvo 1, (alue 0.1 - 2.0) 'pitch'- äänenkorkeus, oletusarvo 0, (alue -20 - 20) 'emotion' - tunneväri, oletusarvo 'hyvä', mahdolliset arvot ('hyvä', 'paha', 'neutraali'). 'pause_sentence' - Tauon koko lauseiden välillä millisekunteina. 'pause_paragraph' - Tauon koko kappaleiden välillä millisekunteina. 'bitrate'=>48000 - Bittinopeus 8000 - 192000 Hz.

Ei saatavilla kaikille äänille, katso täältä.

Vastaus tulee JSON-muodossa:

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

Kuvaus:

"id" - uniikki äänen tunniste "status" - nykyinen puheeksi muuntamisen tila. Saatavilla 2 arvosta: 1 - tehtävä lisätty onnistuneesti -1 - virhe "error" - virheteksti, jos tila = -1 "parts" - puheeksi muunnettavien osien määrä "parts_done" - valmiiden osien määrä "format" - äänitiedoston muoto "balans" - tilin rajoitusten saldo "cost" - puheeksi muuntamisen kustannukset. (kasvaa ääniosien dubbauksen myötä)

Vaihe 2. Kun tehtävä on luotu ja tunniste (id) saatu, pyyntö on lähetettävä osoitteeseen https://speechgen.io/index.php?r=api/result, tuloksen selvittämiseksi.

Pyynnön muoto

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

Pakolliset parametrit:

'token' - SalainenAvainProfiilissasi 'email' - sinunMailisi@gmail.com 'id' - Uniikki äänen tunniste saatu vaiheessa 1

Vastaus tulee JSON-muodossa:

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

Kuvaus:

"id" - uniikki äänen tunniste "status" - nykyinen puheeksi muuntamisen tila. Saatavilla 3 arvosta: 0 - käynnissä 1 - valmis onnistuneesti -1 - virhe "file" - äänitiedoston polku, saatavilla jos tila = 1 "error" - virheteksti, jos tila = -1 "parts" - puheeksi muunnettavien osien määrä "parts_done" - valmiiden osien määrä "duration" - äänitiedoston kesto sekunteina, saatavilla jos tila = 1 "format" - äänitiedoston muoto "balans" - tilin rajoitusten saldo "cost" - puheeksi muuntamisen kustannukset. (kasvaa ääniosien dubbauksen myötä) "cuts" - Fragmenttien taulukko, jos tekstiin on käytetty "cut"-tagia

Esimerkki lyhyen testin puheeksi muuntamisesta PHP:llä, vaihtoehto 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); }

Käytämme evästeitä (cookies). varmistaaksemme, että saat parhaan kokemuksen verkkosivustollamme. Lisätietoja: tietosuojakäytäntö

Accept Cookies