Daftar isi
Panduan transkripsi audio
Panduan transkripsi audio
POST /v1/audio/transcriptions bersifat OpenAI-compatible: unggah audio sebagai multipart/form-data atau kirim input_audio base64 melalui JSON untuk menerima teks. Model mencakup elevenlabs/scribe-v2 dan elevenlabs/scribe-v2-medical. Daftar terkini tersedia di GET /v1/models?output_modalities=transcription. GET /v1/models secara bawaan hanya mengembalikan model teks, jadi tambahkan ?output_modalities=transcription (atau all) untuk melihat daftarnya.
/v1/audio/transcriptionsParameter
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| model | string | Ya | ID model transkripsi, misalnya elevenlabs/scribe-v2. |
| file | file | Ya | Berkas audio (multipart). Mendukung wav, mp3, mp4, m4a, ogg, flac, webm, aac. Maksimal 25 MiB. Klien JSON dapat mengirim input_audio: {data: base64, format}. |
| response_format | string | Tidak | json (bawaan) mengembalikan {text}; verbose_json menambahkan bahasa, durasi, dan segments/words. |
| language | string | Tidak | Petunjuk bahasa opsional seperti en atau zh. Kosongkan untuk deteksi otomatis. |
| prompt | string | Tidak | Teks konteks opsional untuk membantu mengenali nama dan istilah. Tidak semua model menerapkannya. |
| timestamp_granularities[] | string[] | Tidak | word dan/atau segment. Hanya diterapkan bersama response_format=verbose_json; selain itu diabaikan. Stempel waktu tingkat kata belum dikembalikan; segments dikembalikan. |
Format keluaran
response_format hanya menerima json atau verbose_json (text, srt, vtt tidak didukung). stream tidak didukung. Batas durasi audio berlaku per model, dengan nilai bawaan 60 detik. Audio yang lebih panjang ditolak sebelum diproses dengan 413 audio_too_long dan tidak dikenai biaya. Bagi rekaman panjang menjadi segmen.
Harga
Transkripsi ditagih per detik audio. Harga per detik terdapat pada halaman model di /models dan dalam GET /v1/models sebagai pricing.second; harga per menit 60 kali nilai itu. Respons usage menunjukkan detik yang ditagih, sedangkan usage.cost menunjukkan jumlah tagihan.
Contoh
curl https://api.bazaarlink.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $BAZAARLINK_API_KEY" \
-F model="elevenlabs/scribe-v2" \
-F file=@audio.mp3 \
-F response_format=verbose_json \
-F "timestamp_granularities[]=word"Kesalahan umum
| Status | Penyebab dan solusi |
|---|---|
| 400 | Permintaan tidak valid: model atau file tidak ada, audio kosong, response_format selain json/verbose_json, stream=true (unsupported_parameter), atau timestamp_granularities selain word/segment. |
| 401 | Kunci API tidak ada atau tidak valid. |
| 402 | Saldo tidak cukup. Isi ulang lalu coba lagi. |
| 413 | audio_too_large: audio terdekode melebihi 25 MiB. audio_too_long: audio melewati batas per model (bawaan 60 detik), ditolak sebelum diproses, dan tidak dikenai biaya. Kompres atau bagi audio. |
| 429 | Batas laju tercapai. Tunggu sesuai Retry-After lalu coba lagi. |
| 502 | Layanan model sementara tidak tersedia atau transfer audio terputus. Coba lagi; permintaan gagal tidak dikenai biaya. |
Transkripsi audio
Kirim multipart/form-data model dan file atau JSON model dan input_audio:{data,format} (base64 mentah). Format: wav, mp3, mp4, m4a, ogg, flac, webm, aac. Audio maksimal 25 MiB; isi permintaan 50 MiB untuk base64. audio.transcription_max_seconds_by_model mengatur batas per model; jika tidak ada, gunakan audio.transcription_max_seconds lalu bawaan 60 detik. Audio yang lebih panjang ditolak sebelum diproses dengan 413 audio_too_long dan tidak dikenai biaya. response_format hanya json atau verbose_json; timestamp_granularities word/segment perlu verbose_json. stream tidak didukung (400 unsupported_parameter); terlalu besar: 413 audio_too_large. provider diabaikan. Harga basis data per usage.seconds atau token masukan/keluaran; harga menit = 60 × harga detik. usage.cost adalah biaya pelanggan dalam USD.
/v1/audio/transcriptions