tts-1
TTS-1 เปลี่ยนข้อความที่เตรียมไว้เป็นเสียงพูด พร้อมเสียง ความเร็วการเล่น และรูปแบบเอาต์พุตที่เลือกได้ OpenAI ปรับรุ่นนี้ให้เหมาะกับการสร้างเสียงความหน่วงต่ำ จึงใช้ได้จริงกับงานอ่านที่ต้องตอบสนองรวดเร็ว การบรรยายสั้น และการส่งบทที่เขียนไว้แล้วแบบสตรีม
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
TTS-1 เป็นโมเดลแปลงข้อความเป็นเสียงของ OpenAI ที่ปรับให้เหมาะกับความเร็ว โมเดลรับคำที่จะพูดและสร้างเสียง ไม่ใช่ข้อความถอดเสียงหรือคำตอบเขียน ตัวอย่างของผู้ผลิตมีการบรรยายบทความ การสร้างเสียงหลายภาษา และการเล่นเสียงทันทีที่มาถึง TTS-1 เป็นตัวเลือกความหน่วงต่ำกว่าเมื่อเทียบกับ TTS-1 HD ซึ่งเน้นคุณภาพเอาต์พุต การตัดสินใจที่มีประโยชน์จึงเป็นว่างานให้ความสำคัญกับการเริ่มเล่นเร็วหรือการบรรยายคุณภาพสูงกว่ากัน
เวิร์กโฟลว์สร้างเสียงยึดโมเดล ข้อความอินพุต และเสียงที่เลือกเป็นหลัก เอกสารอ้างอิง OpenAI จำกัดข้อความอินพุตที่ 4,096 อักขระ ซึ่งเป็นขีดจำกัดอักขระ ไม่ใช่หน้าต่างบริบทโทเคน เตรียมบทจริงก่อนสังเคราะห์ เขียนประโยคที่ผู้ฟังควรได้ยิน คลี่คลายคำย่อ และกำหนดวิธีอ่านชื่อ จำนวน และหัวข้อ สำหรับบทความยาว ให้จัดแต่ละส่วนเป็นย่อหน้าที่เข้าใจแยกได้ แทนการถือว่าเอกสารยาวเป็นคำขอเสียงเพียงครั้งเดียว
รายการเสียงเฉพาะโมเดล TTS-1 ปัจจุบันของ OpenAI คือ alloy, ash, coral, echo, fable, onyx, nova, sage และ shimmer นี่คือเสียงสำเร็จรูป ไม่ใช่ชุดเสียงทั้งหมดของโมเดลเสียงรุ่นใหม่ทุกตัว เสียงปรับให้เหมาะกับภาษาอังกฤษ ขณะที่รองรับคำพูดหลายภาษาโดยป้อนอินพุตในภาษาที่จะพูด เลือกเสียงด้วยย่อหน้าตัวแทนที่มีศัพท์และจังหวะเหมือนบทสุดท้าย รักษาตัวเลือกนั้นให้สม่ำเสมอในคลิปที่เกี่ยวข้องเมื่อความต่อเนื่องสำคัญ
สตรีมเสียงเป็นชังก์ได้เพื่อเริ่มเล่นก่อนสร้างไฟล์ทั้งหมดเสร็จ นี่คือสตรีมมิงเสียงที่สร้างจากข้อความ ไม่ใช่บทสนทนาพูดสองทาง รูปแบบเอาต์พุตตามเอกสารมี MP3, Opus, AAC, FLAC, WAV และ PCM โดย MP3 เป็นค่าเริ่มต้น MP3 กับ AAC ให้เสียงบีบอัด Opus เหมาะกับสตรีมมิงและการสื่อสาร ส่วน FLAC ไม่สูญเสียข้อมูล WAV เลี่ยงการถอดรหัสเสียงบีบอัด และ PCM ดิบมีตัวอย่างเสียง 24 kHz, 16 บิตแบบมีเครื่องหมายและเรียงไบต์ little-endian โดยไม่มีส่วนหัวไฟล์ OpenAI แนะนำ WAV หรือ PCM เมื่อให้เวลาตอบสนองเป็นอันดับแรก
เอกสารอ้างอิงเสียงมีการตั้งค่าความเร็ว 0.25 ถึง 4.0 โดย 1.0 เป็นค่าเริ่มต้น ฟิลด์ instructions ภาษาธรรมชาติเพิ่มเติมใช้ไม่ได้กับ TTS-1 และโมเดลนี้ไม่รองรับเอาต์พุต SSE แบบเหตุการณ์ ตัวควบคุมตามเอกสารคือบท เสียง ความเร็ว และรูปแบบเสียง ไม่ควรนำการควบคุมสำเนียง อารมณ์ หรือการกระซิบของโมเดลรุ่นใหม่มาใส่กับรุ่นนี้ เมื่อเตรียมคลิป ให้เลือกความเร็วเพื่อความเข้าใจง่าย แล้วตรวจคำและช่วงหยุดในเสียงที่สร้าง แทนการสมมติว่าจำนวนอักขระในบทกำหนดระยะเวลาแน่นอน
คู่มือภาษามีอังกฤษ รัสเซีย ยูเครน ฝรั่งเศส เยอรมัน สเปน โปรตุเกส อิตาลี อาหรับ จีน ญี่ปุ่น เกาหลี ฮินดี คาซัค และภาษาอื่นอีกมาก เสียงตามภาษาของข้อความที่ป้อน ข้อกำหนดบรรยายหลายภาษาจึงเริ่มจากบทที่แปลแล้วและผู้ฟังที่ตั้งใจ การแปลงข้อความเป็นเสียงเป็นขั้นถ่ายทอด ไม่ใช่คำสั่งให้แปลหรือเขียนใหม่ สำหรับประกาศที่ใช้ได้จริง ให้เตรียมข้อความและชื่อที่ตรงตามต้องการ สำหรับการบรรยายเพื่อการศึกษา ให้ขอบเขตส่วนกับคำนิยามชัดเจนในคำที่จะอ่าน
ผลงานที่เสร็จแล้วอาจเป็นคำแนะนำเสียงสั้น ย่อหน้าบรรยาย หรือเซกเมนต์เสียงสำหรับงานแก้ไขที่ใหญ่กว่า ตรวจการออกเสียง ความครบถ้วน จังหวะ และรูปแบบที่เลือกด้วยเอาต์พุตจริง เก็บบทคู่กับเสียงเพื่อให้จำกัดการแก้ภายหลังไว้ที่ย่อหน้าที่ได้รับผลได้ แนวทาง OpenAI กำหนดให้บอกผู้ฟังอย่างชัดเจนว่าเสียงนี้สร้างด้วย AI การเปิดเผยนั้นเป็นส่วนของประสบการณ์ฟัง ไม่ได้เปลี่ยน TTS-1 เป็นเสียงบันทึกของมนุษย์หรือเพิ่มตัวควบคุมโคลนเสียงให้โมเดล
Ailoot Ultra · การสังเคราะห์เสียงพูด POST /v1/audio/speech openai/tts-1
openai/tts-1เริ่มต้น
TTS-1 เปลี่ยนข้อความที่เตรียมไว้เป็นเสียงพูด พร้อมเสียง ความเร็วการเล่น และรูปแบบเอาต์พุตที่เลือกได้ OpenAI ปรับรุ่นนี้ให้เหมาะกับการสร้างเสียงความหน่วงต่ำ จึงใช้ได้จริงกับงานอ่านที่ต้องตอบสนองรวดเร็ว การบรรยายสั้น และการส่งบทที่เขียนไว้แล้วแบบสตรีม
- อินพุตที่รองรับ
- ข้อความ
- ผลลัพธ์
- เสียง
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · การสังเคราะห์เสียงพูด POST /v1/audio/speech
- ขาเข้า
text- ขาออก
audio- รูปแบบเอาต์พุต
- mp3
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด openai/tts-1 | ค่าเริ่มต้น— |
ฟิลด์input | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด ความยาวขั้นต่ำ: 1 ความยาวสูงสุด: 4,096 หน่วย: อักขระ Unicode | ค่าเริ่มต้น— |
ฟิลด์voice | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด alloy | ค่าเริ่มต้น— |
ชุดผสมของสื่ออินพุต
text_to_speech · จำเป็น: input
พารามิเตอร์และวงจรการทำงานของเมธอด
| พารามิเตอร์ | ข้อกำหนด |
|---|---|
พารามิเตอร์content_type | ข้อกำหนดapplication/json |
พารามิเตอร์required | ข้อกำหนดmodel, input, voice |
พารามิเตอร์voice_ids | ข้อกำหนดalloy |
พารามิเตอร์max_input_characters | ข้อกำหนด4096 |
พารามิเตอร์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 ตัว |
| การตั้งค่าต่อคำขอ | ตารางอัตราค่าบริการ— | ปริมาณที่ใช้คิดค่าบริการ— | ปริมาณที่คิดค่าบริการหนึ่งคำขอ | หน่วยคิดค่าบริการ— | ค่าบริการ ขาเข้า $0 ต่อคำขอ |
Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →
ตัวอย่างคำขอ
Ailoot Ultra · การสังเคราะห์เสียงพูด
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "openai/tts-1", "input": "Good afternoon! This is a short voice take.", "voice": "alloy"}')
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 openai/tts-1
ชื่อพาธเมธอดอื่น
ใช้พาธเมธอดที่แสดงด้านบน
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · tts-1
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/audio/speech·openai/tts-1:text→audio- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/audio/speech·openai/tts-1:model,input,voice- มีข้อจำกัดใดบ้าง?
POST /v1/audio/speech·openai/tts-1:input.maximum_length:4096