واجهة API للصوت
أنشئ كلامًا من شيفرتك الخاصة بأصوات Voice Studio: صوت واحد أو نص كامل، بسعر 0.4 رصيد لكل حرف منطوق بأي لغة، مع تقدير مجاني مسبق.
أنشئ كلامًا من شيفرتك الخاصة باستخدام NueSpeak Apex، وهي الأصوات نفسها الموجودة في Voice Studio. تستهلك الطلبات رصيدًا من حسابك في NueForm: 0.4 رصيد لكل حرف منطوق (نحو $0.04 لكل 1,000 حرف) بأي لغة، ويُقرَّب إلى رصيد كامل للأعلى مرة واحدة لكل طلب. التقديرات مجانية.
تستخدم جميع نصوص الطلبات والاستجابات أسماء حقول بصيغة snake_case. تُعرَّف الأصوات بمعرّفات nv_… وعمليات الإنشاء بمعرّفات gen_….
تعمل مفاتيح Voice في جميع الخطط بمجرد أن يجري حسابك أول عملية شراء للرصيد (أو يكون على خطة مدفوعة) ويتحقق من بريده الإلكتروني. راجع مفاتيح واجهة API للصوت.
إنشاء كلام
/api/v1/voiceينشئ الصوت ويرد عندما يصبح جاهزًا (بشكل متزامن، بحد أقصى 5,000 حرف منطوق لكل طلب). أرسل Accept: audio/mpeg (أو audio/wav أو audio/ogg أو audio/basic أو audio/*) لتحصل على الصوت نفسه؛ وإلا تكون الاستجابة JSON مع audio.url يتطلب المصادقة.
يُخصم الرصيد عند بدء الطلب. تُعاد قيمة الأسطر التي تفشل تلقائيًا، ولا يُحتسب أي شيء ينتهي بخطأ. الطلب الذي خُصم رصيده لا ينتهي بخطأ أبدًا: إذا لم يكن صوته جاهزًا في الوقت المناسب، يرد بـ 202 مع الترويسة Location. احصل على الصوت من هناك بدلًا من إرسال الطلب مرة أخرى.
نص الطلب
modestring"speak" (صوت واحد يقرأ text) أو "script" (عدة أصوات) أو "estimate" (راجع تقدير التكلفة)
textstringspeak: الكلمات المراد قراءتها
voicestringصوت nv_… من عرض الأصوات. مطلوب في speak؛ وفي script هو صوت الأسطر التي لا تحمل وسم متحدث
linesarrayscript: أسطر منظمة، كل سطر {"speaker", "voice", "text"} أو توقف {"pause_ms": 800} (حتى 10,000)
scriptstringscript: تنسيق الأصوات المتعددة، سطر لكل متحدث: [Maya] Did you hear that?
castarrayscript: صوت لكل متحدث موسوم، [{"speaker": "Maya", "voice": "nv_…"}]
auto_convertbooleanتحويل سيناريو أو محادثة ملصوقة (MAYA: Hi) أولًا إلى تنسيق الأصوات المتعددة. مجاني، ضمن حد يومي
auto_castbooleanاختيار صوت لكل متحدث ليس له صوت. مجاني، ضمن حد يومي. أرسل language لنص ليس باللغة الإنجليزية
languagestringاسم لغة أو رمزها ("es" أو "Spanish"). الافتراضي: لغة الصوت نفسه
qualitystring"standard" (الافتراضي) أو "studio" أو "phone". السعر نفسه
speednumberمن 0.85 إلى 1.15 (الافتراضي 1)
formatstring"mp3" (الافتراضي) أو "wav" أو "ogg_opus" أو "mulaw_8k"
max_creditsintegerرفض الطلب (409، دون أي خصم) إذا كانت تكلفته أعلى
reusebooleanالافتراضي true: يُرد على أي طلب مطابق أُجري خلال آخر 30 يومًا بالصوت نفسه مقابل 0 رصيد
savebooleantrue يحتفظ بالصوت حتى تحذفه. الافتراضي: يُحذف بعد 30 يومًا
retake_ofstringإعادة إنشاء عملية إنشاء سابقة (راجع إعادة التسجيل)
titlestringعنوانها في Library الخاصة بك
حقول الاستجابة
idstringعملية الإنشاء (gen_…)
statusstring"ready" أو "rendering" (202: ما زال قيد الإنشاء) أو "partial" (فشلت بعض الأسطر ولا تكلف شيئًا) أو "failed"
audioobject or nullurl (أرسل مفتاح API الخاص بك) وformat وsample_rate وduration_seconds وretained_until
creditsobjectestimated وcharged (ما خصمه هذا الطلب) وremaining
linesarrayفي script فقط: speaker وvoice وtext وstatus وstart_ms وend_ms وcredits لكل سطر
retakes_remainingintegerعدد مرات إعادة التسجيل المجانية المتبقية لهذا المقطع
reusedbooleanصوت طلب سابق مطابق، مقابل 0 رصيد
أمثلة على الشيفرة
curl -X POST https://nueform.io/api/v1/voice \
-H "Authorization: Bearer $NUEFORM_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: audio/mpeg" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"mode": "speak",
"voice": "nv_7QmS2xK9aLpe3vT8a",
"text": "Fresh bread every morning at seven. Croissants too. See you on Main Street."
}' \
--output speech.mp3 --dump-header -
يحتوي هذا النص على 75 حرفًا منطوقًا، لذا تكلفته 30 رصيدًا (75 × 0.4).
ترويسات الاستجابة
HTTP/1.1 200 OK
Content-Type: audio/mpeg
NueForm-Generation-Id: gen_2cH4kXyQ9vLmNp3Rs
NueForm-Credits-Estimated: 30
NueForm-Credits-Charged: 30
NueForm-Credits-Remaining: 48730
NueForm-Rate-Card: 1
NueForm-Retakes-Remaining: 2
NueForm-Audio-Duration: 4.8
Idempotent-Replayed: false
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
X-RateLimit-Reset: 2026-11-04T18:13:00.000Z
استجابة JSON
{
"data": {
"id": "gen_2cH4kXyQ9vLmNp3Rs",
"object": "voice.generation",
"status": "ready",
"mode": "speak",
"source": "api",
"voice": { "id": "nv_7QmS2xK9aLpe3vT8a", "name": "Amara" },
"language": "English",
"characters": 75,
"audio": {
"url": "https://nueform.io/api/v1/voice/generations/gen_2cH4kXyQ9vLmNp3Rs/audio?format=mp3",
"format": "mp3",
"sample_rate": 24000,
"duration_seconds": 4.8,
"retained_until": "2026-12-04T18:12:00.000Z"
},
"credits": { "estimated": 30, "charged": 30, "remaining": 48730 },
"retakes_remaining": 2,
"reused": false,
"created_at": "2026-11-04T18:12:00.000Z"
},
"meta": { "rate_card": "1" }
}
النصوص متعددة الأصوات
ينطق النص متعدد الأصوات عدة أصوات في ملف صوتي واحد. أرسل lines منظمة (دون أي تحليل) أو script بتنسيق الأصوات المتعددة مع cast الخاص به. التوقفات ({"pause_ms": 800} أو (pause 2s) داخل النص) لا تكلف شيئًا؛ تُحتسب الحروف المنطوقة فقط.
تضيف الاستجابة lines: أين يبدأ كل سطر وينتهي في الصوت، وحالته، وما تعادله حروفه (credits، رقم عشري). يُحتسب الطلب مرة واحدة ويُقرَّب للأعلى. السطر الذي يفشل يظهر بقيمة "credits": 0 ولا يكلف شيئًا.
مع auto_convert يُحوَّل أولًا السيناريو أو المحادثة الملصوقة؛ ومع auto_cast يحصل كل متحدث بلا صوت على صوت.
مثال على طلب
{
"mode": "script",
"lines": [
{ "speaker": "Maya", "voice": "nv_7QmS2xK9aLpe3vT8a", "text": "Did you hear that?" },
{ "speaker": "Leo", "voice": "nv_P3vT8aLeQ2mwX4kZ9", "text": "Hear what?" },
{ "pause_ms": 800 },
{ "speaker": "Maya", "voice": "nv_7QmS2xK9aLpe3vT8a", "text": "Exactly. Nothing." }
],
"format": "wav"
}
أو تنسيق الأصوات المتعددة
{
"mode": "script",
"script": "[Maya] Did you hear that?\n[Leo] Hear what?\n(pause 1s)\n[Maya] Exactly. Nothing.",
"auto_cast": true
}
تقدير التكلفة
/api/v1/voiceيقبل "mode": "estimate" نص الطلب نفسه الذي يقبله speak أو script ويرد بالتكلفة الدقيقة دون إنشاء أي شيء. التقدير مجاني ولا يُحتسب ضمن حدود الإنشاء (حتى 300 في الدقيقة لكل مفتاح).
حقول الاستجابة
charactersintegerالحروف المنطوقة: ما يُحتسب
creditsintegerما سيخصمه الطلب بالضبط
seconds_estimatednumberالمدة التقريبية للصوت
balanceintegerرصيدك الحالي
enoughbooleanرصيدك (والحد الشهري للمفتاح إن وُجد) يغطي التكلفة
مثال
curl -X POST https://nueform.io/api/v1/voice \
-H "Authorization: Bearer $NUEFORM_API_KEY" \
-d '{"mode": "estimate", "voice": "nv_7QmS2xK9aLpe3vT8a", "text": "Fresh bread every morning at seven. Croissants too. See you on Main Street."}'
{
"data": {
"object": "voice.estimate",
"characters": 75,
"credits": 30,
"seconds_estimated": 4.8,
"balance": 48760,
"enough": true
},
"meta": { "rate_card": "1" }
}
بث الكلام
/api/v1/voice/streamيرسل الصوت أثناء إنشائه، فيبدأ تطبيقك بالتشغيل خلال ثانية تقريبًا بدلًا من انتظار المقطع كاملًا: وكيل ذكي، أو روبوت صوتي، أو قارئ. يقرأ صوت واحد text. عندما يكون محرك الصوت جاهزًا، يصل أول صوت عادةً خلال 1–2 ثانية مهما كان طول النص.
السعر هو سعر إنشاء كلام: 0.4 رصيد لكل حرف منطوق، يُقرَّب للأعلى مرة واحدة لكل طلب ويُخصم عند بدء البث. يقبل البث الواحد حتى نحو 200 ثانية من الكلام: نحو 3,100 حرف بالإنجليزية، وأقل في اللغات التي تُنطق ببطء أكبر (النص الأطول يعطي 413 TEXT_TOO_LONG مع max_characters). للنصوص الأطول، أرسل عدة عمليات بث أو استخدم POST /api/v1/voice.
قبل البايت الأول، أي فشل هو خطأ عادي ولا يكلّف شيئًا: إذا فشل محرك الصوت قبل أي صوت، تُعاد قيمة الخصم (500، أو 503 WARMING_UP مع Retry-After أثناء بدء تشغيل المحرك). بعد البايت الأول لا يمكن أن تتغير الحالة، لذا فإن البث الذي يفشل في منتصفه يتوقف قبل نهايته: يُبلغ عميل HTTP لديك عن نص استجابة غير مكتمل. استخدم NueForm-Generation-Id مع جلب عملية إنشاء لترى النسخة المحفوظة وتكلفتها. إذا أغلقت الاتصال، يكتمل البث ويُحفظ على أي حال، ولا تُعاد قيمته.
يُحفظ كل بث أيضًا كعملية إنشاء: يظهر في Library الخاصة بك ويقدّمه تنزيل الصوت، بمستوى صوت مضبوط مثل كل مقطع.
البث أم /voice؟ استخدم البث عندما ينتظر أحدٌ سماعه (الوكلاء، والروبوتات الصوتية، والقراءة بصوت عالٍ). استخدم POST /api/v1/voice للملفات، والنصوص متعددة الأصوات، وspeed، وإعادة التسجيل، والتقديرات. أدوات MCP لا تبث: إنها تنشئ الصوت بطريقة /voice.
نص الطلب
voicestringصوت nv_… من عرض الأصوات
textstringالكلمات التي ستُقرأ
formatstring"mp3" (الافتراضي، للمتصفحات)، أو "pcm_24k" (PCM خام أحادي القناة 16 بت little-endian بتردد 24,000 هرتز، للوكلاء)، أو "mulaw_8k" (G.711 μ-law بتردد 8 كيلوهرتز، للهاتف؛ و"ulaw_8000" يعمل أيضًا)
languagestringاسم لغة أو رمزها. الافتراضي: لغة الصوت نفسه
qualitystring"standard" (الافتراضي؛ "phone" مع mulaw_8k)، أو "studio"، أو "phone". السعر نفسه
max_creditsintegerرفض الطلب (409، دون أي خصم) إذا كانت تكلفته أعلى
savebooleantrue يحتفظ بالنسخة المحفوظة حتى تحذفها. الافتراضي: تُحذف بعد 30 يومًا
titlestringعنوانها في Library الخاصة بك
لا تتوفر speed والنصوص متعددة الأصوات وretake_of وreuse في البث (400، reason: "not_on_stream").
أمثلة على الشيفرة
curl -N -X POST https://nueform.io/api/v1/voice/stream \
-H "Authorization: Bearer $NUEFORM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"voice": "nv_7QmS2xK9aLpe3vT8a", "text": "Fresh bread every morning at seven.", "format": "mp3"}' \
--output stream.mp3
يحتوي هذا النص على 35 حرفًا منطوقًا، لذا تكلفته 14 رصيدًا (35 × 0.4).
ترويسات الاستجابة
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Transfer-Encoding: chunked
NueForm-Generation-Id: gen_2cH4kXyQ9vLmNp3Rs
NueForm-Credits-Estimated: 14
NueForm-Credits-Charged: 14
NueForm-Credits-Remaining: 48716
NueForm-Rate-Card: 1
NueForm-Audio-Format: pcm_24k
NueForm-Audio-Encoding: pcm_s16le
NueForm-Audio-Sample-Rate: 24000
NueForm-Audio-Channels: 1
X-Accel-Buffering: no
إعادة التسجيل
أرسل {"mode": "speak", "retake_of": "gen_…"} لإعادة إنشاء عملية إنشاء بالكلمات والأصوات واللغة والجودة والسرعة نفسها. لا يُرسل مع retake_of إلا mode وformat وmax_credits وsave.
- مجانًا مرتين خلال 24 ساعة من عملية الإنشاء، ما دامت حروف إعادة التسجيل المجانية للمفتاح هذا الشهر لا تتجاوز ربع الحروف التي احتُسبت عليه هذا الشهر. تحتفظ إعادة التسجيل المجانية بالمعرّف
gen_…نفسه. - وإلا فهي عملية إنشاء جديدة تُحتسب مثل أي طلب (0.4 رصيد لكل حرف)، ويشير
retake_ofإلى عملية الإنشاء التي أُعيد تسجيلها.
أرسل "mode": "estimate" مع retake_of لتعرف مسبقًا: تقول الاستجابة "free": true أو كم ستكلف.
عدم التكرار (Idempotency)
أرسل الترويسة Idempotency-Key (من 1 إلى 255 حرفًا، مثل UUID) مع طلبات speak وscript، فلا يمكن لأي إعادة محاولة أن تخصم مرتين:
- المفتاح نفسه مع نص الطلب نفسه يرد مجددًا بما أنشأه الطلب الأول دون خصم (
Idempotent-Replayed: trueوNueForm-Credits-Charged: 0)؛ - المفتاح نفسه مع نص طلب مختلف يعطي
409 CONFLICTمعreason: "idempotency_conflict"؛ - أثناء تنفيذ الطلب الأول،
409 CONFLICTمعreason: "request_in_progress"وRetry-After.
تُحفظ المفاتيح لمدة 24 ساعة، لكل مفتاح API.
في البث، يرد المفتاح نفسه مع النص نفسه بـ JSON: عملية الإنشاء التي أجراها الطلب الأول (لا يُبث مرة أخرى).
ترويسات الاستجابة
تذكر كل استجابة ما كلفته:
| الترويسة | المعنى |
|---|---|
NueForm-Generation-Id | عملية الإنشاء (gen_…) |
NueForm-Credits-Estimated | السعر المقدَّر للطلب |
NueForm-Credits-Charged | ما خصمه هذا الطلب بعد أي إعادة تلقائية للرصيد (0 للتقدير والمقطع المعاد استخدامه وإعادة التسجيل المجانية والإعادة وأي خطأ) |
NueForm-Credits-Remaining | رصيدك بعد ذلك |
NueForm-Rate-Card | إصدار جدول الأسعار الذي احتُسب الطلب وفقه |
NueForm-Retakes-Remaining | مرات إعادة التسجيل المجانية المتبقية لهذا المقطع |
NueForm-Audio-Duration | مدة الصوت بالثواني |
Idempotent-Replayed | مع Idempotency-Key: هل هذه استجابة لطلب سابق |
NueForm-Audio-Format, NueForm-Audio-Encoding, NueForm-Audio-Sample-Rate, NueForm-Audio-Channels | صوت البث: تنسيقه وترميزه ومعدل أخذ العينات وعدد القنوات |
X-RateLimit-Limit وX-RateLimit-Remaining وX-RateLimit-Reset | طلبات هذا المفتاح في هذه الدقيقة (راجع حدود الطلبات) |
عرض الأصوات
/api/v1/voice/voicesالأصوات الجاهزة من NueForm، ثم أصواتك وأصوات فرقك، ولكل صوت معرّف nv_… ولغته ومعاينة مجانية وسرعة نطقه. مجاني.
معاملات الاستعلام
sourcestring"all" (الافتراضي) أو "stock" أو "mine"
languagestringاسم لغة أو رمزها
genderstringمثل "female"
qstringالبحث في الأسماء والأساليب والتسميات
featuredbooleantrue: الأصوات الجاهزة المميزة فقط
الاستجابة
{
"data": [
{
"id": "nv_7QmS2xK9aLpe3vT8a",
"object": "voice",
"name": "Amara",
"source": "stock",
"type": "clone",
"language": "English",
"language_label": "English (US)",
"gender": "female",
"age": null,
"style": "Warm",
"featured": true,
"preview_url": "https://nueform.io/voice-previews/amara.mp3",
"team_id": null,
"can_delete": false,
"chars_per_second": 15.5,
"created_at": null
}
],
"meta": { "count": 1 }
}
حذف صوت
/api/v1/voice/voices/:idيحذف أحد أصواتك نهائيًا: عينته وموجّهاته ومعاينته، ثم الصوت نفسه. لا يُسترد الرصيد. ما دامت نماذج أو أرقام هواتف تستخدم الصوت، تكون الاستجابة 409 CONFLICT مع reason: "voice_in_use" وعددها؛ أرسل ?replacement=nv_… لتحويلها أولًا إلى صوت آخر.
الاستجابة
{
"data": {
"id": "nv_9LmQ2xT4aPe7vK3sW",
"object": "voice",
"deleted": true,
"switched": { "forms": 2, "numbers": 1 },
"forms_to_republish": 1
}
}
عرض عمليات الإنشاء
/api/v1/voice/generationsعمليات الإنشاء الخاصة بك، من الأحدث إلى الأقدم. انتقل إلى الصفحة التالية باستخدام meta.next_cursor.
معاملات الاستعلام
limitintegerمن 1 إلى 100 (الافتراضي 20)
cursorstringnext_cursor من الصفحة السابقة
sourcestringفقط ما أُنشئ عبر "api" أو "studio" أو "mcp" أو "app"
الاستجابة
{
"data": [
{ "id": "gen_2cH4kXyQ9vLmNp3Rs", "object": "voice.generation", "status": "ready", "credits": { "charged": 30 } }
],
"meta": { "next_cursor": null, "has_more": false }
}
جلب عملية إنشاء
/api/v1/voice/generations/:idعملية إنشاء واحدة، مع lines الخاصة بها إن كانت نصًا متعدد الأصوات. هنا يمثل credits.charged ما كلفته إجمالًا بعد أي إعادة تلقائية للرصيد.
تنزيل الصوت
/api/v1/voice/generations/:id/audioالصوت نفسه، يُبث باستخدام مفتاح API الخاص بك (مع دعم نطاقات البايت). قيمة ?format= هي mp3 (الافتراضي) أو wav أو ogg_opus أو mulaw_8k. يُنشأ Ogg/Opus وμ-law بتردد 8 كيلوهرتز عند أول طلب: الاستجابة 202 تعني "اطلب مجددًا بعد Retry-After ثانية". مجاني.
حذف عملية إنشاء
/api/v1/voice/generations/:idيحذف عملية الإنشاء وصوتها نهائيًا. لا يُسترد الرصيد. ترد عملية الإنشاء التي ما زالت قيد التنفيذ بـ 409 CONFLICT مع reason: "still_rendering".
التحقق من رصيدك
/api/v1/creditsالرصيد الذي يصرف منه مفتاحك، واستخدام المفتاح هذا الشهر، وجدول الأسعار. للقراءة فقط، بمفتاح Voice أو بمفتاح وصول كامل.
حقول الاستجابة
balanceintegerالرصيد الذي يمكنك صرفه الآن (10,000 رصيد = $1)
approxstringالرصيد بالدولار
keyobjectmonthly_credit_limit لهذا المفتاح (null = بلا حد) وspent_this_month وpaused وresets_at (اليوم الأول من الشهر، UTC)
voice_apiobjectcredits_per_character (0.4) وطريقة التقريب، وأن التقديرات مجانية
rate_cardobjectجميع الأسعار حسب الإجراء
الاستجابة
{
"data": {
"object": "credits",
"balance": 48730,
"approx": "≈ $4.87",
"currency": "usd",
"frozen": false,
"key": {
"id_prefix": "nf_a1b2c3d4",
"monthly_credit_limit": 100000,
"spent_this_month": 1240,
"paused": false,
"resets_at": "2026-12-01T00:00:00.000Z"
},
"voice_api": { "credits_per_character": 0.4, "rounding": "up_per_request", "estimate_free": true }
},
"meta": { "rate_card": "1" }
}
الأسعار
| البند | الرصيد | بالدولار |
|---|---|---|
| الكلام عبر واجهة API للصوت | 0.4 لكل حرف منطوق، بأي لغة | نحو $0.04 لكل 1,000 حرف |
| التقدير | 0 | مجاني |
مقطع معاد استخدامه (reuse) | 0 | مجاني |
| إعادة التسجيل | 0 مرتين خلال 24 ساعة (الاستخدام العادل)، ثم 0.4 لكل حرف |
يأتي الرصيد في حزم (بدءًا من $5 مقابل 50,000 رصيد) ولا تنتهي صلاحيته أبدًا. يمكن أن يكون للمفتاح حد شهري للرصيد: بمجرد أن يصرف هذا المقدار، تتلقى طلبات إنشاء الكلام والحذف منه 403 FORBIDDEN مع reason: "key_limit_reached" حتى اليوم الأول من الشهر التالي (ويظل بإمكانه عرض ما أنشأه وتنزيله)، وتستمر مفاتيحك الأخرى في العمل. تُدفع الطلبات من الأرصدة التي اختارها مالك المفتاح في الدفع لـ Voice Studio من في المحفظة: أرصدته الخاصة، ما لم يختر فريقًا. ولا يُستبدل الفريق العاجز عن الدفع بأرصدة المالك الخاصة أبدًا: يتلقى الطلب 403 FORBIDDEN مع reason: "team_payer_unavailable"، أو reason: "member_cap_reached" عند بلوغ حده الشهري كعضو، ولا يُحتسب أي شيء.
الأخطاء
تستخدم جميع الأخطاء تنسيق الأخطاء القياسي، ولا يُحتسب أي شيء ينتهي بخطأ. الأكثر شيوعًا:
| الحالة | code | متى |
|---|---|---|
| 402 | INSUFFICIENT_CREDITS | رصيدك لا يغطي الطلب (credits_required وcredits_available وtop_up_url؛ وpayer: "team" حين يكون الفريق الذي يدفع منه مالك المفتاح هو الذي لا يكفي رصيده، وعندها يفتح top_up_url المحفظة حيث يمكن تحويل الدفع لـ Voice Studio من إلى رصيده الخاص) |
| 403 | FORBIDDEN | reason: key_limit_reached أو account_gate أو scope_not_allowed أو cooldown أو voice_studio_suspended أو wallet_frozen أو member_cap_reached أو team_payer_unavailable |
| 409 | CONFLICT | reason: quote_exceeds_max_credits أو idempotency_conflict أو request_in_progress أو unit_rendering |
| 413 | TEXT_TOO_LONG | أكثر من 5,000 حرف منطوق (max_characters) |
| 422 | CONTENT_BLOCKED وVOICE_UNAVAILABLE وLANGUAGE_NOT_SUPPORTED_BY_VOICE وINVALID_SCRIPT | لا يمكن نطق النص أو الأصوات كما أُرسلت |
| 429 | RATE_LIMITED وCONCURRENCY_LIMIT | طلبات كثيرة جدًا (راجع حدود الطلبات) |
| 503 | CAPACITY وWARMING_UP وMODERATION_UNAVAILABLE وAI_UNAVAILABLE | أعد المحاولة بعد Retry-After ثانية |