SpaceXAI: Grok Voice TTS 1.0
Grok Text to Speech เปลี่ยนข้อความเขียนเป็นเสียงที่ถ่ายทอดอารมณ์ ด้วยเสียงที่เลือกได้ คำบอกการแสดงภายในข้อความ และโคเดกเอาต์พุตหลายแบบ ตระกูลของผู้พัฒนาตามเอกสารรองรับเสียงแบบเต็มและสตรีม พร้อมตัวเลือกข้อมูลเวลาระดับอักขระ
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
Grok Text to Speech เป็นความสามารถแปลงข้อความเป็นเสียงของตระกูลเสียง Grok ผู้ผลิตระบุผู้พูดในตัวที่ถ่ายทอดอารมณ์ คำบอกการใช้เสียงภายในข้อความ และรูปแบบเอาต์พุตที่เหมาะกับการเล่นสื่อหรือเสียงโทรศัพท์ อินพุตคือข้อความที่จะพูด พร้อมตัวเลือกเสียงและภาษา เสียงบันทึกที่ได้เป็นคำพูดจากข้อความนั้น ส่วนโมเดลรู้จำเสียงและโมเดลแปลงเสียงเป็นเสียงแบบสนทนามีงานแยกกัน
เสียง ภาษา และข้อความที่จะพูด
รายการของผู้พัฒนาระบุลักษณะการถ่ายทอดของแต่ละเสียง Ara อบอุ่นและเป็นมิตร Eve ร่าเริงพร้อมสำเนียงอังกฤษ และ Rex ถูกอธิบายว่าชัดเจนและมั่นใจ ในตระกูลตามเอกสาร เสียงกับภาษาเป็นอิสระต่อกัน ผู้พูดในตัวใช้แต่ละตัวเลือกภาษาที่รองรับได้ คู่มือระบุตัวเลือกรหัสภาษายี่สิบรายการ รวมรูปแบบภูมิภาค และรองรับการตรวจภาษาอัตโนมัติด้วย นอกจากผู้พูดในตัว ผู้พัฒนายังระบุเสียงกำหนดเองที่สร้างจากเสียงบันทึกอ้างอิงแล้วใช้ซ้ำได้ โดยเลือกผ่าน voice_id สำหรับการสังเคราะห์แบบเต็มหรือสตรีม เสียงอ้างอิงยาวได้สูงสุด 120 วินาที แนะนำคำพูดสะอาดจากผู้พูดคนเดียวยาว 90–120 วินาทีเพื่อเก็บวิธีถ่ายทอดและน้ำเสียง เก็บเสียงอ้างอิง โปรไฟล์เสียงที่สร้าง และเสียงบันทึกที่สร้างเป็นผลงานคนละชิ้น และให้การแสดงในเสียงอ้างอิงตรงกับบทที่ต้องการ
เตรียมถ้อยคำสุดท้ายที่จะพูด โดยรักษาภาษาตามตั้งใจของชื่อและย่อหน้าที่ยกมา สำหรับคู่มือบรรยาย ตัวอย่างประโยคคือ “เลือกหัวข้อ ฟังบทนำสั้น ๆ แล้วเปิดส่วนที่ต้องการสำรวจ” หากชื่อแบรนด์หรือศัพท์เฉพาะต้องอ่านแบบใดแบบหนึ่ง ตัวควบคุมการแทนที่ของผู้ผลิตให้การสะกดใหม่หรือการออกเสียง IPA ได้โดยไม่เปลี่ยนข้อความต้นทางที่แสดง ตัวเลือกปรับรูปแบบข้อความอีกส่วนเปลี่ยนตัวเลข คำย่อ และสัญลักษณ์ที่เขียนให้เข้าใกล้รูปที่จะพูด
คำบอกการแสดง
แท็กภายในข้อความวางเหตุการณ์ ณ จุดหนึ่ง เช่น หยุด หัวเราะ ถอนหายใจ หรือหายใจ ส่วนแท็กที่ครอบข้อความใช้วิธีถ่ายทอดกับวลีทั้งวลี เช่น กระซิบ เน้น หรือพูดช้าลง วางคำบอกตรงจุดที่ความหมายต้องการและรักษาคำให้อ่านง่าย คู่มือแนะนำการกำหนดสไตล์ครอบวลีที่สมบูรณ์และใช้เครื่องหมายวรรคตอน แทนการซ้อนแท็กที่ไม่เกี่ยวกัน
สำหรับบทตัวละครที่ถ่ายทอดอารมณ์ ให้เตรียมประโยคพูดและจุดเปลี่ยนการแสดงร่วมกัน สำหรับคำอธิบาย ให้รักษาจังหวะชัดเจนที่ช่วยผู้ฟังตามขั้นตอน ช่วงอัตราการพูดตามเอกสารคือ 0.7 ถึง 1.5 โดย 1.0 คือการถ่ายทอดปกติ การเลือกความเร็วเปลี่ยนจังหวะการพูด ไม่ได้เปลี่ยนคำที่แอปพลิเคชันควรสื่อสาร
เสียงและข้อมูลเวลา
ผู้พัฒนาระบุเอาต์พุต MP3, WAV, PCM ดิบ, mu-law และ A-law ตัวเลือกอัตราสุ่มตัวอย่างที่รองรับครอบคลุม 8 kHz ถึง 48 kHz โดยมีค่าเฉพาะระหว่างนั้นตามรายการ การตั้งค่า MP3 เริ่มต้นคือ 24 kHz ที่ 128 kbit/s ใช้รูปแบบแทนเสียงที่เครื่องเล่น ขั้นแก้ไข หรือเส้นทางโทรศัพท์ปลายทางตีความได้
ข้อมูลเวลาระดับอักขระที่เลือกใช้ได้เชื่อมลำดับอักขระที่คืนมากับเวลาเริ่มและจบ หากไม่มีการแทนที่การออกเสียง ลำดับนั้นตรงกับอินพุต การแทนที่อาจเปลี่ยนเป็นข้อความที่พูดจริง ข้อมูลนี้ใช้กับการแสดงให้อ่านตาม การไฮไลต์ หรือการจัดแนวกับการแสดงภาพได้ ในเวิร์กโฟลว์คำตอบแบบเต็ม การขอข้อมูลเวลาจะเปลี่ยนเอาต์พุตเป็นโครงสร้างห่อหุ้มข้อมูลที่มีเสียงเข้ารหัสและข้อมูลเวลา ให้ถือข้อมูลเวลากับเสียงเป็นผลลัพธ์คู่กัน โดยเฉพาะเมื่อการปรับรูปแบบข้อความขยายสัญลักษณ์ที่เขียนหนึ่งตัวเป็นคำพูดหลายคำ
การสร้างแบบเต็มหรือสตรีม
ผู้ผลิตมีเส้นทางคำขอแบบเต็มและสตรีมมิงสองทาง โดยชิ้นข้อความส่งเข้ามาและชังก์เสียงส่งกลับระหว่างสร้างคำพูด เอกสารระบุขีดจำกัด 60,000 อักขระสำหรับคำขอเต็มและสำหรับชิ้นข้อความแต่ละชิ้นที่สตรีม การจบหรือเคลียร์ชุดคำพูดมีบทบาทชัดเจนในเวิร์กโฟลว์สตรีมมิง
สำหรับการบรรยายยาว ให้เลือกขอบเขตย่อหน้าที่ต่อเนื่องและเก็บบทกับแต่ละผลลัพธ์ สำหรับการเล่นเชิงโต้ตอบ ให้แยกข้อความที่ส่งไปสังเคราะห์จากเสียงที่ผู้ฟังได้ยินแล้ว ผลงานที่มีประโยชน์คือบทที่ถ่ายทอดเป็นเสียง พร้อมคำบอกการแสดงอย่างตั้งใจ รูปแบบเสียงเหมาะสม และข้อมูลเวลาเมื่อแอปพลิเคชันต้องใช้ เก็บบท เสียงที่เลือก คำบอกการแสดง และการตั้งค่าเอาต์พุตคู่กับเสียง เพื่อให้การแก้ภายหลังรักษาวิธีถ่ายทอดตามตั้งใจ
Ailoot Ultra · การสังเคราะห์เสียงพูด POST /v1/audio/speech x-ai/grok-voice-tts-1.0
x-ai/grok-voice-tts-1.0เริ่มต้น
Grok Text to Speech เปลี่ยนข้อความเขียนเป็นเสียงที่ถ่ายทอดอารมณ์ ด้วยเสียงที่เลือกได้ คำบอกการแสดงภายในข้อความ และโคเดกเอาต์พุตหลายแบบ ตระกูลของผู้พัฒนาตามเอกสารรองรับเสียงแบบเต็มและสตรีม พร้อมตัวเลือกข้อมูลเวลาระดับอักขระ
- อินพุตที่รองรับ
- ข้อความ
- ผลลัพธ์
- เสียง
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · การสังเคราะห์เสียงพูด POST /v1/audio/speech
- ขาเข้า
text- ขาออก
audio- รูปแบบเอาต์พุต
- mp3
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด x-ai/grok-voice-tts-1.0 | ค่าเริ่มต้น— |
ฟิลด์input | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด ความยาวขั้นต่ำ: 1 ความยาวสูงสุด: 15,000 หน่วย: อักขระ Unicode | ค่าเริ่มต้น— |
ฟิลด์voice | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด eve, ara, rex, sal, leo | ค่าเริ่มต้น— |
ฟิลด์response_format | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด mp3 | ค่าเริ่มต้น— |
ชุดผสมของสื่ออินพุต
text_to_speech · จำเป็น: input
พารามิเตอร์และวงจรการทำงานของเมธอด
| พารามิเตอร์ | ข้อกำหนด |
|---|---|
พารามิเตอร์content_type | ข้อกำหนดapplication/json |
พารามิเตอร์required | ข้อกำหนดmodel, input, voice, response_format |
พารามิเตอร์voice_ids | ข้อกำหนดeve, ara, rex, sal, leo |
พารามิเตอร์response_format | ข้อกำหนดmp3 |
พารามิเตอร์max_input_characters | ข้อกำหนด15000 |
พารามิเตอร์other_options | ข้อกำหนดfalse |
พารามิเตอร์input | ข้อกำหนดข้อความ UTF-8 ที่ตรงตามต้นฉบับ นับอักขระ Unicode โดยไม่ปรับรูปแบบมาตรฐาน |
พารามิเตอร์material_types | ข้อกำหนดtext |
วงจรการทำงาน: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · ค่า task_id ที่ส่งกลับมาจริง หรือระเบียนในคลังสื่อ
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
เลือกเสียงที่ตรงตามโปรไฟล์ของโมเดลนี้
อักขระขาเข้าและวินาทีเสียงเป็นหน่วยวัดคนละแบบ
ราคา
ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก
- โหมดรวดเร็ว
- ไม่ได้ระบุ เมื่อเลือกโหมดรวดเร็ว
- โหมดยืดหยุ่น
- ไม่ได้ระบุ เมื่อเลือกโหมด flex
- ระดับการใช้เหตุผลสูงสุด
- ไม่ได้ระบุ เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด
อัตราค่าบริการ Ailoot
ราคาตามการตั้งค่า
เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน
| การตั้งค่า | ตารางอัตราค่าบริการ | ปริมาณที่ใช้คิดค่าบริการ | หน่วยคิดค่าบริการ | ค่าบริการ |
|---|---|---|---|---|
| การตั้งค่าอัตราค่าบริการโทเคนพื้นฐาน | ตารางอัตราค่าบริการอัตราพื้นฐาน | ปริมาณที่ใช้คิดค่าบริการ— | หน่วยคิดค่าบริการ— | ค่าบริการ ขาเข้า · โทเค็นอินพุต — / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต — / 1K โทเค็น ขาเข้า · การอ่านแคช — / 1K โทเค็น ขาเข้า · การเขียนแคช — / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง — / 1K โทเค็น |
| การตั้งค่าUltra | ตารางอัตราค่าบริการ— | ปริมาณที่ใช้คิดค่าบริการนับแต่ละโค้ดพอยต์ Unicode เป็นหนึ่งอักขระ รวมถึงอักษรฮั่น | หน่วยคิดค่าบริการต่ออักขระอินพุต 1K ตัว | ค่าบริการ ขาเข้า · อักขระขาเข้า $0.03 ต่ออักขระอินพุต 1K ตัว |
รายละเอียดอัตราอ้างอิง
ตารางอัตราอ้างอิงระดับโมเดลไม่เปลี่ยนเมธอดที่เลือก ยอดประมาณการ หรือค่าบริการ การคิดค่าบริการจริงใช้อัตราของเมธอด Ailoot ที่เลือก
SpaceXAI: Grok Voice TTS 1.0
ราคาตามการตั้งค่า
| การตั้งค่า | เงื่อนไขคิดค่าบริการ | ค่าบริการ |
|---|---|---|
| การตั้งค่าSpaceXAI: Grok Voice TTS 1.0 · การตั้งค่าเริ่มต้น | เงื่อนไขคิดค่าบริการการตั้งค่าเริ่มต้น | ค่าบริการ ขาเข้า · อักขระอินพุต US$0.00003 ต่ออักขระอินพุต |
Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →
ตัวอย่างคำขอ
Ailoot Ultra · การสังเคราะห์เสียงพูด
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}"
export AILOOT_VOICE_ID
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "x-ai/grok-voice-tts-1.0", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["eve", "ara", "rex", "sal", "leo"]')
if voice not in allowed: raise SystemExit("Choose an accepted voice ID from this exact model profile")
p["voice"]=voice
p["response_format"]="mp3"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o speech.mp3
รับและบันทึกผลลัพธ์
Ailoot Ultra · การสังเคราะห์เสียงพูด
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
การอ่านเนื้อหาแบบอื่น
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-assets.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_MEDIA_TASK_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_MEDIA_TASK_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/tasks/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-task.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-task.json").read_text())))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_ASSET_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_ASSET_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/assets/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-asset.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-asset.json").read_text())))
PY_RESULT
เก็บผลลัพธ์ที่เสร็จสมบูรณ์ทั้งหมด
เก็บทุกการตอบกลับ ไฟล์ และส่วนเนื้อหาที่ส่งกลับมาอย่างครบถ้วน
เก็บผลลัพธ์ไบนารีและส่วนหัวให้ครบถ้วน หากได้รับ JSON/ผลลัพธ์หลายรายการ ให้เก็บข้อมูลทุกรายการและดึงไฟล์สื่อจาก URL แบบลงนามทุกรายการที่ได้รับจริง
เมื่อต้องตรวจสอบการตอบกลับต้นฉบับ
เก็บ operation_id/X-Client-Request-ID เดิมไว้เพื่อกระทบยอดโดยไม่ส่งคำขอซ้ำ ไม่มีเส้นทางเฉพาะสำหรับตรวจสอบสถานะงานเสียงเป็นระยะ
ฟิลด์การตอบกลับ
| ฟิลด์ | ประเภท |
|---|---|
ฟิลด์binary audio | ประเภทbytes |
ฟิลด์response headers | ประเภทheaders |
ข้อผิดพลาดและขั้นตอนถัดไป
| การตอบกลับ | เงื่อนไข | ขั้นตอนถัดไป |
|---|---|---|
การตอบกลับ400 · invalid_request_error | เงื่อนไขฟิลด์จำเป็น รูปแบบการแทนข้อมูล หรือค่าพารามิเตอร์ไม่ถูกต้อง | ขั้นตอนถัดไปแก้ฟิลด์ที่ระบุก่อนส่งคำขอสร้างครั้งใหม่ |
การตอบกลับserver_error | เงื่อนไขการตอบกลับที่ได้รับระบุว่าต้องตรวจสอบการดำเนินการหรือผลลัพธ์ | ขั้นตอนถัดไปเก็บ ID การดำเนินการ/งานที่ส่งกลับมาแต่เดิม ส่วนหัวของคำขอ และการตอบกลับไว้ แล้วอ่านข้อมูลการดำเนินการเดิมนั้นต่อด้วยวิธีที่รองรับ ห้ามส่งคำขอสร้างซ้ำ |
ชื่ออื่น
ชื่ออื่นของโมเดล
Ailoot Ultra x-ai/grok-voice-tts-1.0
ชื่อพาธเมธอดอื่น
ใช้พาธเมธอดที่แสดงด้านบน
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · SpaceXAI: Grok Voice TTS 1.0
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/audio/speech·x-ai/grok-voice-tts-1.0:text→audio- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/audio/speech·x-ai/grok-voice-tts-1.0:model,input,voice,response_format- มีข้อจำกัดใดบ้าง?
POST /v1/audio/speech·x-ai/grok-voice-tts-1.0:input.maximum_length:15000