BazaarLinkBazaarLink
Masuk
DokumentasiReferensi APIReferensi SDKPenggunaan AgentikSkill AI
Daftar isi

Panduan sintesis suara (TTS)

Panduan sintesis suara (TTS)

POST /v1/audio/speech bersifat OpenAI-compatible: kirim JSON dan terima berkas audio sebagai data biner. Keluarga ElevenLabs meliputi elevenlabs/eleven-v4, eleven-v4-turbo, eleven-v3, eleven-v3-conversational, eleven-multilingual-v2, eleven-flash-v2.5, eleven-flash-v2, eleven-turbo-v2.5, eleven-turbo-v2. Daftar terkini tersedia di GET /v1/models?output_modalities=speech. GET /v1/models secara bawaan hanya mengembalikan model teks, jadi tambahkan ?output_modalities=speech (atau all) untuk melihat daftarnya.

POST/v1/audio/speech

Parameter

ParameterTipeWajibDeskripsi
modelstringYaID model suara, misalnya elevenlabs/eleven-flash-v2.5.
inputstringYaTeks untuk disintesis: maksimal 4.096 karakter per permintaan (10.000 untuk elevenlabs/eleven-v4 dan eleven-v4-turbo). Pecah teks yang lebih panjang menjadi beberapa permintaan.
voicestringYaSuara yang digunakan; formatnya bergantung pada model. Lihat aturan suara di bawah.
response_formatstringTidakmp3 (bawaan) atau pcm. API menerima opus, aac, flac, dan wav, tetapi model ElevenLabs saat ini menolaknya dengan 400.
speednumberTidakKecepatan bicara dari 0.25 hingga 4.0. Tidak semua model menerapkannya.
instructionsstringTidakInstruksi gaya suara. Tidak semua model menerapkannya.
stabilitynumberTidakStabilitas suara, 0–1 (bawaan 0,5). Lebih rendah lebih ekspresif, lebih tinggi lebih datar. Berlaku pada model elevenlabs/* saat permintaan dilayani rute suara langsung kami; header respons X-Voice-Settings menunjukkan applied atau ignored.
similarity_boostnumberTidakKemiripan dengan suara asli, 0–1 (bawaan 0,75). Tidak dipakai oleh Eleven v3.
stylenumberTidakPenekanan gaya, 0–1 (bawaan 0). Di atas 0 menambah latensi. Tidak dipakai oleh Eleven v4.
use_speaker_boostbooleanTidakMeningkatkan kemiripan dengan pembicara asli (bawaan true); menambah sedikit latensi.
clone_strengthnumberTidakKekuatan kloning, 0–1 (0 disarankan untuk kebanyakan suara). Hanya untuk suara klon profesional milik Anda (voice_…) yang dilatih untuk Eleven v4.
language_codestringTidakKode bahasa dua huruf kecil (ISO 639-1) seperti ar, ja, atau en untuk menetapkan bahasa ucapan. Tidak dipakai oleh model multilingual-v2.
audio_effectsobjectTidakObjek efek audio opsional: filter_preset_id (mis. phone, old_radio), environment_id (ruang gema, mis. small_room, hall), background_noise_id (mis. cafe), distance (0–1), send_level (jumlah gema, 0–1), dan pan (−1…1). ID memakai huruf kecil, angka, dan garis bawah; tanpa biaya tambahan. Gema atau pan bukan 0 menghasilkan audio stereo dan tidak dapat digabung dengan keluaran pcm.

Ketujuh pengaturan suara di atas bersifat opsional; jika tidak dikirim, tidak ada yang berubah. Nilai di luar rentang mengembalikan 400 dan tidak dikirim maupun ditagih. Header respons X-Voice-Settings menunjukkan apakah pengaturan Anda dipakai: applied = dipakai; ignored = rute cadangan yang menjawab sehingga pengaturan Anda tidak dipakai (audio tetap dihasilkan); tanpa header = Anda tidak mengirim pengaturan suara. Contoh: stability 0 membaca lebih ekspresif, stability 1 lebih rata.

Aturan suara

Model ElevenLabs (elevenlabs/…) menerima salah satu nama suara berikut (tidak peka huruf besar/kecil): george, sarah, adam, alice, bella, bill, brian, callum, charlie, chris, daniel, eric, harry, jessica, laura, liam, lily, matilda, river, roger, will. Untuk model ElevenLabs, voice boleh dihilangkan (bawaan george). Nilai lain mengembalikan 400 invalid_voice. Suara kustom Anda sendiri (voice_…) dijelaskan di bagian Suara kustom di bawah.

Nama suara OpenAI-style seperti alloy, echo, atau nova hanya berlaku pada model yang mencantumkannya. Periksa halaman model untuk daftar suara.

Suara kustom (kloning) dibuka bertahap: lihat bagian Suara kustom di bawah (POST /v1/voices). Sampai diaktifkan untuk akun Anda, gunakan salah satu dari 21 nama preset di atas atau voice ID publik.

Mengirim alloy ke model ElevenLabs akan gagal
Jika model ElevenLabs menerima suara yang bukan voice ID maupun salah satu nama yang didukung (misalnya alloy atau Rachel), hasilnya 400 invalid_voice dan pesannya mencantumkan nama yang diterima. Permintaan gagal tidak ditagih.

Daftar suara bawaan

Isi voice dengan salah satu nama di bawah (huruf kecil). Setiap suara punya klip pratinjau singkat kami sendiri, dan GET /api/v1/audio/voices mengembalikan daftar lengkap (jenis kelamin, kelompok usia, aksen, gaya, dan URL pratinjau).

?lang= (en, zh-TW, zh-CN; default mengikuti Accept-Language) hanya memilih bahasa description. URL pratinjau tidak berubah: preview_urls.en (sama dengan preview_url) adalah klip bahasa Inggris, preview_urls.zh (sama dengan preview_url_zh) adalah klip bahasa Mandarin.

SuaraDeskripsiPratinjau
georgeMale, middle-aged, British accent. Mature and steady, suited to narration and storytelling.
sarahFemale, young adult, American accent. Professional and clear, suited to broadcast-style reading.
adamMale, middle-aged, American accent. Everyday and approachable, suited to short social videos.
aliceFemale, middle-aged, British accent. Professional and informative, suited to explainers and teaching.
bellaFemale, middle-aged, American accent. Professional and informative, suited to explainers and teaching.
billMale, senior, American accent. Crisp and direct, suited to advertising voice-overs.
brianMale, middle-aged, American accent. Polished and refined, suited to social and brand content.
callumMale, middle-aged, American accent. Expressive, suited to characters and animation.
charlieMale, young adult, Australian accent. Energetic and lively, suited to conversation.
chrisMale, middle-aged, American accent. Relaxed and casual, suited to conversation.
danielMale, middle-aged, British accent. Formal and measured, suited to news-style and educational reading.
ericMale, middle-aged, American accent. Polished and warm, suited to conversation.
harryMale, young adult, American accent. Rough and gritty, suited to character voices.
jessicaFemale, young adult, American accent. Bright and cute, suited to conversation.
lauraFemale, young adult, American accent. Playful with attitude, suited to social content.
liamMale, young adult, American accent. Confident and upbeat, suited to social content.
lilyFemale, middle-aged, British accent. Confident and clear, suited to explainers and teaching.
matildaFemale, middle-aged, American accent. Upbeat and friendly, suited to explainers and teaching.
riverNeutral voice, middle-aged, American accent. Calm and even, suited to conversation.
rogerMale, middle-aged, American accent. Polished and confident, suited to conversation.
willMale, young adult, American accent. Laid-back and easygoing, suited to conversation.

Tag emosi dan aksi (audio tags)

Tulis tag dalam kurung siku langsung di dalam input, misalnya [laughs], [whispers], [excited], [sighs], [crying], [curious] atau [softly]. Tag dikirim ke model persis seperti yang diketik dan menentukan cara kata-kata berikutnya dibawakan. Biarkan tag tetap dalam bahasa Inggris meskipun teksnya berbahasa lain.

curl https://api.bazaarlink.ai/v1/audio/speech \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"elevenlabs/eleven-v3","input":"[laughs] That was actually funny. [whispers] Do not tell anyone.","voice":"george","response_format":"mp3"}' \
  --output audio-tags.mp3

Didukung oleh elevenlabs/eleven-v3 dan keluarga elevenlabs/eleven-v4. Model suara lain tidak menafsirkan tag dan bisa membacakan isi kurung, jadi coba dulu dengan satu kalimat pendek.

Tag dihitung sebagai karakter input dan ditagih seperti teks lainnya.

Format keluaran

Jika response_format dihilangkan, bawaannya mp3 (Content-Type audio/mpeg); pcm (audio/pcm, PCM 16-bit mentah) juga berfungsi. API menerima opus, aac, flac, dan wav, tetapi model ElevenLabs saat ini menolaknya dengan 400. Simpan berkas sesuai header Content-Type respons.

Harga

Sintesis suara ditagih berdasarkan jumlah karakter masukan. Harga per karakter terdapat pada halaman model di /models dan dalam GET /v1/models sebagai pricing.character. Halaman model menampilkannya per sejuta karakter.

Contoh

curl https://api.bazaarlink.ai/v1/audio/speech \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"elevenlabs/eleven-flash-v2.5","input":"Hello from BazaarLink.","voice":"george","response_format":"mp3"}' \
  --output speech.mp3

Kesalahan umum

StatusPenyebab dan solusi
400Permintaan tidak valid: model, input, atau voice tidak ada; input lebih dari 4.096 karakter; speed di luar 0.25–4.0; response_format tidak didukung; Unknown voice; unknown_model (periksa ID di /models).
401Kunci API tidak ada atau tidak valid. Kirim Authorization: Bearer dengan kunci BazaarLink Anda.
402Saldo tidak cukup. Isi ulang lalu coba lagi.
403Kunci pengelolaan tidak dapat memanggil model, atau akun ditangguhkan. Gunakan kunci API biasa.
429Batas laju tercapai. Tunggu sesuai Retry-After lalu coba lagi.
502Layanan model sementara tidak tersedia atau pengiriman audio terputus. Coba lagi; permintaan yang gagal tidak dikenai biaya.

Referensi parameter lengkap: Sintesis suara

Sintesis suara

Ubah teks menjadi audio dengan ID model dari /v1/models?output_modalities=speech. Biaya mengikuti harga per juta karakter di halaman model. Seluruh audio ditampung dulu sebelum dikirim sebagai data biner; streaming bertahap belum didukung. Bidang kontrol perutean seperti provider, transforms, route, service_tier, dan preset diabaikan.

POST/v1/audio/speech
curl https://api.bazaarlink.ai/v1/audio/speech \
  -H "$BAZAARLINK_AUTH_HEADER" \
  -H "Content-Type: application/json" \
  -d '{"model":"<speech-model-id>","input":"Hello","voice":"alloy","response_format":"mp3"}' \
  --output speech.mp3

# Voice settings (elevenlabs/* models; the X-Voice-Settings response header says applied or ignored)
curl -D - https://api.bazaarlink.ai/v1/audio/speech \
  -H "$BAZAARLINK_AUTH_HEADER" \
  -H "Content-Type: application/json" \
  -d '{"model":"elevenlabs/eleven-v4","input":"Hello","voice":"george","stability":0.4,"similarity_boost":0.8,"style":0.2,"use_speaker_boost":true,"language_code":"en","audio_effects":{"distance":0.3}}' \
  --output speech.mp3
POST/v1/chat/completions

Gunakan audio atau input_audio pada /v1/chat/completions dengan model audio. Tarif token masukan/keluaran yang dikonfigurasi berlaku seragam pada seluruh token teks dan audio yang dilaporkan.

curl https://api.bazaarlink.ai/v1/chat/completions \
  -H "$BAZAARLINK_AUTH_HEADER" \
  -H "Content-Type: application/json" \
  -d '{"model":"<audio-chat-model-id>","messages":[{"role":"user","content":"Say hi."}],"stream":true,"modalities":["text","audio"],"audio":{"voice":"alloy","format":"pcm16"},"max_tokens":32}'
Support
Hi! How can we help you?
Send a message and we'll get back to you soon.
Panduan sintesis suara (TTS) | BazaarLink