Fish Audio: Transcribe 1
Transcribe 1 mengubah rekaman audio pendek menjadi teks dengan deteksi bahasa otomatis dan stempel waktu tingkat kata opsional. Gunakan transkrip untuk catatan suara, klip yang dapat dicari, atau persiapan takarir, dengan memisahkan segmen berwaktu dari teks lengkap yang mudah dibaca.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
Transcribe 1 adalah model umum Fish Audio untuk mengubah ucapan menjadi teks dari rekaman pendek. Model ini menerima berkas audio dan mengembalikan kata-kata yang dikenali sebagai teks, disertai durasi rekaman, segmen berwaktu opsional, dan informasi bahasa jika diketahui. Model ini berguna untuk catatan suara pendek, instruksi lisan, cuplikan rekaman, atau klip audio yang memerlukan representasi teks yang mudah dibaca.
Contoh alur kerja catatan suara menyimpan rekaman bersama transkrip lengkap dan pengenal klip aslinya. Pada tahap aplikasi berikutnya, teks tersebut dapat dicari, catatannya ditata, atau ringkasannya disusun sambil mempertahankan sumber ucapan. Untuk perintah, transkrip menyediakan kata-kata yang dikenali kepada aplikasi; setiap tindakan merupakan tahap interpretasi dan eksekusi terpisah. Untuk cuplikan wawancara, catat posisi klip dalam audio lengkap agar kutipan dapat diperiksa di lokasi yang tepat.
Produsen menerima WAV, MP3, AAC termasuk M4A/MP4, FLAC, dan Ogg yang berisi Opus atau Vorbis. Rekaman peramban dalam WebM perlu dikonversi menjadi Ogg/Opus, MP3, atau WAV untuk model ini; dokumentasi Pro mencantumkan dukungan bawaan untuk kontainer tambahan. Berikan satu berkas audio per permintaan. Batas permintaan model dasar yang didokumentasikan adalah hingga 50 MiB, dengan berkas MP3 dan Opus di bawah 25 MiB. Ukuran berkas dan panjang rekaman adalah pertimbangan berbeda: berkas terkompresi dapat memenuhi batas unggahan tetapi tetap membutuhkan waktu pemrosesan terlalu lama.
Transcribe 1 dirancang untuk rekaman pendek. Produsen menyarankan Pro untuk audio yang lebih panjang dari beberapa menit; permintaan panjang pada model dasar dapat gagal jika melampaui batas waktu pemrosesan. Saat menyiapkan sumber panjang menjadi klip pendek untuk transkripsi, pertahankan offset awal setiap klip dan pastikan transkrip yang dikembalikan mencakup seluruh klip sebelum menggabungkan hasilnya. Tambahkan offset asli ke waktu segmen lokal agar navigasi tetap terhubung dengan rekaman lengkap. Panduan model dasar tidak boleh diartikan sebagai batas terpisah Pro selama 60 menit.
Respons produsen mencakup teks, durasi, dan segmen. Durasi dinyatakan dalam detik, dan transkrip lengkap yang mudah dibaca harus disimpan sebagai susunan kata utama klip. Stempel waktu bersifat opsional: ignore_timestamps bernilai bawaan true pada API produsen, sedangkan false meminta segmen tingkat kata dengan teks serta waktu awal dan akhir dalam detik. Permintaan penyelarasan menambah waktu pemrosesan. Array segments yang kosong dapat mencerminkan penentuan waktu yang dilewati, tidak adanya ucapan, atau penyelarasan yang sementara tidak tersedia, sehingga tidak otomatis berarti transkrip lengkapnya kosong.
Segmen umumnya berupa kata, atau satu hingga beberapa karakter dalam bahasa Mandarin dan Jepang. Teks segmen menghilangkan tanda baca dan dapat menormalkan suatu nilai secara berbeda dari transkrip lengkap; teks itu bukan salinan karakter demi karakter dari respons yang mudah dibaca. Suatu segmen dapat memiliki waktu awal dan akhir yang sama. Gunakan segmen untuk menemukan posisi dalam rekaman atau menyiapkan tampilan berwaktu, dan gunakan teks lengkap ketika susunan kata serta tanda baca penting. Pertahankan perbedaan kedua representasi tersebut dalam artefak hasil.
Bahasa dideteksi secara otomatis, baik petunjuk bahasa opsional diberikan maupun tidak. Produsen mendokumentasikan kode ISO 639-1 huruf kecil untuk petunjuk dan mengembalikan kode bahasa untuk logika aplikasi beserta nama bahasa untuk tampilan jika diketahui. Respons melaporkan satu bahasa, bukan setiap bahasa dalam rekaman yang berganti-ganti bahasa. Simpan susunan kata sumber dan metadata bahasa yang tersedia bersama hasil, alih-alih memperlakukan permintaan transkripsi sebagai operasi penerjemahan.
Untuk alur kerja takarir, kelompokkan segmen berwaktu yang berurutan menjadi potongan takarir yang mudah dibaca, bukan menampilkan satu kata setiap kali. Keluaran yang berguna adalah berkas SRT atau WebVTT yang terhubung ke klip asli, dengan batas potongan yang sesuai jeda dan jumlah teks di layar yang nyaman dibaca. Periksa waktu yang hilang dan pastikan akhir setiap potongan sesudah awalnya. Pengelompokan takarir dan pemformatan berkas merupakan tahap aplikasi yang dibangun dari penyelarasan yang dikembalikan, dan pilihan tampilannya perlu sesuai dengan pemutar serta audiens.
Kontrol Transcribe 1 yang didokumentasikan adalah audio, petunjuk bahasa, dan pilihan stempel waktu. Penanda pembicara, giliran pembicara terstruktur, kontrol peristiwa emosi, dan petunjuk jumlah pembicara milik Pro merupakan fitur terpisah; semuanya bukan bagian dari kontrak respons model dasar ini yang didokumentasikan. Pilih artefak yang diperlukan sebelum pemrosesan: teks biasa yang mudah dibaca untuk catatan, atau teks beserta penyelarasan untuk navigasi pemutaran dan takarir. Mempertahankan pengenal klip, transkrip, dan informasi waktu yang tersedia membuat hasilnya berguna bagi tahap aplikasi berikutnya.
Ailoot Ultra · Transkripsi POST /v1/audio/transcriptions fish-audio/transcribe-1
fish-audio/transcribe-1Mulai
Transcribe 1 mengubah rekaman audio pendek menjadi teks dengan deteksi bahasa otomatis dan stempel waktu tingkat kata opsional. Gunakan transkrip untuk catatan suara, klip yang dapat dicari, atau persiapan takarir, dengan memisahkan segmen berwaktu dari teks lengkap yang mudah dibaca.
- Masukan yang diterima
- Audio
- Hasil
- Teks
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Transkripsi POST /v1/audio/transcriptions
- Masukan
audio- Keluaran
text
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan fish-audio/transcribe-1 | Bawaan— |
Kolominput_audio | Jenisobject | PersyaratanWajib | Nilai & batasan | Bawaan— |
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, input_audio |
Parametermaterial_types | Kontrakaudio |
Parametermaterial_conditions | KontrakContoh ini membaca berkas PCM WAV Anda yang benar-benar ada dan tidak kosong, mengodekan seluruh byte berkas sebagai base64, lalu mengirim input_audio.format dengan nilai wav. |
Siklus hidup: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id persis dari catatan media milik Ailoot yang sudah ada
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
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 | Satuan penagihan | Biaya |
|---|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | 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 |
| Konfigurasidetik audio masukan | Jadwal tarif— | Satuan penagihanper detik audio masukan | Biaya Masukan · detik audio masukan $0.0002 per detik audio masukan |
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 · Transkripsi
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}"
export AILOOT_AUDIO_FILE
python3 - <<'PY_REQUEST'
import base64, io, json, os, wave
from pathlib import Path
audio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()
if not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):
raise SystemExit('Supply your actual PCM WAV audio file')
with wave.open(io.BytesIO(audio), 'rb') as recording:
if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:
raise SystemExit('Supply a nonempty PCM WAV recording')
request = {'model': 'fish-audio/transcribe-1', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}
Path('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o response.bin
# Retain the complete original response, headers and actual X-Client-Request-ID.
# Read existing owned records for recovery; do not resubmit an uncertain operation.
Terima dan simpan hasil
Ailoot Ultra · Transkripsi
Isi respons asli secara utuh, status, dan header yang diteruskan. Handler ini tidak menambahkan struktur JSON universal, bidang teks, atau pembungkus tugas.
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.
Simpan respons dan header secara lengkap, setiap keluaran aktual, identifikator asli yang dikembalikan, dan semua kolom usage. Pulihkan operasi asli tanpa mengirim ulang permintaan pembuatan.
Jika respons asli perlu diperiksa
Simpan X-Client-Request-ID aktual dan respons secara utuh. Baca aset asli yang dimiliki beserta URL konten bertanda tangan yang persis; jangan pernah kirim ulang pembuatan yang statusnya belum pasti.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolomtext (when present) | Jenis |
Kolomusage (when present) | Jenis |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiIsi JSON atau ID model kanonis eksplisit tidak valid. | Langkah berikutnyaSimpan respons dan perbaiki bidang permintaan yang ditunjukkan. |
Respons401 · authentication_error | KondisiKunci API Ailoot tidak valid. | Langkah berikutnyaGunakan kunci API Ailoot Anda yang diotorisasi. |
Respons403 · permission_error | KondisiGrup kunci tidak mengizinkan metode ini. | Langkah berikutnyaSimpan rincian kesalahan yang dikembalikan. |
Respons404 · not_found_error | KondisiMetode yang dipilih tidak memiliki rute yang diizinkan. | Langkah berikutnyaSimpan rincian kesalahan yang dikembalikan. |
Respons422 · price_unavailable | KondisiTarif yang diterima tidak dapat memperoleh jumlah atau batas masukan yang diwajibkan. | Langkah berikutnyaSimpan respons; gunakan representasi masukan yang diwajibkan oleh tarif yang diterima. |
Respons503 · | KondisiPenyimpanan, rute, harga metode, atau pencadangan dana yang diperlukan tidak tersedia. | Langkah berikutnyaSimpan respons asli secara utuh. Pencadangan dana yang belum pasti tidak mengizinkan pengiriman ulang. |
Respons502 · server_error | KondisiHasil awal, penggunaan, atau penyelesaian tagihan perlu diperiksa. | Langkah berikutnyaSimpan ID permintaan aktual dan respons asli. Baca catatan yang dimiliki yang sudah ada; jangan kirim ulang pembuatan. |
Alias
Alias model
Ailoot Ultra fish-audio/transcribe-1
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · Fish Audio: Transcribe 1
- Input dan hasil apa yang tersedia?
POST /v1/audio/transcriptions·fish-audio/transcribe-1:audio→text- Kolom apa yang digunakan permintaan?
POST /v1/audio/transcriptions·fish-audio/transcribe-1:model,input_audio