API-instructies voor Tekst naar Spraak

, 08-09-2025

De API is alleen beschikbaar nadat u uw account heeft gefinancierd.

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

Er zijn 2 opties voor tekst-naar-spraak beschikbaar via de API:

1 optie - snelle spraakweergave van korte teksten.
2 optie - instellen van een spraakweergavetaak.

Integratievoorbeelden

Ontdek hoe u de creatie van spraakinhoud kunt stroomlijnen door SpeechGen.io te integreren met de automatiseringsservice MAKE. Deze handleiding behandelt de automatisering van tekst-naar-spraakprocessen, waardoor het eenvoudiger en efficiënter wordt om spraakinhoud te genereren voor diverse toepassingen.

1 optie - snelle spraakweergave van korte teksten

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

Tekst wordt naar de API gestuurd, u krijgt onmiddellijk resultaat.

Deze optie heeft een maximumlimiet van 2000 tekens. En ook maximaal 2 stemwijzigingen. Als de limieten worden overschreden, krijgt u een foutmelding (status = -1).

Aanvraagformaat

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

Verplichte parameters:

'token' - 'SekretKeyInYourProfile' 'email' - 'yourMail@gmail.com' 'voice' - 'Stem' 'text' - 'Tekst voor tekst naar spraak'

Optionele parameters:

'format' - format of the resulting file, by default = mp3, possible values ( 'mp3', 'wav', 'ogg') 'speed' - playback speed, by default 1, (range from 0.1 to 2.0) 'pitch'- voice pitch, by default 0, (range from -20 to 20) 'emotion' - emotion of voice , by default 'good', possible values ( 'good', 'evil', 'neutral'). 'pause_sentence' - The size of the pause between sentences in milliseconds. 'pause_paragraph' - The size of the pause between paragraphs in milliseconds. 'bitrate'=>48000 - Bitrate from 8000 to 192000 Hz.

Emotie Niet beschikbaar voor alle stemmen, kijk hier.

Het antwoord komt in 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" }

Beschrijving:

"id" - unieke stem-ID "status" - huidige spraakweergavestatus. Beschikbaar vanaf 3 waarden: 0 - proces 1 - succesvol voltooid -1 - fout "file" - audiospoorpad, beschikbaar indien status= 1 "file_cors" - audiospoorpad CORS "error" - fouttekst, in geval van, indien status = -1 "parts" - aantal spraakweergaven "parts_done" - aantal voltooide stukken "duration" - duur van het audiospoor in seconden, beschikbaar indien status = 1 "format" - audiobestandsformaat "balans" - limietbalans "cost" - kosten van spraakweergave. (wordt verhoogd naarmate de stemdelen worden gedubd)

Voorbeeld van een korte tekst-spraakweergave in 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);

Optie 2 is het instellen van een spraakweergavetaak voor de tekst.

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

Stap 1: Tekst wordt naar de API gestuurd en een unieke stem-ID wordt verkregen (id).
Stap 2:  Vraag het resultaat van de dubbing op door de dubbing-identifier (id) te sturen.

Deze methode heeft geen beperkingen en maakt het mogelijk om teksten tot 1.000.000 tekens te dubben. De dubbing gebeurt op volgorde van prioriteit (wie het eerst komt, wie het eerst maalt) en kan van 1 tot enkele minuten duren, afhankelijk van de lengte van de tekst.

Aanvraagformaat

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

Verplichte parameters:

'token' - 'SekretKeyInYourProfile' 'email' - 'yourMail@gmail.com' 'voice' - 'Stem' 'text' - 'Tekst'

Optionele parameters:

'format' - format of the resulting file, by default = mp3, possible values( 'mp3', 'wav', 'ogg') 'speed' - speed, by default 1, (range from 0.1 to 2.0) 'pitch'- voice pitch, by default 0, (range from -20 to 20) 'emotion' - emotional coloration, by default 'good', possible values ( 'good', 'evil', 'neutral'). 'pause_sentence' - The size of the pause between sentences in milliseconds. 'pause_paragraph' - The size of the pause between paragraphs in milliseconds. 'bitrate'=>48000 - Bitrate from 8000 to 192000 Hz.

Niet beschikbaar voor alle stemmen, kijk hier.

Het antwoord komt in JSON:

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

Beschrijving:

"id" - unieke stem-ID "status" - huidige spraakweergavestatus. Beschikbaar vanaf 2 waarden: 1 - taak succesvol toegevoegd -1 - fout "error" - fouttekst, in geval van, indien status = -1 "parts" - aantal spraakweergaven "parts_done" - aantal voltooide stukken "format" - audiobestandsformaat "balans" - het saldo van de accountlimieten "cost" - kosten van spraakweergave. (wordt verhoogd naarmate de stemdelen worden gedubd)

Stap 2. Na het aanmaken van een taak en het verkrijgen van een identifier (id), moet een aanvraag worden gestuurd naar https://speechgen.io/index.php?r=api/result, om het resultaat te achterhalen.

Aanvraagformaat

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

Verplichte parameters:

'token' - SekretKeyInYourProfile 'email' - yourMail@gmail.com 'id' - Unieke stem-ID verkregen in stap 1

Het antwoord komt in 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" }

Beschrijving:

"id" - unieke stem-ID "status" - huidige spraakweergavestatus. Beschikbaar vanaf 3 waarden: 0 - bezig 1 - succesvol voltooid -1 - fout "file" - audiospoorpad, beschikbaar indien status = 1 "error" - fouttekst, in geval van, indien status = -1 "parts" - aantal spraakweergaven "parts_done" - aantal voltooide stukken "duration" - duur van het audiospoor in seconden, beschikbaar indien status = 1 "format" - audiobestandsformaat "balans" - het saldo van de accountlimieten "cost" - kosten van spraakweergave. (wordt verhoogd naarmate de stemdelen worden gedubd) "cuts" - Array van fragmenten, indien de "cut" tag wordt gebruikt in de tekst

Voorbeeld van een korte tekst-spraakweergave in 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); }

We gebruiken cookies om ervoor te zorgen dat u de beste ervaring op onze website krijgt. Meer informatie: privacybeleid

Accepteer cookies