tts-1
TTS-1 menukar teks yang disediakan menjadi audio pertuturan dengan pilihan suara, kelajuan main balik dan format output. OpenAI mengoptimumkan edisi ini untuk penjanaan pertuturan dengan kependaman lebih rendah, menjadikannya pilihan praktikal bagi bacaan audio responsif, narasi ringkas dan penghantaran skrip yang telah ditulis melalui penstriman.
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
TTS-1 ialah model teks-ke-pertuturan OpenAI yang dioptimumkan untuk kelajuan. Ia menerima perkataan yang akan dituturkan dan menghasilkan audio, bukannya transkripsi atau jawapan bertulis. Contoh pengeluar merangkumi narasi artikel bertulis, penghasilan pertuturan dalam beberapa bahasa dan main balik audio sebaik sahaja ia tiba. TTS-1 ialah pilihan dengan kependaman lebih rendah berbanding TTS-1 HD; model HD menekankan kualiti output. Oleh itu, keputusan yang berguna ialah sama ada main balik segera atau profil narasi berkualiti lebih tinggi lebih penting untuk tugas tersebut.
Aliran kerja penjanaan pertuturan berasaskan model, teks input dan suara terpilih. Rujukan OpenAI mengehadkan input teks kepada 4096 aksara, iaitu had aksara dan bukannya tetingkap konteks token. Sediakan skrip sebenar sebelum sintesis: tulis ayat yang patut didengar oleh pendengar, jelaskan singkatan dan tentukan cara nama, kuantiti serta tajuk perlu dituturkan. Untuk artikel panjang, susun bahagian menjadi petikan yang boleh difahami secara tersendiri, bukannya menganggap dokumen panjang sebagai satu permintaan pertuturan.
Senarai suara khusus model semasa OpenAI untuk TTS-1 ialah alloy, ash, coral, echo, fable, onyx, nova, sage dan shimmer. Ini ialah suara praset; ia bukan keseluruhan set suara bagi setiap model pertuturan yang lebih baharu. Suara tersebut dioptimumkan untuk bahasa Inggeris, manakala pertuturan berbilang bahasa disokong dengan menyediakan input dalam bahasa yang akan dituturkan. Pilih suara menggunakan petikan wakil dengan kosa kata dan kadar pertuturan yang sama seperti skrip akhir. Kekalkan pilihan itu merentas klip berkaitan apabila kesinambungan penting.
Audio boleh distrim dalam cebisan supaya main balik bermula sebelum seluruh fail selesai dijana. Ini ialah penstriman pertuturan yang dicipta daripada teks, bukannya perbualan lisan dua hala. Format output yang didokumentasikan ialah MP3, Opus, AAC, FLAC, WAV dan PCM, dengan MP3 sebagai lalai. MP3 dan AAC menyediakan audio termampat; Opus sesuai untuk penstriman dan komunikasi; FLAC tidak kehilangan data. WAV mengelakkan penyahkodan audio termampat, manakala PCM mentah mengandungi sampel 24 kHz, 16-bit bertanda little-endian tanpa pengepala fail. OpenAI mengesyorkan WAV atau PCM apabila masa respons menjadi keutamaan.
Rujukan pertuturan menyediakan tetapan kelajuan daripada 0.25 hingga 4.0, dengan 1.0 sebagai lalai. Medan arahan bahasa semula jadi tambahan tidak berfungsi dengan TTS-1, dan output SSE berbentuk peristiwa tidak disokong untuk model ini. Kawalan yang didokumentasikan ialah skrip, suara, kelajuan dan format audio; kawalan loghat, emosi atau bisikan daripada model lebih baharu tidak patut dikaitkan dengan edisi ini. Semasa menyediakan klip, pilih kelajuan yang membantu kebolehfahaman dan kemudian periksa perkataan serta jeda yang disuarakan, bukannya menganggap bilangan aksara skrip menetapkan tempoh yang tepat.
Panduan bahasa merangkumi bahasa Inggeris, Rusia, Ukraine, Perancis, Jerman, Sepanyol, Portugis, Itali, Arab, Cina, Jepun, Korea, Hindi, Kazakh dan banyak bahasa lain. Pertuturan mengikuti bahasa teks yang dibekalkan. Oleh itu, taklimat narasi berbilang bahasa bermula dengan skrip yang telah diterjemahkan dan khalayak sasaran; teks-ke-pertuturan ialah langkah penyampaian bersuara, bukannya arahan untuk menterjemah atau menulis semula teks. Untuk pengumuman praktikal, sediakan mesej dan nama yang tepat. Untuk narasi pendidikan, jelaskan sempadan bahagian dan takrif melalui perkataan yang akan dibaca.
Artifak siap boleh berupa arahan lisan ringkas, petikan bernarasi atau segmen audio untuk suntingan yang lebih besar. Semak sebutan, kelengkapan, kadar pertuturan dan format terpilih menggunakan output sebenar. Simpan skrip bersama audio supaya pembetulan kemudian boleh dihadkan kepada petikan yang terjejas. Panduan OpenAI mewajibkan pendengar diberitahu dengan jelas bahawa suara itu dijana oleh AI. Pendedahan itu ialah sebahagian daripada pengalaman mendengar; ia tidak menjadikan TTS-1 rakaman suara manusia atau menambah kawalan pengklonan suara kepada model.
Ailoot Ultra · Penjanaan suara POST /v1/audio/speech openai/tts-1
openai/tts-1Pengenalan
TTS-1 menukar teks yang disediakan menjadi audio pertuturan dengan pilihan suara, kelajuan main balik dan format output. OpenAI mengoptimumkan edisi ini untuk penjanaan pertuturan dengan kependaman lebih rendah, menjadikannya pilihan praktikal bagi bacaan audio responsif, narasi ringkas dan penghantaran skrip yang telah ditulis melalui penstriman.
- Input yang diterima
- Teks
- Hasil
- Audio
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Penjanaan suara POST /v1/audio/speech
- Input
text- Output
audio- Format output
- mp3
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had openai/tts-1 | Lalai— |
Medaninput | Jenisstring | KeperluanDiperlukan | Nilai & had Panjang minimum: 1 Panjang maksimum: 4,096 Unit: aksara Unicode | Lalai— |
Medanvoice | Jenisstring | KeperluanDiperlukan | Nilai & had alloy | Lalai— |
Gabungan bahan input
text_to_speech · Diperlukan: input
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, input, voice |
Parametervoice_ids | Kontrakalloy |
Parametermax_input_characters | Kontrak4096 |
Parameterother_options | Kontrakfalse |
Parameterinput | Kontrakteks UTF-8 tepat; kiraan aksara Unicode tanpa penormalan |
Parametermaterial_types | Kontraktext |
Kitar hayat: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id sebenar yang dikembalikan atau rekod pustaka media
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Pilih suara yang tepat daripada profil model ini.
Aksara input dan saat audio ialah ukuran penggunaan yang berbeza.
Pelan harga
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Tidak dinyatakan Apabila mod pantas dipilih
- Mod flex
- Tidak dinyatakan Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default
Kadar Ailoot
Harga mengikut konfigurasi
Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.
| Konfigurasi | Jadual kadar | Kuantiti yang boleh dibilkan | Kuantiti pengebilan | Unit pengebilan | Caj |
|---|---|---|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Kuantiti yang boleh dibilkan— | Kuantiti pengebilan— | Unit pengebilan— | Caj Input · Token input — / 1K token Output · Token output — / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiUltra | Jadual kadar— | Kuantiti yang boleh dibilkanSetiap titik kod Unicode dikira sebagai satu aksara, termasuk aksara Han. | Kuantiti pengebilan— | Unit pengebilanbagi setiap 1K aksara masukan | Caj Input · aksara input $0.03 bagi setiap 1K aksara masukan |
| KonfigurasiBagi setiap permintaan | Jadual kadar— | Kuantiti yang boleh dibilkan— | Kuantiti pengebilansatu permintaan | Unit pengebilan— | Caj Input $0 bagi setiap permintaan |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
Ailoot Ultra · Penjanaan suara
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 · Penjanaan suara
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Pembacaan kandungan 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, fail dan bahagian kandungan yang dikembalikan.
Simpan hasil binari dan pengepala yang lengkap. Jika JSON atau berbilang output dikembalikan, simpan setiap item data dan dapatkan setiap URL aset bertandatangan yang sebenar.
Jika respons asal perlu disemak
Simpan operation_id/X-Client-Request-ID asal untuk penyelarasan rekod tanpa penghantaran semula; tiada laluan khusus untuk meninjau status audio.
Medan respons
| Medan | Jenis |
|---|---|
Medanbinary audio | Jenisbytes |
Medanresponse headers | Jenisheaders |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sah | Langkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu. |
Responsserver_error | SyaratRespons yang dikembalikan menyatakan bahawa operasi atau hasil memerlukan semakan | Langkah seterusnyaSimpan ID operasi/tugas asal yang dikembalikan, pengepala permintaan dan respons; teruskan pembacaan yang disokong bagi operasi asal tersebut. Jangan hantar semula permintaan penciptaan. |
Alias
Alias model
Ailoot Ultra openai/tts-1
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
FAQ · tts-1
- Apakah input dan hasil yang tersedia?
POST /v1/audio/speech·openai/tts-1:text→audio- Apakah medan yang digunakan oleh permintaan?
POST /v1/audio/speech·openai/tts-1:model,input,voice- Apakah had yang terpakai?
POST /v1/audio/speech·openai/tts-1:input.maximum_length:4096