صدا و موسیقی
تبدیل متن به گفتار
متن را به فایل صوتی تبدیل میکند. پاسخ خودِ فایل صوتی است، نه JSON، و هزینهاش بر اساس تعداد نویسههای متن حساب میشود.
/v1/audio/speechیک مدل گفتار (tts) و متن را بفرستید؛ پاسخ مستقیماً بایتهای فایل صوتی است و Content-Type همان نوع فایل را نشان میدهد. برای ذخیرهی فایل، خروجی را در یک فایل بنویسید (در curl با -o).
هزینه به تعداد نویسههای input بستگی دارد و پیش از اجرا رزرو میشود. قیمت هر مدل در صفحهی /models است. این درخواست همزمان اجرا میشود و job نیست.
فهرست صداها را با GET /v1/audio/voices بگیرید.
نمونهها
curl https://1ai.ir/v1/audio/speech \
-H "Authorization: Bearer $ONEAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/tts-1",
"input": "Welcome to 1ai. Your order has shipped.",
"voice": "alloy"
}' \
--output speech.mp3بایتهای فایل MP3؛ Content-Type برابر audio/mpeg است.
بدنهی درخواست
modelstringالزامیشناسهی مدل گفتار، برای نمونه
openai/tts-1. مدلی از نوع دیگر خطایmodel_kind_mismatchمیدهد.inputstringالزامیمتنی که باید خوانده شود؛ حداکثر ۱۰٬۰۰۰ نویسه.
voicestring | objectالزامینام صدا، یا شیئی به شکل
{ "id": "..." }. نام صداها را از/v1/audio/voicesبگیرید.response_formatstringقالب فایل خروجی.
مقادیر مجاز:mp3opusaacflacwavpcmspeednumberسرعت خواندن، بین ۰٫۲۵ و ۴.
instructionsstringراهنمای لحن و سبک خواندن، حداکثر ۴٬۰۰۰ نویسه. اثرش به مدل بستگی دارد.
خطاها
invalid_request400بدنه نامعتبر است، برای نمونه
inputخالی یاspeedبیرون از بازه. فیلد مشکلدار درparamاست.model_kind_mismatch400مدل دادهشده مدل گفتار نیست.
insufficient_credits402اعتبار برای رزرو هزینه کافی نیست.
model_not_found404مدل وجود ندارد یا کلید شما به آن دسترسی ندارد.
no_routable_target400مدل فعلاً مسیر قابل استفاده ندارد؛ کمی بعد دوباره امتحان کنید.
صفحههای مرتبط
- فهرست صداهاصداهایی را برمیگرداند که در تبدیل متن به گفتار میتوان به کار برد، برای همهی مدلها یا برای یک مدل گفتار مشخص.
- تبدیل گفتار به متنیک فایل صوتی را به متن تبدیل میکند. درخواست multipart است و هزینه بر اساس طول صدا حساب میشود.
- خطاهاقالب دقیق خطا در /v1، فهرست وضعیتها و کدها و اینکه کدام خطا را باید دوباره فرستاد.