ایران ناتیفیکیشن

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

همان عملیات GET با بدنهٔ JSON؛ برای متن‌های بلند یا وقتی نمی‌خواهید متن در آدرس بیاید.

POSThttps://api.irnoti.com/v1/tts/say
scope: tts.say

متن فارسی را به فایل صوتی تک‌کانالهٔ آمادهٔ سانترال تبدیل می‌کند و **خود فایل** را برمی‌گرداند (نه JSON). قواعد هزینه، صداها، قالب‌ها و خطاها دقیقاً مثل GET /tts/say است. کلید را در هدر Authorization: Bearer irn_… بفرستید.

پارامترها

ناممحلنوعتوضیح
text *بدنهstringمتن فارسی.
voiceبدنهstringشناسهٔ صدا.
formatبدنهstringwav8k، wav16k، sln، ulaw یا alaw.

خطاهای خاص این endpoint

401unauthorizedکلید نامعتبر است، یا آزمایش رایگان بسته شده و کلیدی نفرستاده‌اید (key_required).
402insufficient_balanceاعتبار برای این جمله کافی نیست؛ قبل از تولید صدا رد می‌شود و هزینه‌ای ندارد.
403forbiddenکلید دامنهٔ tts.say ندارد یا ویژگی TTS برای حساب شما فعال نیست.
409kyc_requiredاحراز هویت تأیید نشده است.
422text_too_longمتن از سقف مجاز طولانی‌تر است (در آزمایش رایگان کوتاه‌تر).
422empty_textمتن چیزی برای خواندن ندارد (مثلاً فقط توضیح داخل [ ] یا ( ) است).
422unknown_voiceصدای خواسته‌شده در دسترس نیست؛ فهرست را از GET /public/tts/info بگیرید.
422unknown_formatقالب خواسته‌شده در دسترس نیست.
422daily_limitسقف حرف روزانهٔ کلید پر شده است.
429demo_limitسقف روزانهٔ آزمایش رایگان پر شده است یا درخواست‌ها در دقیقه زیاد بوده؛ با کلید API ادامه دهید.
502tts_failedموتور صدا پاسخ نداد؛ هزینه‌ای کم نشده است، دوباره تلاش کنید.
503tts_disabledسرویس موقتاً غیرفعال است.

اجرای زنده (محیط تست)

باز کردن در کنسول کامل ←

با یک کلید آزمایشی (در پنل ← وب‌سرویس ← «کلید آزمایشی») این درخواست را همین‌جا اجرا کنید. پیام واقعی ارسال نمی‌شود و هزینه‌ای کسر نمی‌شود.

curl -X POST 'https://api.irnoti.com/v1/tts/say' \
  -H "Authorization: Bearer $IRNOTI_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "text": "کد تأیید شما چهار هشت دو نه یک سه است",
  "format": "alaw"
}'
پاسخ نمونه200 OK
"(باینری) — X-TTS-Chars: 36, X-TTS-Price: 720"
تبدیل متن به گفتار (POST) — مستندات API | ایران ناتیفیکیشن