Instruksi API untuk Text to Speech

, 16-09-2025

API hanya tersedia setelah Anda mengisi saldo akun.

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

Ada 2 pilihan sulih suara teks yang tersedia melalui API:

Opsi 1 - sulih suara cepat untuk teks pendek.
Opsi 2 - mengatur tugas sulih suara.

Contoh Integrasi

Temukan cara menyederhanakan pembuatan konten suara dengan mengintegrasikan SpeechGen.io dengan layanan otomatisasi MAKE. Panduan ini mencakup otomatisasi proses text-to-speech, membuatnya lebih mudah dan efisien untuk menghasilkan konten suara untuk berbagai aplikasi.

Opsi 1 - sulih suara cepat untuk teks pendek

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

Teks dikirim ke API, Anda mendapatkan hasil langsung.

Opsi ini memiliki batas maksimum 2000 karakter. Dan juga maksimum 2 perubahan suara. Jika batas terlampaui, Anda akan mendapatkan kesalahan (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' - 'SekretKeyDiProfilAnda' 'email' - 'emailAnda@gmail.com' 'voice' - 'Suara' 'text' - 'Teks untuk Text to Speech'

Parameter Opsional:

'format' - format file hasil, default = mp3, nilai yang mungkin ( 'mp3', 'wav', 'ogg') 'speed' - kecepatan pemutaran, default 1, (rentang dari 0.1 hingga 2.0) 'pitch'- nada suara, default 0, (rentang dari -20 hingga 20) 'emotion' - emosi suara, default 'good', nilai yang mungkin ( 'good', 'evil', 'neutral'). 'pause_sentence' - Ukuran jeda antar kalimat dalam milidetik. 'pause_paragraph' - Ukuran jeda antar paragraf dalam milidetik. 'bitrate'=>48000 - Bitrate dari 8000 hingga 192000 Hz.

Emosi Tidak tersedia untuk semua suara, lihat di sini.

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

Deskripsi:

"id" - ID suara unik "status" - status sulih suara saat ini. Tersedia dari 3 nilai: 0 - proses 1 - selesai dengan sukses -1 - kesalahan "file" - jalur file audio, tersedia jika status= 1 "file_cors" - jalur file audio CORS "error" - teks kesalahan, jika terjadi, jika status = -1 "parts" - jumlah sulih suara "parts_done" - jumlah bagian yang selesai "duration" - durasi file audio dalam detik, tersedia jika status = 1 "format" - format file audio "balans" - batas saldo "cost" - biaya sulih suara. (bertambah seiring dubbing bagian suara)

Contoh sulih 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);

Opsi 2 adalah mengatur tugas sulih suara untuk teks.

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

Langkah 1: Teks dikirim ke API dan ID suara unik diperoleh (id).
Langkah 2:  Minta hasil dubbing dengan mengirimkan pengenal dubbing (id).

Metode ini tidak memiliki batasan dan memungkinkan dubbing teks hingga 1.000.000 karakter. Dubbing dilakukan berdasarkan urutan prioritas (siapa cepat dia dapat) dan dapat memakan waktu dari 1 hingga beberapa menit, tergantung 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' - 'SekretKeyDiProfilAnda' 'email' - 'emailAnda@gmail.com' 'voice' - 'Suara' 'text' - 'Teks'

Parameter Opsional:

'format' - format file hasil, default = mp3, nilai yang mungkin( 'mp3', 'wav', 'ogg') 'speed' - kecepatan, default 1, (rentang dari 0.1 hingga 2.0) 'pitch'- nada suara, default 0, (rentang dari -20 hingga 20) 'emotion' - pewarnaan emosional, default 'good', nilai yang mungkin ( 'good', 'evil', 'neutral'). 'pause_sentence' - Ukuran jeda antar kalimat dalam milidetik. 'pause_paragraph' - Ukuran jeda antar paragraf dalam milidetik. 'bitrate'=>48000 - Bitrate dari 8000 hingga 192000 Hz.

Tidak tersedia untuk semua suara, lihat di sini.

Respons datang dalam format JSON:

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

Deskripsi:

"id" - ID suara unik "status" - status sulih suara saat ini. Tersedia dari 2 nilai: 1 - tugas berhasil ditambahkan -1 - kesalahan "error" - teks kesalahan, jika terjadi, jika status = -1 "parts" - jumlah sulih suara "parts_done" - jumlah bagian yang selesai "format" - format file audio "balans" - saldo batas akun "cost" - biaya sulih suara. (bertambah seiring dubbing bagian suara)

Langkah 2. Setelah membuat tugas dan mendapatkan pengenal (id), permintaan harus dikirim 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' - SekretKeyDiProfilAnda 'email' - emailAnda@gmail.com 'id' - ID suara unik yang diperoleh pada langkah 1

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

Deskripsi:

"id" - ID suara unik "status" - status sulih suara saat ini. Tersedia dari 3 nilai: 0 - sedang berlangsung 1 - selesai dengan sukses -1 - kesalahan "file" - jalur file audio, tersedia jika status = 1 "error" - teks kesalahan, jika terjadi, jika status = -1 "parts" - jumlah sulih suara "parts_done" - jumlah bagian yang selesai "duration" - durasi file audio dalam detik, tersedia jika status = 1 "format" - format file audio "balans" - batas saldo akun "cost" - biaya sulih suara. (bertambah seiring dubbing bagian suara) "cuts" - Array fragmen, jika tag "cut" digunakan dalam teks

Contoh sulih suara teks 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 cookie untuk memastikan Anda mendapatkan pengalaman terbaik di situs web kami. Pelajari lebih lanjut: Kebijakan Privasi

Terima Cookies