tts-1
TTS-1 mengubah teks yang disiapkan menjadi audio ucapan dengan pilihan suara, kecepatan pemutaran, dan format keluaran. OpenAI mengoptimalkan edisi ini untuk generasi ucapan berlatensi lebih rendah, sehingga praktis untuk pembacaan responsif, narasi singkat, dan penyampaian streaming dari naskah yang sudah ditulis.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
TTS-1 adalah model teks ke suara OpenAI yang dioptimalkan untuk kecepatan. Model ini menerima kata-kata yang akan diucapkan dan menghasilkan audio, bukan transkripsi atau jawaban tertulis. Contoh dari produsen mencakup membacakan artikel tertulis, menghasilkan ucapan dalam beberapa bahasa, dan memutar audio saat diterima. TTS-1 merupakan pilihan berlatensi lebih rendah dibandingkan TTS-1 HD; model HD menekankan kualitas keluaran. Karena itu, keputusan yang berguna adalah apakah pemutaran segera atau profil narasi berkualitas lebih tinggi lebih penting untuk tugas tersebut.
Alur kerja generasi ucapan berpusat pada model, teks masukan, dan suara pilihan. Referensi OpenAI membatasi masukan teks hingga 4096 karakter, yaitu batas karakter, bukan jendela konteks token. Siapkan naskah sebenarnya sebelum sintesis: tulis kalimat yang harus didengar pendengar, perjelas singkatan, dan tentukan bagaimana nama, besaran, serta judul diucapkan. Untuk artikel panjang, susun bagian menjadi petikan yang dapat dipahami secara mandiri, alih-alih memperlakukan dokumen panjang sebagai satu permintaan ucapan.
Daftar suara khusus model TTS-1 OpenAI saat ini adalah alloy, ash, coral, echo, fable, onyx, nova, sage, dan shimmer. Ini adalah suara prasetel; daftar tersebut bukan kumpulan suara lengkap dari setiap model ucapan yang lebih baru. Suara-suara ini dioptimalkan untuk bahasa Inggris, sedangkan ucapan multibahasa didukung dengan memberikan masukan dalam bahasa yang akan diucapkan. Pilih suara menggunakan petikan representatif dengan kosakata dan tempo yang sama seperti naskah akhir. Pertahankan pilihan itu secara konsisten antarklip terkait ketika kesinambungan penting.
Audio dapat dialirkan dalam potongan sehingga pemutaran dimulai sebelum seluruh berkas selesai dihasilkan. Ini adalah streaming ucapan yang dibuat dari teks, bukan percakapan lisan dua arah. Format keluaran yang didokumentasikan adalah MP3, Opus, AAC, FLAC, WAV, dan PCM, dengan MP3 sebagai bawaan. MP3 dan AAC menyediakan audio terkompresi; Opus sesuai untuk streaming dan komunikasi; FLAC tidak kehilangan kualitas. WAV menghindari dekode audio terkompresi, sedangkan PCM mentah berisi sampel 24 kHz, 16-bit bertanda dengan urutan little-endian tanpa header berkas. OpenAI menyarankan WAV atau PCM ketika waktu respons menjadi prioritas.
Referensi ucapan menyediakan pengaturan kecepatan dari 0,25 hingga 4,0, dengan 1,0 sebagai bawaan. Kolom instruksi bahasa alami tambahan tidak berfungsi dengan TTS-1, dan keluaran SSE berbentuk peristiwa tidak didukung untuk model ini. Kendali yang didokumentasikan adalah naskah, suara, kecepatan, dan format audio; kendali aksen, emosi, atau bisikan dari model yang lebih baru tidak boleh dilekatkan pada edisi ini. Saat menyiapkan klip, pilih kecepatan yang mendukung keterpahaman, lalu periksa kata serta jeda yang dihasilkan, alih-alih berasumsi bahwa jumlah karakter naskah menentukan durasi tepat.
Panduan bahasa mencakup Inggris, Rusia, Ukraina, Prancis, Jerman, Spanyol, Portugis, Italia, Arab, Tionghoa, Jepang, Korea, Hindi, Kazakh, dan banyak bahasa lainnya. Ucapan mengikuti bahasa teks yang diberikan. Karena itu, arahan narasi multibahasa dimulai dari naskah terjemahan dan audiens yang dituju; teks ke suara adalah tahap perwujudan, bukan instruksi untuk menerjemahkan atau menulis ulang. Untuk pengumuman praktis, siapkan pesan dan nama yang tepat. Untuk narasi pendidikan, perjelas batas bagian serta definisi dalam kata-kata yang akan dibaca.
Artefak akhir dapat berupa instruksi lisan singkat, petikan bernarasi, atau segmen audio untuk suntingan yang lebih besar. Tinjau pelafalan, kelengkapan, tempo, dan format pilihan menggunakan keluaran sebenarnya. Simpan naskah bersama audio agar koreksi berikutnya dapat difokuskan pada petikan yang terdampak. Panduan OpenAI mewajibkan pendengar diberi tahu secara jelas bahwa suara dihasilkan oleh AI. Pengungkapan itu merupakan bagian dari pengalaman mendengarkan; hal itu tidak menjadikan TTS-1 rekaman suara manusia atau menambahkan kendali kloning suara ke model.
Ailoot Ultra · Sintesis ucapan POST /v1/audio/speech openai/tts-1
openai/tts-1Mulai
TTS-1 mengubah teks yang disiapkan menjadi audio ucapan dengan pilihan suara, kecepatan pemutaran, dan format keluaran. OpenAI mengoptimalkan edisi ini untuk generasi ucapan berlatensi lebih rendah, sehingga praktis untuk pembacaan responsif, narasi singkat, dan penyampaian streaming dari naskah yang sudah ditulis.
- Masukan yang diterima
- Teks
- Hasil
- Audio
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Sintesis ucapan POST /v1/audio/speech
- Masukan
text- Keluaran
audio- Format keluaran
- mp3
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan openai/tts-1 | Bawaan— |
Kolominput | Jenisstring | PersyaratanWajib | Nilai & batasan Panjang minimum: 1 Panjang maksimum: 4.096 Satuan: karakter Unicode | Bawaan— |
Kolomvoice | Jenisstring | PersyaratanWajib | Nilai & batasan alloy | Bawaan— |
Kombinasi bahan masukan
text_to_speech · Wajib: input
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, input, voice |
Parametervoice_ids | Kontrakalloy |
Parametermax_input_characters | Kontrak4096 |
Parameterother_options | Kontrakfalse |
Parameterinput | Kontrakteks UTF-8 persis; jumlah karakter Unicode tanpa normalisasi |
Parametermaterial_types | Kontraktext |
Siklus hidup: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id aktual yang dikembalikan atau catatan pustaka media
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Pilih suara yang tepat dari profil model ini.
Karakter masukan dan detik audio merupakan satuan pengukuran yang berbeda.
Paket
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tidak ditentukan Saat mode fast dipilih
- Mode Flex
- Tidak ditentukan Saat mode flex dipilih
- Upaya penalaran maksimum
- Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default
Tarif Ailoot
Harga menurut konfigurasi
Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.
| Konfigurasi | Jadwal tarif | Jumlah yang ditagihkan | Jumlah penagihan | Satuan penagihan | Biaya |
|---|---|---|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Jumlah yang ditagihkan— | Jumlah penagihan— | Satuan penagihan— | Biaya Masukan · Token masukan — / 1K token Keluaran · Token keluaran — / 1K token Masukan · Pembacaan cache — / 1K token Masukan · Penulisan cache — / 1K token Masukan · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiUltra | Jadwal tarif— | Jumlah yang ditagihkanSetiap titik kode Unicode dihitung sebagai satu karakter, termasuk karakter Han. | Jumlah penagihan— | Satuan penagihanper 1K karakter masukan | Biaya Masukan · karakter masukan $0.03 per 1K karakter masukan |
| KonfigurasiPer permintaan | Jadwal tarif— | Jumlah yang ditagihkan— | Jumlah penagihansatu permintaan | Satuan penagihan— | Biaya Masukan $0 per permintaan |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Contoh permintaan
Ailoot Ultra · Sintesis ucapan
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
Terima dan simpan hasil
Ailoot Ultra · Sintesis ucapan
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Pembacaan konten lain
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
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.
Simpan hasil biner dan header secara lengkap. Jika JSON atau beberapa keluaran dikembalikan, simpan setiap item data dan ambil data dari setiap URL aset bertanda tangan yang benar-benar dikembalikan.
Jika respons asli perlu diperiksa
Simpan operation_id/X-Client-Request-ID asli untuk rekonsiliasi tanpa pengiriman ulang; tidak ada rute polling khusus audio.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolombinary audio | Jenisbytes |
Kolomresponse headers | Jenisheaders |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiBidang wajib, representasi materi, atau nilai parameter tidak valid | Langkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru. |
Responsserver_error | KondisiRespons yang dikembalikan menyatakan bahwa operasi atau hasil perlu diperiksa | Langkah berikutnyaSimpan ID operasi/tugas asli yang dikembalikan, header permintaan, dan respons; lanjutkan pembacaan yang didukung untuk operasi asli tersebut. Jangan kirim ulang permintaan pembuatan. |
Alias
Alias model
Ailoot Ultra openai/tts-1
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · tts-1
- Input dan hasil apa yang tersedia?
POST /v1/audio/speech·openai/tts-1:text→audio- Kolom apa yang digunakan permintaan?
POST /v1/audio/speech·openai/tts-1:model,input,voice- Batasan apa yang berlaku?
POST /v1/audio/speech·openai/tts-1:input.maximum_length:4096