API-instruktion för Text till Tal

, 16-09-2025

API:et är endast tillgängligt efter att du har fyllt på ditt konto.

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

Det finns 2 alternativ för textröstning tillgängliga via API:et:

Alternativ 1 - snabb röstning av korta texter.
Alternativ 2 - inställning av en röstningsuppgift.

Integrations-exempel

Upptäck hur du kan effektivisera skapandet av röstinnehåll genom att integrera SpeechGen.io med automations-tjänsten MAKE. Den här guiden täcker automatisering av text-till-tal-processer, vilket gör det enklare och mer effektivt att generera röstinnehåll för olika applikationer.

Alternativ 1 - snabb röstning av korta texter

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

Text skickas till API:et, du får omedelbara resultat.

Det här alternativet har en maximal gräns på 2000 tecken. Och även ett maximum av 2 röstbyten. Om gränserna överskrids får du ett fel (status = -1).

Begär format

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

Obligatoriska parametrar:

'token' - 'SekretNyckelIProfilen' 'email' - 'dinMail@gmail.com' 'voice' - 'Röst' 'text' - 'Text för text till tal'

Valfria parametrar:

'format' - format på resultatfilen, standard = mp3, möjliga värden ( 'mp3', 'wav', 'ogg') 'speed' - uppspelningshastighet, standard 1, (intervall från 0.1 till 2.0) 'pitch'- röstens tonhöjd, standard 0, (intervall från -20 till 20) 'emotion' - röstens känsla, standard 'good', möjliga värden ( 'good', 'evil', 'neutral'). 'pause_sentence' - storleken på pausen mellan meningar i millisekunder. 'pause_paragraph' - storleken på pausen mellan stycken i millisekunder. 'bitrate'=>48000 - Bitrate från 8000 till 192000 Hz.

Känslor är inte tillgängliga för alla röster, se här.

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

Beskrivning:

"id" - unikt röst-ID "status" - aktuell status för röstning. Tillgänglig från 3 värden: 0 - process 1 - slutförd framgångsrikt -1 - fel "file" - sökväg till ljudfil, tillgänglig om status= 1 "file_cors" - sökväg till ljudfil CORS "error" - feltext, vid fel, om status = -1 "parts" - antal röstningar "parts_done" - antal slutförda delar "duration" - ljudfilens varaktighet i sekunder, tillgänglig om status = 1 "format" - ljudfilens format "balans" - gräns för saldo "cost" - kostnader för röstning. (ökar när röst-delarna dubbas)

Exempel på röstning av kort text 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);

Alternativ 2 är att ställa in en röstningsuppgift för texten.

URL för alternativ 2: https://speechgen.io/index.php?r=api/longtext

Steg 1: Text skickas till API:et och ett unikt röst-ID erhålls (id).
Steg 2:  Begär resultatet av dubbningen genom att skicka dubbnings-ID:t (id).

Denna metod har inga begränsningar och tillåter textdubbing av upp till 1 000 000 tecken. Dubbningen sker i prioritetsordning (först till kvarn) och kan ta från 1 till flera minuter, beroende på textens längd.

Begär format

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

Obligatoriska parametrar:

'token' - 'SekretNyckelIProfilen' 'email' - 'dinMail@gmail.com' 'voice' - 'Röst' 'text' - 'Text'

Valfria parametrar:

'format' - format på resultatfilen, standard = mp3, möjliga värden( 'mp3', 'wav', 'ogg') 'speed' - hastighet, standard 1, (intervall från 0.1 till 2.0) 'pitch'- röstens tonhöjd, standard 0, (intervall från -20 till 20) 'emotion' - känslomässig färgning, standard 'good', möjliga värden ( 'good', 'evil', 'neutral'). 'pause_sentence' - storleken på pausen mellan meningar i millisekunder. 'pause_paragraph' - storleken på pausen mellan stycken i millisekunder. 'bitrate'=>48000 - Bitrate från 8000 till 192000 Hz.

Inte tillgängligt för alla röster, se här.

Svaret kommer i JSON:

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

Beskrivning:

"id" - unikt röst-ID "status" - aktuell status för röstning. Tillgänglig från 2 värden: 1 - uppgift tillagd framgångsrikt -1 - fel "error" - feltext, vid fel, om status = -1 "parts" - antal röstningar "parts_done" - antal slutförda delar "format" - ljudfilens format "balans" - saldot för kontogränser "cost" - kostnader för röstning. (ökar när röst-delarna dubbas)

Steg 2. Efter att ha skapat en uppgift och erhållit ett ID (id), måste en begäran skickas till https://speechgen.io/index.php?r=api/result, för att ta reda på resultatet.

Begär format

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

Obligatoriska parametrar:

'token' - SekretNyckelIProfilen 'email' - dinMail@gmail.com 'id' - Unikt röst-ID erhållet i steg 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" }

Beskrivning:

"id" - unikt röst-ID "status" - aktuell status för röstning. Tillgänglig från 3 värden: 0 - pågår 1 - slutförd framgångsrikt -1 - fel "file" - sökväg till ljudfil, tillgänglig om status = 1 "error" - feltext, vid fel, om status = -1 "parts" - antal röstningar "parts_done" - antal slutförda delar "duration" - ljudfilens varaktighet i sekunder, tillgänglig om status = 1 "format" - ljudfilens format "balans" - saldot för kontogränser "cost" - kostnader för röstning. (ökar när röst-delarna dubbas) "cuts" - Array av fragment, om taggen "cut" används i texten

Exempel på röstning av kort test 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 använder cookies för att säkerställa att du får den bästa upplevelsen på vår webbplats. Läs mer: Sekretesspolicy

Acceptera cookies