tts-1
TTS-1 chuyển văn bản đã chuẩn bị thành âm thanh lời nói với các lựa chọn giọng đọc, tốc độ phát và định dạng đầu ra. OpenAI tối ưu phiên bản này để tạo lời nói với độ trễ thấp hơn, phù hợp cho bản đọc phản hồi nhanh, thuyết minh ngắn và truyền trực tuyến một kịch bản đã được viết sẵn.
Về mô hình
Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.
TTS-1 là mô hình chuyển văn bản thành giọng nói của OpenAI được tối ưu cho tốc độ. Mô hình nhận những từ cần đọc và tạo âm thanh, thay vì bản chép lời hoặc câu trả lời viết. Các ví dụ của nhà sản xuất gồm thuyết minh bài viết, tạo lời nói bằng nhiều ngôn ngữ và phát âm thanh khi dữ liệu đến. TTS-1 là lựa chọn có độ trễ thấp hơn so với TTS-1 HD; mô hình HD nhấn mạnh chất lượng đầu ra. Vì vậy, quyết định hữu ích là việc phát nhanh hay đặc tính thuyết minh chất lượng cao hơn quan trọng hơn đối với tác vụ.
Quy trình tạo lời nói xoay quanh mô hình, văn bản đầu vào và giọng đã chọn. Tài liệu tham chiếu của OpenAI giới hạn văn bản đầu vào ở 4096 ký tự, là giới hạn ký tự chứ không phải cửa sổ ngữ cảnh token. Chuẩn bị kịch bản thực tế trước khi tổng hợp: viết những câu người nghe cần nghe, làm rõ chữ viết tắt và quyết định cách đọc tên riêng, đại lượng và tiêu đề. Với bài viết dài, tổ chức các mục thành các đoạn có thể hiểu độc lập thay vì coi tài liệu dài là một yêu cầu tạo lời nói duy nhất.
Danh sách giọng dành riêng cho TTS-1 hiện tại của OpenAI gồm alloy, ash, coral, echo, fable, onyx, nova, sage và shimmer. Đây là các giọng cài sẵn; chúng không phải toàn bộ tập giọng của mọi mô hình giọng nói mới hơn. Các giọng được tối ưu cho tiếng Anh, trong khi lời nói đa ngôn ngữ được hỗ trợ bằng cách cung cấp đầu vào ở ngôn ngữ cần đọc. Chọn giọng bằng một đoạn đại diện có cùng từ vựng và nhịp với kịch bản hoàn thiện. Giữ lựa chọn đó nhất quán giữa các đoạn liên quan khi tính liên tục là quan trọng.
Âm thanh có thể được truyền theo từng khối để bắt đầu phát trước khi tạo xong toàn bộ tệp. Đây là truyền trực tuyến lời nói được tạo từ văn bản, không phải hội thoại nói hai chiều. Các định dạng đầu ra được mô tả là MP3, Opus, AAC, FLAC, WAV và PCM, với MP3 là mặc định. MP3 và AAC cung cấp âm thanh nén; Opus phù hợp cho truyền trực tuyến và liên lạc; FLAC không mất dữ liệu. WAV tránh bước giải mã âm thanh nén, còn PCM thô chứa mẫu 24 kHz, số nguyên có dấu 16-bit theo thứ tự little-endian, không có phần đầu tệp. OpenAI khuyến nghị WAV hoặc PCM khi thời gian phản hồi là ưu tiên.
Tài liệu tham chiếu giọng nói cung cấp thiết lập tốc độ từ 0.25 đến 4.0, với 1.0 là mặc định. Trường chỉ dẫn bằng ngôn ngữ tự nhiên bổ sung không hoạt động với TTS-1 và đầu ra SSE dạng sự kiện không được hỗ trợ cho mô hình này. Các yếu tố điều khiển được mô tả là kịch bản, giọng, tốc độ và định dạng âm thanh; không nên gắn các yếu tố điều khiển giọng vùng miền, cảm xúc hoặc nói thầm của mô hình mới hơn vào phiên bản này. Khi chuẩn bị một đoạn âm thanh, chọn tốc độ giúp lời nói dễ hiểu rồi kiểm tra những từ và khoảng dừng được tạo thay vì giả định số ký tự trong kịch bản xác định thời lượng chính xác.
Hướng dẫn ngôn ngữ gồm tiếng Anh, Nga, Ukraina, Pháp, Đức, Tây Ban Nha, Bồ Đào Nha, Ý, Ả Rập, Trung, Nhật, Hàn, Hindi, Kazakh và nhiều ngôn ngữ khác. Lời nói tuân theo ngôn ngữ của văn bản được cung cấp. Vì vậy, yêu cầu thuyết minh đa ngôn ngữ bắt đầu từ kịch bản đã dịch và đối tượng nghe dự kiến; chuyển văn bản thành giọng nói là bước thể hiện, không phải chỉ dẫn dịch hay viết lại. Với thông báo thực tế, chuẩn bị thông điệp và tên riêng chính xác. Với thuyết minh giáo dục, làm rõ ranh giới mục và định nghĩa trong những từ sẽ được đọc.
Sản phẩm hoàn thiện có thể là một chỉ dẫn nói ngắn, đoạn thuyết minh hoặc phần âm thanh để ghép vào một bản biên tập lớn hơn. Xem xét cách phát âm, mức đầy đủ, nhịp và định dạng đã chọn bằng đầu ra thực tế. Lưu kịch bản cùng âm thanh để các lần sửa sau có thể tập trung vào đoạn bị ảnh hưởng. Hướng dẫn của OpenAI yêu cầu thông báo rõ cho người nghe rằng giọng được tạo bằng AI. Thông báo đó thuộc trải nghiệm nghe; nó không biến TTS-1 thành bản ghi giọng người thật hoặc bổ sung khả năng sao chép giọng cho mô hình.
Ailoot Ultra · Tổng hợp giọng nói POST /v1/audio/speech openai/tts-1
openai/tts-1Bắt đầu
TTS-1 chuyển văn bản đã chuẩn bị thành âm thanh lời nói với các lựa chọn giọng đọc, tốc độ phát và định dạng đầu ra. OpenAI tối ưu phiên bản này để tạo lời nói với độ trễ thấp hơn, phù hợp cho bản đọc phản hồi nhanh, thuyết minh ngắn và truyền trực tuyến một kịch bản đã được viết sẵn.
- Đầu vào được chấp nhận
- Văn bản
- Kết quả
- Âm thanh
Có trên Ailoot · đầu vào & phương thức
Ailoot Ultra · Tổng hợp giọng nói POST /v1/audio/speech
- Đầu vào
text- Đầu ra
audio- Định dạng đầu ra
- mp3
| Trường | Loại | Yêu cầu | Giá trị & giới hạn | Mặc định |
|---|---|---|---|---|
Trườngmodel | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn openai/tts-1 | Mặc định— |
Trườnginput | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn Độ dài tối thiểu: 1 Độ dài tối đa: 4.096 Đơn vị: ký tự Unicode | Mặc định— |
Trườngvoice | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn alloy | Mặc định— |
Tổ hợp tư liệu đầu vào
text_to_speech · Bắt buộc: input
Tham số phương thức và vòng đời
| Tham số | Hợp đồng |
|---|---|
Tham sốcontent_type | Hợp đồngapplication/json |
Tham sốrequired | Hợp đồngmodel, input, voice |
Tham sốvoice_ids | Hợp đồngalloy |
Tham sốmax_input_characters | Hợp đồng4096 |
Tham sốother_options | Hợp đồngfalse |
Tham sốinput | Hợp đồngvăn bản UTF-8 nguyên dạng; đếm ký tự Unicode mà không chuẩn hóa |
Tham sốmaterial_types | Hợp đồngtext |
Vòng đời: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Giá trị task_id thực tế đã trả về hoặc bản ghi trong thư viện nội dung đa phương tiện
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Chọn giọng nói chính xác từ hồ sơ mô hình này.
Ký tự đầu vào và giây âm thanh là các đơn vị đo tính phí khác nhau.
Bảng giá
Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.
- Chế độ nhanh
- Chưa chỉ định Khi chọn chế độ nhanh
- Chế độ Flex
- Chưa chỉ định Khi chọn chế độ flex
- Mức độ suy luận tối đa
- Chưa chỉ định Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa
Mức phí Ailoot
Giá theo cấu hình
Đối chiếu từng khoản phí với điều kiện hiển thị. Dùng một mức phí cho mỗi nhóm cấu hình thay thế.
| Cấu hình | Biểu mức phí | Lượng tính phí | Lượng dùng để tính phí | Đơn vị tính phí | Phí |
|---|---|---|---|---|---|
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Lượng tính phí— | Lượng dùng để tính phí— | Đơn vị tính phí— | Phí Đầu vào · Token đầu vào — / 1K token Đầu ra · Token đầu ra — / 1K token Đầu vào · Đọc bộ nhớ đệm — / 1K token Đầu vào · Ghi bộ nhớ đệm — / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ — / 1K token |
| Cấu hìnhUltra | Biểu mức phí— | Lượng tính phíMỗi điểm mã Unicode được tính là một ký tự, bao gồm ký tự Hán (Han). | Lượng dùng để tính phí— | Đơn vị tính phímỗi 1K ký tự đầu vào | Phí Đầu vào · Ký tự đầu vào $0.03 mỗi 1K ký tự đầu vào |
| Cấu hìnhMỗi yêu cầu | Biểu mức phí— | Lượng tính phí— | Lượng dùng để tính phímột yêu cầu | Đơn vị tính phí— | Phí Đầu vào $0 mỗi yêu cầu |
Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. Cách hoạt động của cơ chế tạm giữ và quyết toán →
Ví dụ yêu cầu
Ailoot Ultra · Tổng hợp giọng nói
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
Nhận và lưu kết quả
Ailoot Ultra · Tổng hợp giọng nói
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Lượt đọc nội dung khác
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
Lưu tất cả kết quả đã hoàn tất
Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.
Giữ lại toàn bộ kết quả nhị phân và các header. Nếu phản hồi ở dạng JSON hoặc chứa nhiều đầu ra, giữ lại mọi phần tử dữ liệu và tải từng tài nguyên từ URL có chữ ký thực tế.
Nếu cần kiểm tra phản hồi gốc
Giữ lại operation_id/X-Client-Request-ID gốc để đối soát mà không gửi lại yêu cầu; không có tuyến truy vấn trạng thái riêng cho âm thanh.
Trường phản hồi
| Trường | Loại |
|---|---|
Trườngbinary audio | Loạibytes |
Trườngresponse headers | Loạiheaders |
Lỗi và bước tiếp theo
| Phản hồi | Điều kiện | Bước tiếp theo |
|---|---|---|
Phản hồi400 · invalid_request_error | Điều kiệnTrường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ | Bước tiếp theoSửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới. |
Phản hồiserver_error | Điều kiệnPhản hồi trả về cho biết thao tác hoặc kết quả cần được kiểm tra | Bước tiếp theoGiữ lại ID thao tác/tác vụ gốc đã trả về, các header của yêu cầu và toàn bộ phản hồi; tiếp tục truy xuất thao tác gốc đó bằng các phương thức được hỗ trợ. Không gửi lại yêu cầu tạo. |
Bí danh
Bí danh mô hình
Ailoot Ultra openai/tts-1
Bí danh đường dẫn phương thức
Dùng các đường dẫn phương thức hiển thị ở trên.
ID gọi liên quan
FAQ · tts-1
- Có những đầu vào và kết quả nào?
POST /v1/audio/speech·openai/tts-1:text→audio- Yêu cầu sử dụng những trường nào?
POST /v1/audio/speech·openai/tts-1:model,input,voice- Áp dụng những giới hạn nào?
POST /v1/audio/speech·openai/tts-1:input.maximum_length:4096