Arahan API untuk Text to Speech

, 16-09-2025

API hanya tersedia selepas anda membiayai akaun anda.

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

Terdapat 2 pilihan suara teks yang tersedia melalui API:

1 pilihan - suara pantas untuk teks pendek.
2 pilihan - menetapkan tugasan suara.

Contoh integrasi

Ketahui cara memperkemaskan penciptaan kandungan suara dengan mengintegrasikan SpeechGen.io dengan perkhidmatan automasi MAKE. Panduan ini merangkumi automasi proses text-to-speech, menjadikannya lebih mudah dan cekap untuk menjana kandungan suara untuk pelbagai aplikasi.

1 pilihan - suara pantas untuk teks pendek

Url untuk varian 1: https://speechgen.io/index.php?r=api/text

Teks dihantar ke API, anda mendapat hasil segera.

Pilihan ini mempunyai had maksimum 2000 aksara. Dan juga maksimum 2 perubahan suara. Jika had dilampaui, anda akan mendapat ralat (status = -1).

Format permintaan

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

Parameter wajib:

'token' - 'KunciRahsiaDalamProfilAnda' 'email' - 'melAnda@gmail.com' 'voice' - 'Suara' 'text' - 'Teks untuk Text to Speech'

Parameter pilihan:

'format' - format fail hasil, lalai = mp3, nilai yang mungkin ( 'mp3', 'wav', 'ogg') 'speed' - kelajuan main balik, lalai 1, (julat dari 0.1 hingga 2.0) 'pitch'- nada suara, lalai 0, (julat dari -20 hingga 20) 'emotion' - emosi suara, lalai 'baik', nilai yang mungkin ( 'baik', 'jahat', 'neutral'). 'pause_sentence' - Saiz jeda antara ayat dalam milisaat. 'pause_paragraph' - Saiz jeda antara perenggan dalam milisaat. 'bitrate'=>48000 - Bitrate dari 8000 hingga 192000 Hz.

Emosi Tidak tersedia untuk semua suara, lihat di sini.

Respons datang dalam 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" }

Penerangan:

"id" - id suara unik "status" - status suara semasa. Tersedia daripada 3 nilai: 0 - proses 1 - selesai dengan jayanya -1 - ralat "file" - laluan fail audio, tersedia jika status= 1 "file_cors" - laluan fail audio CORS "error" - teks ralat, sekiranya, jika status = -1 "parts" - bilangan suara "parts_done" - bilangan bahagian yang selesai "duration" - tempoh fail audio dalam saat, tersedia jika status = 1 "format" - format fail audio "balans" - had baki "cost" - kos suara. (ditambah apabila bahagian suara disuarakan)

Contoh suara teks pendek dalam PHP varian 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);

Pilihan 2 ialah menetapkan tugasan suara untuk teks.

Url untuk pilihan 2: https://speechgen.io/index.php?r=api/longtext

Langkah 1: Teks dihantar ke API dan id suara unik diperoleh(id).
Langkah 2:  Minta hasil penyuarahan dengan menghantar pengecam penyuarahan (id).

Kaedah ini tidak mempunyai had dan membenarkan penyuarahan teks sehingga 1,000,000 aksara. Penyuarahan berlaku mengikut keutamaan (siapa cepat dia dapat) dan boleh mengambil masa dari 1 hingga beberapa minit, bergantung pada panjang teks.

Format permintaan

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

Parameter wajib:

'token' - 'KunciRahsiaDalamProfilAnda' 'email' - 'melAnda@gmail.com' 'voice' - 'Suara' 'text' - 'Teks'

Parameter pilihan:

'format' - format fail hasil, lalai = mp3, nilai yang mungkin( 'mp3', 'wav', 'ogg') 'speed' - kelajuan, lalai 1, (julat dari 0.1 hingga 2.0) 'pitch'- nada suara, lalai 0, (julat dari -20 hingga 20) 'emotion' - pewarnaan emosi, lalai 'baik', nilai yang mungkin ( 'baik', 'jahat', 'neutral'). 'pause_sentence' - Saiz jeda antara ayat dalam milisaat. 'pause_paragraph' - Saiz jeda antara perenggan dalam milisaat. 'bitrate'=>48000 - Bitrate dari 8000 hingga 192000 Hz.

Tidak tersedia untuk semua suara, lihat di sini.

Respons datang dalam JSON:

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

Penerangan:

"id" - id suara unik "status" - status suara semasa. Tersedia daripada 2 nilai: 1 - tugasan berjaya ditambah -1 - ralat "error" - teks ralat, sekiranya, jika status = -1 "parts" - bilangan suara "parts_done" - bilangan bahagian yang selesai "format" - format fail audio "balans" - baki had akaun "cost" - kos suara. (ditambah apabila bahagian suara disuarakan)

Langkah 2. Selepas mencipta tugasan dan memperoleh pengecam (id), permintaan mesti dihantar ke https://speechgen.io/index.php?r=api/result, untuk mengetahui hasilnya.

Format permintaan

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

Parameter wajib:

'token' - KunciRahsiaDalamProfilAnda 'email' - melAnda@gmail.com 'id' - ID suara unik yang diperoleh dalam langkah 1

Respons datang dalam 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" }

Penerangan:

"id" - id suara unik "status" - status suara semasa. Tersedia daripada 3 nilai: 0 - sedang berjalan 1 - selesai dengan jayanya -1 - ralat "file" - laluan fail audio, tersedia jika status = 1 "error" - teks ralat, sekiranya, jika status = -1 "parts" - bilangan suara "parts_done" - bilangan bahagian yang selesai "duration" - tempoh fail audio dalam saat, tersedia jika status = 1 "format" - format fail audio "balans" - baki had akaun "cost" - kos suara. (ditambah apabila bahagian suara disuarakan) "cuts" - Siri fragmen, jika tag "potongan" digunakan dalam teks

Contoh suara ujian pendek dalam PHP varian 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); }

Kami menggunakan kuki untuk memastikan anda mendapat pengalaman terbaik di laman web kami. Ketahui lebih lanjut: Dasar Privasi

Terima Kuki