Canopy Labs: Orpheus 3B
โมเดลเสียงภาษาอังกฤษ Orpheus 3B รุ่นปรับจูนของ Canopy Labs เปลี่ยนประโยคที่เขียนไว้เป็นเสียงที่ถ่ายทอดอารมณ์ได้ เสียงสำเร็จรูปแปดเสียงและแท็กอวัจนเสียงรองรับการบรรยาย บทสนทนา และคำตอบแบบเสียงของแอปพลิเคชัน
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
Orpheus 3B 0.1 Fine-Tuned เป็นโมเดลแปลงข้อความเป็นเสียงภาษาอังกฤษของ Canopy Labs สำหรับการสังเคราะห์ทั่วไป โมเดลอยู่ในตระกูล Orpheus ที่สร้างบนโครงหลัก Llama 3B และเน้นน้ำเสียง จังหวะ และการถ่ายทอดที่เป็นธรรมชาติและมีอารมณ์ อินพุตคือข้อความที่จะพูดพร้อมผู้พูดที่เลือก ส่วนเอาต์พุตคือเสียงพูด ผู้ผลิตยังระบุการโคลนเสียงแบบ zero-shot สำหรับโมเดลปรับจูนรุ่นนี้โดยตรง ตัวอย่างการสังเคราะห์ของรุ่นปรับจูนที่เผยแพร่ใช้ผู้พูดสำเร็จรูป ส่วนการป้อนข้อความและเสียงโดยมีข้อมูลอ้างอิงเป็นเงื่อนไขนั้นมีเอกสารแยกสำหรับรุ่นพรีเทรน รุ่นปรับจูนนี้ต่างจากโมเดลพรีเทรนและโมเดลวิจัยหลายภาษาที่เผยแพร่แยกกัน
เลือกผู้พูดและเตรียมประโยค
ผู้ผลิตระบุเสียงสำเร็จรูปภาษาอังกฤษแปดเสียง ได้แก่ tara, leah, jess, leo, dan, mia, zac และ zoe รูปแบบพรอมป์ต์วางชื่อผู้พูดไว้หน้าข้อความที่จะพูด โดยคั่นด้วยเครื่องหมายทวิภาค เวิร์กโฟลว์การสร้างเสียงที่ใช้อ้างอิงสามารถเติมรูปแบบนี้ได้เมื่อส่งเสียงผู้พูดมาแยกต่างหาก เลือกผู้พูดให้เหมาะกับชิ้นงาน และใช้ตัวเลือกนั้นสม่ำเสมอในย่อหน้าที่ต่อกัน
สำหรับคำอธิบายสั้น ๆ ให้เขียนบทบรรยายสุดท้าย แทนคำสั่งขอให้โมเดลคิดคำอธิบายขึ้นเอง ตัวอย่างประโยคพูดที่ใช้ได้คือ “เลือกโฟลเดอร์ที่ต้องการแชร์ ตรวจว่าใครเปิดได้ แล้วบันทึกการเปลี่ยนแปลง” สำหรับบทสนทนา ให้เตรียมคำพูดของผู้พูดแต่ละคนอย่างชัดเจน และรักษาเครื่องหมายวรรคตอนที่ช่วยในการถ่ายทอด คำย่อ วันที่ หรือชื่อผลิตภัณฑ์ควรเขียนในรูปที่ต้องการให้ผู้ฟังได้ยิน โดยเฉพาะเมื่อรูปย่อในภาษาเขียนอาจกำกวม
สัญญาณแสดงอารมณ์และอวัจนเสียง
Orpheus มีเอกสารระบุแท็ก <laugh>, <chuckle>, <sigh>, <cough>, <sniffle>, <groan>, <yawn> และ <gasp> แท็กเหล่านี้กำหนดเหตุการณ์อวัจนเสียงอย่างชัดเจน ณ จุดที่เกี่ยวข้องในข้อความ บทสนทนาสั้น ๆ อาจใส่เสียงหัวเราะเบา ๆ ก่อนคำพูดสบาย ๆ หรือเสียงถอนหายใจก่อนประโยคครุ่นคิด ใช้สัญญาณตรงตำแหน่งที่เหมาะกับการแสดง และคงคำพูดจริงให้ชัดเจน
นี่คือสัญญาณสำหรับสร้างเสียงพูด ไม่ใช่ภาษาคำสั่งทั่วไปสำหรับแก้ไขเสียงที่บันทึกไว้แล้ว สำหรับงานพากย์ เริ่มจากข้อความที่อ่านง่ายและเพิ่มเฉพาะเหตุการณ์แสดงอารมณ์ที่ฉากต้องการ ฟังประโยคทั้งหมดเพื่อตัดสินว่าเหตุการณ์ การเน้น และจังหวะช่วยสื่อความหมายหรือไม่ งานบรรยายอาจต้องการเสียงที่นิ่งสม่ำเสมอ ขณะที่บทตัวละครอาจได้ประโยชน์จากสัญญาณอวัจนเสียงเฉพาะอย่าง
สตรีมมิงและผลลัพธ์เสียง
ผู้ผลิตมีทั้งโน้ตบุ๊กแบบไม่สตรีมและตัวอย่างเสียงแบบสตรีม สตรีมมิงคืนชังก์เสียงต่อเนื่องขณะสร้างเสียงของย่อหน้า ในตัวอย่างที่เผยแพร่ ชังก์เหล่านี้ถูกเขียนลงไฟล์ WAV โมโนที่ 24,000 Hz โดยใช้ตัวอย่างเสียง 16 บิต การตั้งค่าไฟล์เหล่านี้อธิบายเวิร์กโฟลว์อ้างอิง ผลลัพธ์ที่มีประโยชน์คือเสียงบันทึกที่เล่นได้ และตรวจคำ ผู้พูด และการถ่ายทอดเทียบกับบทได้
สำหรับการบรรยายยาว ให้เตรียมย่อหน้าที่ต่อเนื่องกันและมีขอบเขตประโยคชัดเจน พร้อมเก็บสำเนาบทสุดท้ายไว้คู่กับเสียง ตรวจต้นและท้ายแต่ละย่อหน้า การออกเสียงชื่อสำคัญ และรอยต่อระหว่างเสียงบันทึกที่อยู่ติดกัน แนวทางการสุ่มของผู้ผลิตกำหนด repetition penalty อย่างน้อย 1.1 เพื่อให้การสร้างในชุดอ้างอิงเสถียร และระบุว่าตัวเลือกการสุ่มอาจมีผลต่อความเร็วการพูด ความยาวโมเดลที่ตั้งในตัวอย่างเป็นการตั้งค่าการอนุมาน ไม่ใช่ระยะเวลาบรรยายสูงสุดที่ยืนยันแล้ว
ขอบเขตแต่ละรุ่น
ข้อมูลนี้กล่าวถึงโมเดลภาษาอังกฤษรุ่นปรับจูนที่มีผู้พูดสำเร็จรูปตามเอกสาร โมเดลพรีเทรนมีเวิร์กโฟลว์กำหนดเงื่อนไขด้วยข้อความและเสียงของตัวเอง ส่วนรุ่นหลายภาษามีผู้พูดและแท็กเฉพาะภาษา การเลือกรุ่นภาษาอังกฤษนี้ไม่ได้รวมคุณสมบัติของรุ่นที่แยกกันเหล่านั้น ผลงานที่ใช้งานได้จริงคือบทพูด เสียงสำเร็จรูปที่เลือกอย่างตั้งใจ และเสียงที่ผ่านการตรวจว่าถ้อยคำกับการแสดงตรงตามความต้องการของชิ้นงาน
Ailoot Ultra · การสังเคราะห์เสียงพูด POST /v1/audio/speech canopylabs/orpheus-3b-0.1-ft
canopylabs/orpheus-3b-0.1-ftเริ่มต้น
โมเดลเสียงภาษาอังกฤษ Orpheus 3B รุ่นปรับจูนของ Canopy Labs เปลี่ยนประโยคที่เขียนไว้เป็นเสียงที่ถ่ายทอดอารมณ์ได้ เสียงสำเร็จรูปแปดเสียงและแท็กอวัจนเสียงรองรับการบรรยาย บทสนทนา และคำตอบแบบเสียงของแอปพลิเคชัน
- อินพุตที่รองรับ
- ข้อความ
- ผลลัพธ์
- เสียง
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · การสังเคราะห์เสียงพูด POST /v1/audio/speech
- ขาเข้า
text- ขาออก
audio- รูปแบบเอาต์พุต
- mp3
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด canopylabs/orpheus-3b-0.1-ft | ค่าเริ่มต้น— |
ฟิลด์input | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด ความยาวขั้นต่ำ: 1 หน่วย: อักขระ Unicode | ค่าเริ่มต้น— |
ฟิลด์voice | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด tara, leah, jess, leo, dan, mia, zac | ค่าเริ่มต้น— |
ฟิลด์response_format | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด mp3 | ค่าเริ่มต้น— |
ชุดผสมของสื่ออินพุต
text_to_speech · จำเป็น: input
พารามิเตอร์และวงจรการทำงานของเมธอด
| พารามิเตอร์ | ข้อกำหนด |
|---|---|
พารามิเตอร์content_type | ข้อกำหนดapplication/json |
พารามิเตอร์required | ข้อกำหนดmodel, input, voice, response_format |
พารามิเตอร์voice_ids | ข้อกำหนดtara, leah, jess, leo, dan, mia, zac |
พารามิเตอร์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 โทเค็น |
| การตั้งค่าUltra | ตารางอัตราค่าบริการ— | ปริมาณที่ใช้คิดค่าบริการนับแต่ละโค้ดพอยต์ Unicode เป็นหนึ่งอักขระ รวมถึงอักษรฮั่น | หน่วยคิดค่าบริการต่ออักขระอินพุต 1K ตัว | ค่าบริการ ขาเข้า · อักขระขาเข้า $0.03 ต่ออักขระอินพุต 1K ตัว |
รายละเอียดอัตราอ้างอิง
ตารางอัตราอ้างอิงระดับโมเดลไม่เปลี่ยนเมธอดที่เลือก ยอดประมาณการ หรือค่าบริการ การคิดค่าบริการจริงใช้อัตราของเมธอด Ailoot ที่เลือก
Canopy Labs: Orpheus 3B
ราคาตามการตั้งค่า
| การตั้งค่า | เงื่อนไขคิดค่าบริการ | ค่าบริการ |
|---|---|---|
| การตั้งค่าCanopy Labs: Orpheus 3B · การตั้งค่าเริ่มต้น | เงื่อนไขคิดค่าบริการการตั้งค่าเริ่มต้น | ค่าบริการ ขาเข้า · อักขระอินพุต US$0.000014 ต่ออักขระอินพุต |
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": "canopylabs/orpheus-3b-0.1-ft", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["tara", "leah", "jess", "leo", "dan", "mia", "zac"]')
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 canopylabs/orpheus-3b-0.1-ft
ชื่อพาธเมธอดอื่น
ใช้พาธเมธอดที่แสดงด้านบน
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · Canopy Labs: Orpheus 3B
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/audio/speech·canopylabs/orpheus-3b-0.1-ft:text→audio- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/audio/speech·canopylabs/orpheus-3b-0.1-ft:model,input,voice,response_format