Deepgram: Flux TTS
Deepgram Flux TTS เปลี่ยนข้อความภาษาอังกฤษเป็นเสียงสนทนา โดยรักษาโทนข้ามรอบการพูด โหมดสตรีมมิงจัดการการพูดแทรก ส่วนการสังเคราะห์แบบแบตช์สร้างเสียงที่นำกลับมาใช้ได้ด้วยชุดเสียงผู้พูดเดียวกัน
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
Flux TTS เป็นตระกูลแปลงข้อความเป็นเสียงของ Deepgram สำหรับการสนทนาสดและเนื้อหาพูดที่กำหนดไว้ จุดเด่นคือความต่อเนื่องของบทสนทนา โมเดลสตรีมมิงรักษาทำนองเสียงข้ามรอบการพูด จึงคงโทนที่สม่ำเสมอได้เมื่อการโต้ตอบดำเนินต่อไป โมเดลรับข้อความที่เขียนไว้และคืนเสียงพูด Flux TTS และโมเดลรู้จำเสียงอีกตัวที่ชื่อ Flux ทำหน้าที่คนละส่วนในการสนทนาด้วยเสียง
เลือกเสียงภาษาอังกฤษ
รายการเสียง Flux ตามเอกสารใช้ภาษาอังกฤษ โดยมีสำเนียงอเมริกัน อังกฤษ ไอริช ออสเตรเลีย อินเดีย สิงคโปร์ และฟิลิปปินส์ คำอธิบายเสียงช่วยเลือกผู้พูดสำหรับบริการลูกค้า เมนูโทรศัพท์ การบรรยาย หรือการสนทนาแบบสบาย ๆ เช่น ผู้ผลิตระบุ Haley เป็นเสียงอเมริกันที่สงบ และ Jack เป็นเสียงอังกฤษแบบมืออาชีพ เลือกเสียงตามผู้ฟังและลักษณะข้อความที่จะอ่าน แล้วใช้ให้คงเส้นคงวาตลอดชิ้นงานหรือบทสนทนา หากต้องการเสียงภาษาอื่น ต้องเลือกโมเดลที่มีเอกสารรองรับแยกต่างหาก
รอบสนทนาสดและการพูดแทรก
ในเวิร์กโฟลว์สตรีมมิงของผู้ผลิต ข้อความส่งเข้ามาได้ขณะที่แอปพลิเคชันกำลังเรียบเรียงคำตอบ และเสียงจะทยอยส่งกลับ แต่ละรอบการพูดมีเหตุการณ์เริ่มต้นและเสร็จสิ้นของตัวเอง การจบรอบทำให้การสังเคราะห์ที่เหลือเสร็จสมบูรณ์ บริบทข้ามรอบรักษาทำนองเสียงไว้ภายในเซสชันนั้น เหมาะกับผู้ช่วยเสียงที่อธิบายตัวเลือกก่อน แล้วตอบคำถามเพิ่มเติมโดยไม่เปลี่ยนบุคลิกเสียง
การพูดแทรกยกเลิกรอบที่กำลังทำงาน และคืนส่วนที่พูดแล้วพร้อมข้อความที่ยังเหลือ ความแตกต่างนี้ช่วยให้แอปพลิเคชันดำเนินต่อจากสิ่งที่ผู้ฟังได้ยินจริง ในการโต้ตอบที่ใช้งานได้ ควรเตรียมคำตอบสั้น ๆ โดยให้คำแนะนำสำคัญมาก่อน แล้วตามด้วยคำอธิบาย หากผู้ฟังพูดแทรกหลังคำแนะนำแรก คำตอบถัดไปก็สามารถตอบคำถามใหม่ได้ แทนการสมมติว่าคำอธิบายทั้งหมดถูกส่งถึงแล้ว
เสียงที่กำหนดไว้และรูปแบบเอาต์พุต
การสังเคราะห์แบบแบตช์รับข้อความทั้งบล็อกที่สมบูรณ์และคืนเสียงในคำตอบเดียว ใช้รายการเสียงเดียวกับสตรีมมิง เหมาะกับข้อความโทรศัพท์ที่บันทึกไว้ การแจ้งเตือน หรือเสียงบรรยายที่เตรียมล่วงหน้า คำขอแบบแบตช์เป็นอิสระจากกัน สถานะรอบสนทนาและเหตุการณ์พูดแทรกของสตรีมมิงไม่ใช้กับคลิปที่กำหนดไว้
เอาต์พุตสตรีมมิงเป็นเสียงดิบที่ไม่มีคอนเทนเนอร์ไฟล์ ได้แก่ PCM 16 บิต, mu-law หรือ A-law ผู้ผลิตระบุอัตราสุ่มตัวอย่าง PCM ที่ 8, 16, 24, 32, 44.1 และ 48 kHz ส่วน mu-law กับ A-law ใช้ 8 หรือ 16 kHz เอาต์พุตแบบแบตช์รองรับ MP3, Opus, FLAC และ AAC เพิ่มด้วย เลือกการเข้ารหัสและคอนเทนเนอร์ที่เครื่องเล่นหรือเส้นทางโทรศัพท์ปลายทางตีความได้ แทนการถือว่าสตรีมตัวอย่างเสียงดิบเป็นไฟล์เสียงทั่วไป
การควบคุมการถ่ายทอดและขอบเขต
ผู้ผลิตระบุช่วงอัตราการพูด 0.5 ถึง 1.5 โดยปรับทีละ 0.05 การเปลี่ยนความเร็วในสตรีมมิงมีผลตรงขอบเขตเซกเมนต์ ส่วนตัวควบคุมการแสดงออกที่ยังเป็นเบต้าแยกต่างหากปรับการถ่ายทอดจากสงบไปถึงมีชีวิตชีวา SSML ทั่วไปและแท็กของคู่แข่งที่ระบบรู้จักจะถูกตัดออก ไม่ได้นำมาใช้เป็นคำสั่งแสดงอารมณ์ การควบคุมเฉพาะของ Flux มีความหมายของตัวเอง
การเว้นจังหวะภายในข้อความเป็นของการสังเคราะห์แบบแบตช์ ระยะเวลาอยู่ที่ 500–3,000 ms ปรับทีละ 100 ms และใช้ตัวระบุได้สูงสุดแปดตำแหน่งต่อคำขอ ต้องมีข้อความคั่นระหว่างช่วงหยุดที่อยู่ติดกัน และเมื่อมีช่วงหยุด ความเร็วจะถูกจำกัดไว้ที่ 1.15 การกำหนดการออกเสียงทับใช้ IPA และอยู่ในช่วง Early Access ผู้ผลิตระบุว่าการออกเสียงที่ร้องขออาจเปลี่ยนระหว่างการสร้างแต่ละครั้ง การออกเสียงนี้ใช้ร่วมกับความเร็วที่ไม่ใช่ค่าเริ่มต้นหรือการควบคุมช่วงหยุดไม่ได้ สำหรับบทที่มีชื่อเฉพาะทาง ให้ฟังคำเหล่านั้นด้วยเสียงที่เลือกและกำหนดข้อความที่จะพูดให้ชัดเจน
เซสชันสตรีมมิงตามเอกสาร Deepgram ใช้ได้สูงสุดหนึ่งชั่วโมง และจะปิดเมื่อไม่มีข้อความขาเข้าเป็นเวลาหกสิบวินาที เว้นแต่จะคงการเชื่อมต่อให้ทำงานด้วยกลไกที่รองรับ ขีดจำกัดเซสชันเหล่านี้เกี่ยวกับเวิร์กโฟลว์สังเคราะห์สด ผลลัพธ์ที่มีประโยชน์คือเสียงผู้พูดที่เลือกอย่างตั้งใจ ข้อความที่ฟังเข้าใจง่าย และเสียงที่เหมาะกับปลายทาง โดยแอปพลิเคชันสดต้องติดตามสิ่งที่พูดไปจริงเมื่อรอบการพูดถูกขัดจังหวะ
Ailoot Ultra · การสังเคราะห์เสียงพูด POST /v1/audio/speech deepgram/flux-tts
deepgram/flux-ttsเริ่มต้น
Deepgram Flux TTS เปลี่ยนข้อความภาษาอังกฤษเป็นเสียงสนทนา โดยรักษาโทนข้ามรอบการพูด โหมดสตรีมมิงจัดการการพูดแทรก ส่วนการสังเคราะห์แบบแบตช์สร้างเสียงที่นำกลับมาใช้ได้ด้วยชุดเสียงผู้พูดเดียวกัน
- อินพุตที่รองรับ
- ข้อความ
- ผลลัพธ์
- เสียง
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · การสังเคราะห์เสียงพูด POST /v1/audio/speech
- ขาเข้า
text- ขาออก
audio- รูปแบบเอาต์พุต
- mp3
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด deepgram/flux-tts | ค่าเริ่มต้น— |
ฟิลด์input | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด ความยาวขั้นต่ำ: 1 หน่วย: อักขระ Unicode | ค่าเริ่มต้น— |
ฟิลด์voice | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด flux-alexis-en, flux-bree-en, flux-brittany-en, flux-brooke-en, flux-bruce-en, flux-cliff-en, flux-cole-en, flux-colin-en, flux-conor-en, flux-donovan-en, flux-drew-en, flux-elise-en, flux-gemma-en, flux-haley-en, flux-hannah-en, flux-heather-en, flux-jack-en, flux-kai-en, flux-kelsey-en, flux-kit-en, flux-maeve-en, flux-marcelo-en, flux-marcus-en, flux-meena-en, flux-meghan-en, flux-miles-en, flux-naveen-en, flux-paige-en, flux-priya-en, flux-rufus-en, flux-sean-en, flux-sharon-en, flux-sienna-en, flux-tanner-en, flux-wade-en, flux-wes-en | ค่าเริ่มต้น— |
ฟิลด์response_format | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด mp3 | ค่าเริ่มต้น— |
ชุดผสมของสื่ออินพุต
text_to_speech · จำเป็น: input
พารามิเตอร์และวงจรการทำงานของเมธอด
| พารามิเตอร์ | ข้อกำหนด |
|---|---|
พารามิเตอร์content_type | ข้อกำหนดapplication/json |
พารามิเตอร์required | ข้อกำหนดmodel, input, voice, response_format |
พารามิเตอร์voice_ids | ข้อกำหนดflux-alexis-en, flux-bree-en, flux-brittany-en, flux-brooke-en, flux-bruce-en, flux-cliff-en, flux-cole-en, flux-colin-en, flux-conor-en, flux-donovan-en, flux-drew-en, flux-elise-en, flux-gemma-en, flux-haley-en, flux-hannah-en, flux-heather-en, flux-jack-en, flux-kai-en, flux-kelsey-en, flux-kit-en, flux-maeve-en, flux-marcelo-en, flux-marcus-en, flux-meena-en, flux-meghan-en, flux-miles-en, flux-naveen-en, flux-paige-en, flux-priya-en, flux-rufus-en, flux-sean-en, flux-sharon-en, flux-sienna-en, flux-tanner-en, flux-wade-en, flux-wes-en |
พารามิเตอร์response_format | ข้อกำหนดmp3 |
พารามิเตอร์max_input_characters | ข้อกำหนดnull |
พารามิเตอร์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 โทเค็น |
| การตั้งค่าอักขระขาเข้า | ตารางอัตราค่าบริการ— | หน่วยคิดค่าบริการต่ออักขระอินพุต | ค่าบริการ ขาเข้า · อักขระขาเข้า $0.00009 ต่ออักขระอินพุต |
รายละเอียดอัตราอ้างอิง
ตารางอัตราอ้างอิงระดับโมเดลไม่เปลี่ยนเมธอดที่เลือก ยอดประมาณการ หรือค่าบริการ การคิดค่าบริการจริงใช้อัตราของเมธอด Ailoot ที่เลือก
Deepgram: Flux TTS
ราคาตามการตั้งค่า
| การตั้งค่า | เงื่อนไขคิดค่าบริการ | ค่าบริการ |
|---|---|---|
| การตั้งค่าDeepgram: Flux TTS · การตั้งค่าเริ่มต้น | เงื่อนไขคิดค่าบริการการตั้งค่าเริ่มต้น | ค่าบริการ ขาเข้า · อักขระอินพุต US$0.00009 ต่ออักขระอินพุต |
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": "deepgram/flux-tts", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["flux-alexis-en", "flux-bree-en", "flux-brittany-en", "flux-brooke-en", "flux-bruce-en", "flux-cliff-en", "flux-cole-en", "flux-colin-en", "flux-conor-en", "flux-donovan-en", "flux-drew-en", "flux-elise-en", "flux-gemma-en", "flux-haley-en", "flux-hannah-en", "flux-heather-en", "flux-jack-en", "flux-kai-en", "flux-kelsey-en", "flux-kit-en", "flux-maeve-en", "flux-marcelo-en", "flux-marcus-en", "flux-meena-en", "flux-meghan-en", "flux-miles-en", "flux-naveen-en", "flux-paige-en", "flux-priya-en", "flux-rufus-en", "flux-sean-en", "flux-sharon-en", "flux-sienna-en", "flux-tanner-en", "flux-wade-en", "flux-wes-en"]')
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 deepgram/flux-tts
ชื่อพาธเมธอดอื่น
ใช้พาธเมธอดที่แสดงด้านบน
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · Deepgram: Flux TTS
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/audio/speech·deepgram/flux-tts:text→audio- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/audio/speech·deepgram/flux-tts:model,input,voice,response_format