คำแนะนำ API สำหรับแปลงข้อความเป็นเสียง

, 16-09-2025

API จะใช้งานได้หลังจากที่คุณเติมเงินในบัญชีของคุณแล้วเท่านั้น

เสียง JSON API https://speechgen.io/index.php?r=api/voices.

มีตัวเลือกการแปลงข้อความเป็นเสียง 2 แบบผ่าน API:

ตัวเลือกที่ 1 - การแปลงข้อความสั้นๆ เป็นเสียงอย่างรวดเร็ว
ตัวเลือกที่ 2 - การตั้งค่างานแปลงข้อความเป็นเสียง

ตัวอย่างการผสานรวม

ค้นพบวิธีปรับปรุงการสร้างเนื้อหาเสียงด้วยการผสานรวม SpeechGen.io กับบริการอัตโนมัติ MAKE คู่มือนี้ครอบคลุมการทำงานอัตโนมัติของกระบวนการแปลงข้อความเป็นเสียง ทำให้การสร้างเนื้อหาเสียงสำหรับแอปพลิเคชันต่างๆ ง่ายและมีประสิทธิภาพมากขึ้น

ตัวเลือกที่ 1 - การแปลงข้อความสั้นๆ เป็นเสียงอย่างรวดเร็ว

URL สำหรับตัวเลือกที่ 1: https://speechgen.io/index.php?r=api/text

ส่งข้อความไปยัง API คุณจะได้รับผลลัพธ์ทันที

ตัวเลือกนี้มีขีดจำกัดสูงสุด 2000 ตัวอักษร และมีการเปลี่ยนแปลงเสียงสูงสุด 2 ครั้ง หากเกินขีดจำกัด คุณจะได้รับข้อผิดพลาด (สถานะ = -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' - 'เสียง' 'text' - 'ข้อความสำหรับแปลงข้อความเป็นเสียง'

พารามิเตอร์เสริม:

'format' - รูปแบบไฟล์ผลลัพธ์ ค่าเริ่มต้น = mp3 ค่าที่เป็นไปได้ ( 'mp3', 'wav', 'ogg') 'speed' - ความเร็วในการเล่น ค่าเริ่มต้น 1 (ช่วงตั้งแต่ 0.1 ถึง 2.0) 'pitch'- ระดับเสียงของเสียง ค่าเริ่มต้น 0 (ช่วงตั้งแต่ -20 ถึง 20) 'emotion' - อารมณ์ของเสียง ค่าเริ่มต้น 'good' ค่าที่เป็นไปได้ ( 'good', 'evil', 'neutral') 'pause_sentence' - ขนาดของการหยุดระหว่างประโยคเป็นมิลลิวินาที 'pause_paragraph' - ขนาดของการหยุดระหว่างย่อหน้าเป็นมิลลิวินาที 'bitrate'=>48000 - บิตเรตตั้งแต่ 8000 ถึง 192000 Hz

อารมณ์ไม่มีให้สำหรับทุกเสียง ดูที่นี่.

การตอบกลับมาในรูปแบบ 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" }

คำอธิบาย:

"id" - รหัสเสียงที่ไม่ซ้ำกัน "status" - สถานะการแปลงข้อความเป็นเสียงปัจจุบัน มีให้เลือก 3 ค่า: 0 - กำลังดำเนินการ 1 - เสร็จสมบูรณ์แล้ว -1 - ข้อผิดพลาด "file" - เส้นทางไฟล์เสียง มีให้ใช้งานหากสถานะ= 1 "file_cors" - เส้นทางไฟล์เสียง CORS "error" - ข้อความแสดงข้อผิดพลาด ในกรณีที่สถานะ = -1 "parts" - จำนวนการแปลงข้อความเป็นเสียง "parts_done" - จำนวนส่วนที่เสร็จสมบูรณ์ "duration" - ระยะเวลาไฟล์เสียงเป็นวินาที มีให้ใช้งานหากสถานะ = 1 "format" - รูปแบบไฟล์เสียง "balans" - ขีดจำกัดยอดคงเหลือ "cost" - ค่าใช้จ่ายในการแปลงข้อความเป็นเสียง (เพิ่มขึ้นเมื่อมีการพากย์เสียงส่วนต่างๆ)

ตัวอย่างการแปลงข้อความสั้นๆ เป็นเสียงใน PHP ตัวเลือกที่ 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);

ตัวเลือกที่ 2 คือการตั้งค่างานแปลงข้อความเป็นเสียงสำหรับข้อความ

URL สำหรับตัวเลือกที่ 2: https://speechgen.io/index.php?r=api/longtext

ขั้นตอนที่ 1: ส่งข้อความไปยัง API และรับรหัสเสียงที่ไม่ซ้ำกัน (id)
ขั้นตอนที่ 2:  ขอผลลัพธ์การพากย์โดยการส่งตัวระบุการพากย์ (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' - 'เสียง' 'text' - 'ข้อความ'

พารามิเตอร์เสริม:

'format' - รูปแบบไฟล์ผลลัพธ์ ค่าเริ่มต้น = mp3 ค่าที่เป็นไปได้ ('mp3', 'wav', 'ogg') 'speed' - ความเร็ว ค่าเริ่มต้น 1 (ช่วงตั้งแต่ 0.1 ถึง 2.0) 'pitch'- ระดับเสียง ค่าเริ่มต้น 0 (ช่วงตั้งแต่ -20 ถึง 20) 'emotion' - การลงสีเสียง ค่าเริ่มต้น 'good' ค่าที่เป็นไปได้ ('good', 'evil', 'neutral') 'pause_sentence' - ขนาดของการหยุดระหว่างประโยคเป็นมิลลิวินาที 'pause_paragraph' - ขนาดของการหยุดระหว่างย่อหน้าเป็นมิลลิวินาที 'bitrate'=>48000 - บิตเรตตั้งแต่ 8000 ถึง 192000 Hz

ไม่มีให้สำหรับทุกเสียง ดูที่นี่.

การตอบกลับมาในรูปแบบ JSON:

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

คำอธิบาย:

"id" - รหัสเสียงที่ไม่ซ้ำกัน "status" - สถานะการแปลงข้อความเป็นเสียงปัจจุบัน มีให้เลือก 2 ค่า: 1 - เพิ่มงานสำเร็จแล้ว -1 - ข้อผิดพลาด "error" - ข้อความแสดงข้อผิดพลาด ในกรณีที่สถานะ = -1 "parts" - จำนวนการแปลงข้อความเป็นเสียง "parts_done" - จำนวนส่วนที่เสร็จสมบูรณ์ "format" - รูปแบบไฟล์เสียง "balans" - ยอดคงเหลือของขีดจำกัดบัญชี "cost" - ค่าใช้จ่ายในการแปลงข้อความเป็นเสียง (เพิ่มขึ้นเมื่อมีการพากย์เสียงส่วนต่างๆ)

ขั้นตอนที่ 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' - รหัสเสียงที่ไม่ซ้ำกันที่ได้รับในขั้นตอนที่ 1

การตอบกลับมาในรูปแบบ 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" }

คำอธิบาย:

"id" - รหัสเสียงที่ไม่ซ้ำกัน "status" - สถานะการแปลงข้อความเป็นเสียงปัจจุบัน มีให้เลือก 3 ค่า: 0 - กำลังดำเนินการ 1 - เสร็จสมบูรณ์แล้ว -1 - ข้อผิดพลาด "file" - เส้นทางไฟล์เสียง มีให้ใช้งานหากสถานะ = 1 "error" - ข้อความแสดงข้อผิดพลาด ในกรณีที่สถานะ = -1 "parts" - จำนวนการแปลงข้อความเป็นเสียง "parts_done" - จำนวนส่วนที่เสร็จสมบูรณ์ "duration" - ระยะเวลาไฟล์เสียงเป็นวินาที มีให้ใช้งานหากสถานะ = 1 "format" - รูปแบบไฟล์เสียง "balans" - ยอดคงเหลือของขีดจำกัดบัญชี "cost" - ค่าใช้จ่ายในการแปลงข้อความเป็นเสียง (เพิ่มขึ้นเมื่อมีการพากย์เสียงส่วนต่างๆ) "cuts" - อาร์เรย์ของส่วนต่างๆ หากใช้แท็ก "cut" ในข้อความ

ตัวอย่างการแปลงข้อความสั้นๆ เป็นเสียงใน PHP ตัวเลือกที่ 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); }

เรามีการใช้คุกกี้ เพื่อให้คุณได้รับประสบการณ์การใช้งานเว็บไซต์ที่ดีที่สุด ดูรายละเอียดเพิ่มเติม: นโยบายความเป็นส่วนตัว

ยอมรับคุกกี้