API-instruktion til Tekst til Tale

, 16-09-2025

API'en er kun tilgængelig, efter du har finansieret din konto.

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

Der er 2 muligheder for tekst-til-tale via API'en:

1. mulighed - hurtig stemmelægning af korte tekster.
2. mulighed - opsætning af en stemmelægningsopgave.

Integrations eksempler

Opdag hvordan du kan strømline oprettelsen af stemmeindhold ved at integrere SpeechGen.io med automationsservicen MAKE. Denne guide dækker automatisering af tekst-til-tale processer, hvilket gør det nemmere og mere effektivt at generere stemmeindhold til forskellige applikationer.

1. mulighed - hurtig stemmelægning af korte tekster

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

Teksten sendes til API'en, og du får øjeblikkelige resultater.

Denne mulighed har en maksimal grænse på 2000 tegn. Og også et maksimum på 2 stemmeændringer. Hvis grænserne overskrides, får du en fejl (status = -1).

Anmodningsformat

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

Obligatoriske parametre:

'token' - 'SekretNøgleIProfilen' 'email' - 'dinMail@gmail.com' 'voice' - 'Stemme' 'text' - 'Tekst til tekst-til-tale'

Valgfrie parametre:

'format' - format på den resulterende fil, som standard = mp3, mulige værdier ('mp3', 'wav', 'ogg') 'speed' - afspilningshastighed, som standard 1, (område fra 0.1 til 2.0) 'pitch'- stemmehøjde, som standard 0, (område fra -20 til 20) 'emotion' - stemmens følelse, som standard 'god', mulige værdier ('god', 'ond', 'neutral'). 'pause_sentence' - størrelsen på pausen mellem sætninger i millisekunder. 'pause_paragraph' - størrelsen på pausen mellem afsnit i millisekunder. 'bitrate'=>48000 - Bitrate fra 8000 til 192000 Hz.

Følelse er ikke tilgængelig for alle stemmer, se her.

Svaret kommer i 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" }

Beskrivelse:

"id" - unik stemme-ID "status" - nuværende stemmelægningsstatus. Tilgængelig fra 3 værdier: 0 - proces 1 - gennemført med succes -1 - fejl "file" - lydfilens sti, tilgængelig hvis status= 1 "file_cors" - lydfilens sti CORS "error" - fejltekst, i tilfælde af, hvis status = -1 "parts" - antal stemmelægninger "parts_done" - antal færdiggjorte dele "duration" - lydfilens varighed i sekunder, tilgængelig hvis status = 1 "format" - lydfilens format "balans" - grænse for saldo "cost" - omkostninger til stemmelægning. (øges efterhånden som stemmedelene indtales)

Eksempel på stemmelægning af kort tekst i 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);

Mulighed 2 er at opsætte en stemmelægningsopgave for teksten.

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

Trin 1: Teksten sendes til API'en, og et unikt stemme-ID (id) opnås.
Trin 2:  Anmod om resultatet af indtalningen ved at sende indtagningsidentifikatoren (id).

Denne metode har ingen begrænsninger og tillader indtalning af tekst op til 1.000.000 tegn. Indtalningen sker i prioriteringsrækkefølge (først til mølle) og kan tage fra 1 til flere minutter, afhængigt af tekstens længde.

Anmodningsformat

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

Obligatoriske parametre:

'token' - 'SekretNøgleIProfilen' 'email' - 'dinMail@gmail.com' 'voice' - 'Stemme' 'text' - 'Tekst'

Valgfrie parametre:

'format' - format på den resulterende fil, som standard = mp3, mulige værdier ('mp3', 'wav', 'ogg') 'speed' - hastighed, som standard 1, (område fra 0.1 til 2.0) 'pitch'- stemmehøjde, som standard 0, (område fra -20 til 20) 'emotion' - følelsesmæssig farvning, som standard 'god', mulige værdier ('god', 'ond', 'neutral'). 'pause_sentence' - størrelsen på pausen mellem sætninger i millisekunder. 'pause_paragraph' - størrelsen på pausen mellem afsnit i millisekunder. 'bitrate'=>48000 - Bitrate fra 8000 til 192000 Hz.

Ikke tilgængelig for alle stemmer, se her.

Svaret kommer i JSON:

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

Beskrivelse:

"id" - unik stemme-ID "status" - nuværende stemmelægningsstatus. Tilgængelig fra 2 værdier: 1 - opgave tilføjet med succes -1 - fejl "error" - fejltekst, i tilfælde af, hvis status = -1 "parts" - antal stemmelægninger "parts_done" - antal færdiggjorte dele "format" - lydfilens format "balans" - saldoen på kontoens grænser "cost" - omkostninger til stemmelægning. (øges efterhånden som stemmedelene indtales)

Trin 2. Efter at have oprettet en opgave og fået et ID (id), skal der sendes en anmodning til https://speechgen.io/index.php?r=api/result for at finde resultatet.

Anmodningsformat

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

Obligatoriske parametre:

'token' - SekretNøgleIProfilen 'email' - dinMail@gmail.com 'id' - Unik stemme-ID opnået i trin 1

Svaret kommer i 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" }

Beskrivelse:

"id" - unik stemme-ID "status" - nuværende stemmelægningsstatus. Tilgængelig fra 3 værdier: 0 - i gang 1 - gennemført med succes -1 - fejl "file" - lydfilens sti, tilgængelig hvis status = 1 "error" - fejltekst, i tilfælde af, hvis status = -1 "parts" - antal stemmelægninger "parts_done" - antal færdiggjorte dele "duration" - lydfilens varighed i sekunder, tilgængelig hvis status = 1 "format" - lydfilens format "balans" - saldoen på kontoens grænser "cost" - omkostninger til stemmelægning. (øges efterhånden som stemmedelene indtales) "cuts" - Array af fragmenter, hvis "cut" tagget bruges i teksten

Eksempel på kort test-stemmelægning i 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); }

Vi bruger cookies for at sikre, at du får den bedste oplevelse på vores hjemmeside. Få flere oplysninger: Privatlivspolitik

Accepter cookies