صدا و موسیقی

تبدیل متن به گفتار

متن را به فایل صوتی تبدیل می‌کند. پاسخ خودِ فایل صوتی است، نه JSON، و هزینه‌اش بر اساس تعداد نویسه‌های متن حساب می‌شود.

POST/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
200پاسخ

بایت‌های فایل MP3؛ Content-Type برابر audio/mpeg است.

بدنه‌ی درخواست

  • modelstringالزامی

    شناسه‌ی مدل گفتار، برای نمونه openai/tts-1. مدلی از نوع دیگر خطای model_kind_mismatch می‌دهد.

  • inputstringالزامی

    متنی که باید خوانده شود؛ حداکثر ۱۰٬۰۰۰ نویسه.

  • voicestring | objectالزامی

    نام صدا، یا شیئی به شکل { "id": "..." }. نام صداها را از /v1/audio/voices بگیرید.

  • response_formatstring

    قالب فایل خروجی.

    مقادیر مجاز:mp3opusaacflacwavpcm
  • speednumber

    سرعت خواندن، بین ۰٫۲۵ و ۴.

  • instructionsstring

    راهنمای لحن و سبک خواندن، حداکثر ۴٬۰۰۰ نویسه. اثرش به مدل بستگی دارد.

خطاها

  • invalid_request400

    بدنه نامعتبر است، برای نمونه input خالی یا speed بیرون از بازه. فیلد مشکل‌دار در param است.

  • model_kind_mismatch400

    مدل داده‌شده مدل گفتار نیست.

  • insufficient_credits402

    اعتبار برای رزرو هزینه کافی نیست.

  • model_not_found404

    مدل وجود ندارد یا کلید شما به آن دسترسی ندارد.

  • no_routable_target400

    مدل فعلاً مسیر قابل استفاده ندارد؛ کمی بعد دوباره امتحان کنید.

صفحه‌های مرتبط