12-09-2024 , 12-09-2024
API จะเปิดใช้งานได้เมื่อคุณมียอดเงินในบัญชีเท่านั้น
เสียง JSON API https://speechgen.io/index.php?r=api/voices.
มี 2 ตัวเลือกสำหรับการทำเสียงพากย์จากข้อความผ่าน API:
ตัวเลือก 1 - ทำเสียงพากย์สำหรับข้อความสั้นอย่างรวดเร็ว.
ตัวเลือก 2 - ตั้งค่างานการทำเสียงพากย์.
ค้นพบวิธีสร้างเนื้อหาเสียงอย่างไร้รอยต่อ โดยผสานรวม SpeechGen.io เข้ากับบริการอัตโนมัติ MAKE. คำแนะนำนี้ครอบคลุมกระบวนการการทำเสียงพากย์อัตโนมัติ ทำให้การสร้างเนื้อหาเสียงเป็นเรื่องง่ายและมีประสิทธิภาพมากขึ้นสำหรับการใช้งานหลากหลายรูปแบบ.
URL สำหรับตัวเลือกที่ 1: https://speechgen.io/index.php?r=api/text
ตัวเลือกนี้จำกัดความยาวข้อความไม่เกิน 2,000 ตัวอักษร และมีการเปลี่ยนเสียงสูงสุด 2 ครั้ง หากเกินขีดจำกัดจะเกิดข้อผิดพลาด (status = -1).
$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, ];
'token' - 'SekretKeyInYourProfile' 'email' - 'yourMail@gmail.com' 'voice' - 'Voice' 'text' - 'Text for text to Speech'
'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.
อารมณ์ ไม่สามารถใช้ได้กับทุกเสียง, ดูรายการเสียงที่นี่.
{ "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" }
"id" - unique voice ID "status" - current voiceover status. Available from 3 values: 0 - process 1 - completed successfully -1 - error "file" - audio file path, available if status= 1 "file_cors" - audio file path CORS "error" - error text, in the event of, if status = -1 "parts" - number of voiceovers "parts_done" - number of pieces completed "duration" - audio file duration in seconds, available if status = 1 "format" - audio file format "balans" - limit balance "cost" - voiceover costs. (is increased as the voice parts are dubbed)
$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);
ขั้นตอนที่ 1: ส่งข้อความไปยัง API และรับ ID เสียงเฉพาะ (id).
ขั้นตอนที่ 2: ร้องขอผลโดยการส่ง ID ของงานพากย์ (id).
วิธีนี้ไม่มีข้อจำกัดและสามารถพากย์ข้อความได้สูงสุดถึง 1,000,000 ตัวอักษร การพากย์จะทำตามลำดับความสำคัญ (ใครมาก่อนจะได้รับก่อน) และสามารถใช้เวลาได้ตั้งแต่ 1 นาทีถึงหลายนาที ขึ้นอยู่กับความยาวของข้อความ.
$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, ];
'token' - 'SekretKeyInYourProfile' 'email' - 'yourMail@gmail.com' 'voice' - 'Voice' 'text' - 'Text'
'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.
ไม่สามารถใช้ได้กับทุกเสียง, ดูที่นี่.
{ "id":"4153594", "status":"0", "parts":"5", "parts_done":"0", "format":"mp3", "error":"", "balans":"3331.2720000314", "cost":"0.00" }
"id" - unique voice ID "status" - current voiceover status. Available from 2 values: 1 - task added successfully -1 - error "error" - error text, in case of, if status = -1 "parts" - number of voiceovers "parts_done" - number of pieces completed "format" - audio file format "balans" - the balance of the account limits "cost" - voiceover costs. ( is increased as the voice parts are dubbed)
ขั้นตอนที่ 2. หลังจากสร้างงานและได้รับ ID คุณจะต้องส่งคำขอไปยัง https://speechgen.io/index.php?r=api/result, เพื่อดูผลลัพธ์.
$data = [ 'token'=>'SekretKeyInYourProfile', 'email'=>'yourMail@gmail.com', 'id'=>4153594, ];
'token' - SekretKeyInYourProfile 'email' - yourMail@gmail.com 'id' - Unique voice ID obtained in step 1
{ "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" }
"id" - unique voice ID "status" - current voiceover status. Available from 3 values: 0 - in the midst of 1 - completed successfully -1 - error "file" - audio file path, available if status = 1 "error" - error text, in case of, if status = -1 "parts" - number of voiceovers "parts_done" - number of pieces completed "duration" - audio file duration in seconds, available if status = 1 "format" - audio file format "balans" - the balance of the account limits "cost" - voiceover costs. ( is increased as the voice parts are dubbed) "cuts" - Array of fragments, if the "cut" tag is used in the text
/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); }