Ucapan
POST /v1/audio/speech mengubah teks menjadi audio ucapan. Ini mengikuti format text-to-speech OpenAI, sehingga client.audio.speech.create tetap berfungsi dengan base URL yang diubah. Model speech tersedia di halaman models — di antaranya tts-1, tts-1-hd, eleven-multilingual-v2, eleven-v3 dan gemini-2.5-flash-preview-tts.
Hasilkan audio
curl https://api.inferray.com/v1/audio/speech \
-H "Authorization: Bearer $INFERRAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1",
"input": "Your order has shipped and will arrive on Thursday.",
"voice": "alloy",
"response_format": "mp3"
}' \
--output speech.mp3
import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.inferray.com/v1", apiKey: process.env.INFERRAY_API_KEY });
const audio = await client.audio.speech.create({
model: "tts-1",
input: "Your order has shipped and will arrive on Thursday.",
voice: "alloy",
});
fs.writeFileSync("speech.mp3", Buffer.from(await audio.arrayBuffer()));
Isi respons adalah file audio itu sendiri, bukan JSON. Simpan byte-nya.
Parameter
| Parameter | Fungsinya |
|---|---|
model | Wajib. Model suara. |
input | Wajib. Teks yang akan diucapkan. |
voice | Suara. Setiap keluarga model punya suaranya sendiri; tanpa ini, suara bawaan model yang dipakai. |
response_format | mp3, wav, opus, aac, flac atau pcm, jika didukung model. Bawaannya bergantung pada model. |
speed | Kecepatan pemutaran, pada model yang mendukungnya. |
instructions | Arahan gaya seperti "bicara dengan hangat dan pelan", pada model yang menerimanya. |
Harga
Speech dihargai per karakter input (atau per token pada beberapa model), yang ditampilkan di halaman setiap model. Teks yang panjang akan lebih mahal secara proporsional, jadi hapus markup dan boilerplate sebelum mengirimkannya.
Tidak tersedia
Respons di-buffer dan dikembalikan sekaligus; streaming audio saat sedang dihasilkan tidak tersedia. Untuk suara dua arah secara live, sesi realtime belum tersedia.