AR ▾
واجهة API للنصوص غير الخاضعة للرقابة لخطوط عمل TTShttps://api.ttsapihub.com/v1

عنوان URL الأساسي لواجهة برمجة تطبيقات TTS: ما هو وما الذي يجب إدخاله

عنوان URL الأساسي هو الجزء المشترك الأولي من عنوان كل نقطة نهاية. تشرح هذه الصفحة ما الذي يجب وضعه هنا لهذه الخدمة، وهي واجهة برمجة تطبيقات لنماذج اللغة النصية وليست نقطة نهاية صوت، وكيفية ضبطها في الأدوات الشائعة.

تم التحديث

كتل المسار المتوهجة تنقسم إلى نقاط نهاية، توضح كيف يؤدي عنوان URL الأساسي إلى مسارات واجهة برمجة التطبيقات

نقاط رئيسية

  • عنوان URL الأساسي لهذا الـ API هو https://api.ttsapihub.com/v1;، وتُضاف مسارات مثل /chat/completions بعده.
  • على الرغم من اسم الموقع، تنتج نقطة النهاية النص فقط. لا توجد نقطة نهاية صوت أو كلام.
  • تحتاج معظم الأدوات المتوافقة مع OpenAI إلى ثلاث قيم فقط: عنوان URL الأساسي، ومفتاح API، ومعرف النموذج uncensored.
  • خطأان شائعان هما تكرار /v1 ولصق المسار الكامل /chat/completions في حقل عنوان URL الأساسي.

عنوان URL الأساسي، وواحدة من الأشياء التي يجب معرفتها أولاً

إذا وصلت إلى هنا بالبحث عن عنوان URL أساسي لواجهة برمجة تطبيقات tts، تحقق من تفصيل واحد قبل نسخ أي شيء: الخدمة وراء هذا الموقع هي واجهة برمجة تطبيقات لنموذج لغة نصي، وليست أداة تحويل نص إلى كلام. عنوان URL الأساسي هو https://api.ttsapihub.com/v1، وهو يعرض POST /v1/chat/completions و GET /v1/models. لا توجد نقطة مسار /audio/speech، ولا قائمة أصوات، ولا مخرجات صوتية.

هذا مهم لأن العديد من الأدوات تُسمي إعداداتها بشكل عام. حقل يُسمى base URL في العميل يعمل بنفس الطريقة سواء كان الخادم خلفه يُجيب بنص أو صوت. إذا كان هدفك تحويل النص إلى صوت، فإن نقطة النهاية هذه لن تفعل ذلك. أما إذا كان هدفك توليد النص الذي ستقرأه أداة الكلام لاحقًا، مثل مسودات النصوص أو الحوارات أو السرد، فهو مناسب جدًا. قائمة فحص خط معالجة TTS في الموقع هي المكان المناسب للنظر فيه عند تخطيط هذا النوع من سير العمل، وتوثيق البدء السريع يدرج كل معلمة طلب.

باقي هذه الصفحة ينطبق على أي عميل متوافق مع OpenAI، لذا فهو مفيد حتى لو كنت هنا فقط لتعلم كيفية عمل عناوين URL الأساسية.

ما هو عنوان URL الأساسي فعليًا

عنوان API يتكون من نصفين. النصف الأول يحدد الخدمة وإصدار واجهتها. النصف الثاني يحدد الإجراء. مكتبة العميل تربطهما معًا لك. مع مكتبات OpenAI SDK، تبدو القطع كالتالي:

الجزءالقيمة
عنوان URL الأساسيhttps://api.ttsapihub.com/v1
المسار الذي تضيفه مكتبة SDK للدردشة/chat/completions
العنوان الكامل الذي يتم الاتصال بهhttps://api.ttsapihub.com/v1/chat/completions
مسار قائمة النماذج/models

نظرًا لأن SDK يلحق المسار، فإنك تعطيه النصف الأول فقط. هذه هي الفكرة الكاملة وراء تبديل المزودين بتغيير سطر واحد: تنسيق الطلب مشترك، لذا فإن الشيء الوحيد الذي يتغير هو مكان إرسال الطلبات. يتغير المفتاح أيضًا، لأن كل خدمة تصدر مفتاحها الخاص. ويتغير اسم النموذج، لأن كل خدمة تسمى نماذجها الخاصة. بالنسبة إلى هذه API، معرف النموذج هو uncensored.

تفصيلان صغيران توفر الوقت. جزء الإصدار، /v1، ينتمي إلى عنوان URL الأساسي لأنه يحدد جيل الواجهة؛ واجهة غير متوافقة في المستقبل ستعيش تحت إصدار مختلف، ولن يتغير الكود الخاص بك حتى تنتقل. والشرطة المائلة الأخيرة في عنوان URL الأساسي تتحملها معظم مكتبات SDK، لكن من الأفضل تركه بدونه لكي لا تحتوي المسارات المدمجة على شرطين مائلين.

المصادقة هي رأس bearer قياسي: Authorization: Bearer YOUR_KEY. تبني مكتبات SDK هذا الرأس من المفتاح الذي تمرره، لذا نادراً ما تكتبه بنفسك إلا في curl.

ضبط عنوان URL الأساسي في الكود

Python

الحزمة الرسمية openai تأخذ وسيطة base_url. هذا استدعاء كامل ويعمل:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.ttsapihub.com/v1",
    api_key="YOUR_KEY",
)

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Write a two-line scene opening."}],
)
print(resp.choices[0].message.content)

Node

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.ttsapihub.com/v1",
  apiKey: process.env.API_KEY,
});

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Write a two-line scene opening." }],
});
console.log(resp.choices[0].message.content);

curl

مع curl، تكتب العنوان بالكامل بنفسك، لذا يتم تضمين المسار:

curl https://api.ttsapihub.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "uncensored", "messages": [{"role": "user", "content": "Say hello."}]}'

متغيرات البيئة

تقرأ الإصدارات الحديثة من مكتبات SDK الرسمية لـ OpenAI المتغير OPENAI_BASE_URL و OPENAI_API_KEY من البيئة عندما لا تمررها في الكود. هذا مفيد عندما تريد توجيه البرامج الموجودة إلى نقطة نهاية جديدة دون تعديلها. اضبطها في الطرفية أو مدير العمليات الخاص بك، ثم شغّل البرنامج كالمعتاد. تحقق من وثائق إصدار مكتبة SDK إذا لم تلتقطها.

ضبطها في المحررات والتطبيقات

الأدوات التي تقبل نقطة نهاية OpenAI مخصصة تطلب نفس القيم الثلاثة. تختلف الأسماء، لذا ابحث عن صياغة مثل التالية:

  • Cursor: في إعدادات النموذج يوجد خيار لتجاوز عنوان URL الأساسي لـ OpenAI. الصق https://api.ttsapihub.com/v1، أضف مفتاحك، وأضف uncensored كاسم نموذج مخصص. تتغير تسميات الواجهة بين إصدارات Cursor، لذا تعامل مع هذه الأسماء كدليل.
  • SillyTavern: اختر إكمال الدردشة، ثم مصدر مخصص (متوافق مع OpenAI)، واملأ نقطة النهاية والمفتاح والنموذج.
  • Open WebUI وواجهات الدردشة المماثلة: أضف اتصالًا من نوع OpenAI بعنوان URL الأساسي والمفتاح.
  • سكربتاتك الخاصة: أي عميل HTTP يعمل، لأن الواجهة هي JSON عادي عبر بروتوكول HTTPS.

بعض الأدوات تتحقق من الاتصال عن طريق استدعاء GET /v1/models. تدعم هذه API هذا المسار، لذا يمر الفحص. بعض الأدوات لا تسمح لك إلا باختيار من قائمة ثابتة؛ إذا كان لديك واحدة، ابحث عن حقل مخصص أو يدوي للنموذج بدلاً من القائمة المنسدلة.

تذكر ما هو الأداة مخصصة له. محرر مثل Cursor سيقوم بإرسال أسئلة الكود إلى نموذج دردشة عام، وهو ما يعمل. لكن الميزات التي تعتمد على نقاط نهاية خاصة، مثل التضمينات للبحث في الكود، غير متاحة هنا، لأن التضمينات غير مقدمة.

الأخطاء التي تسبب معظم أخطاء عنوان URL الأساسي

تأتي كل محاولة اتصال فاشلة تقريبًا من أحد هذه.

  1. تكرار الإصدار. عنوان URL الأساسي ينتهي بالفعل بـ /v1. إذا أضفت آخر، يصبح العنوان /v1/v1/chat/completions ويرد الخادم بخطأ عدم العثور.
  2. لصق المسار الكامل. حقل عنوان URL الأساسي يريد https://api.ttsapihub.com/v1، وليس https://api.ttsapihub.com/v1/chat/completions. ستضيف مكتبة SDK المسار مرة أخرى.
  3. استخدام عنوان الموقع. الموقع الذي تزوره ليس هو مضيف الـ API. تذهب الطلبات إلى المضيف api. الموضح أعلاه.
  4. إرسال طلب إلى مسار الصوت. المسارات مثل /audio/speech غير موجودة هنا وتُرجع خطأ.
  5. اسم النموذج غير الصحيح أو الغائب. أرسل دائمًا uncensored بحروف صغيرة.
  6. مشاكل المفتاح. وجود مسافة زائدة أو غياب بادئة Bearer في رأس HTTP مكتوب يدويًا يُسبب خطأ في المصادقة.

لتمييز مشكلة في عنوان URL عن مشكلة في المفتاح، اطلب قائمة النماذج. العنوان الصحيح مع مفتاح خاطئ يُسبب خطأ مصادقة. العنوان الخاطئ يُسبب خطأ "الموارد غير موجودة" أو خطأ DNS أو صفحة HTML بدلًا من JSON.

curl https://api.ttsapihub.com/v1/models -H "Authorization: Bearer $API_KEY"
# then a minimal chat call with the model ID "uncensored":
curl https://api.ttsapihub.com/v1/chat/completions -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"uncensored","messages":[{"role":"user","content":"ping"}],"max_tokens":5}'

احصل على مفتاح وتكلفة الاستخدام

تحتاج إلى مفتاح قبل أن يعمل أي شيء. سجّل حسابك باستخدام Google أو عبر البريد الإلكتروني وكلمة المرور في صفحة مفتاح API، ثم احصل على رصيد التجربة بقيمة $0.50 بنقرة واحدة. الرصيد صالح لمدة 7 أيام، بطلب واحد لكل شخص، ولا يتطلب بطاقة. يسمح مفتاح التجربة بإجراء طلبين متزامنين و60 طلبًا في الدقيقة، بينما يسمح المفتاح الكامل بإجراء 8 طلبات متزامنة و300 طلب في الدقيقة.

التسعير هو $0.15 لكل مليون رمز مدخل و$0.50 لكل مليون رمز مُخرج، ويُخصم من رصيد مسبق الدفع دون اشتراك. طلب يحتوي على 2,000 رمز مدخل و500 رمز مُخرج يكلف $0.0003 بالإضافة إلى $0.00025، أي ما مجموعه $0.00055. تتراوح عمليات الشحن من $20 إلى $500 مع مكافآت تبدأ من $50، ويمكنك الدفع بالبطاقة (Visa، Mastercard، Apple Pay، Google Pay) أو بالعملات المشفرة (USDT على TRC20، USDC على Base). يحتوي صفحة التسعير على الجدول الكامل. لا تُستخدم الموجّهات للتدريب، والنموذج مخصص للاستخدام القانوني للبالغين فقط، ولا يحتوي على محتوى جنسي يتضمن القاصرين.

أسئلة وأجوبة

ما هو عنوان URL الأساسي لهذه الواجهة؟

إنها https://api.ttsapihub.com/v1. أضف مسارات مثل /chat/completions بعدها، أو اترك الـ SDK يضيفها.

هل يمكنني استخدام نقطة النهاية هذه لتحويل النص إلى كلام؟

لا. تُرجع النص فقط، بدون توليد صوت أو صور أو فيديو. يمكنك استخدامها لكتابة النص الذي يحوله أداة أخرى إلى كلام.

هل أضيف /chat/completions إلى عنوان URL الأساسي في الـ SDK؟

لا. تضيف الـ SDK المسار تلقائيًا. فقط عملاء HTTP الخام مثل curl يحتاجون إلى العنوان الكامل.

ما اسم النموذج الذي يجب أن أرسله؟

أرسل uncensored. يمكنك تأكيد ما يعرضه الخادم عبر GET /v1/models.

لماذا تظهر أداة أن العنصر غير موجود بعد تعيين الـ URL؟

الأسباب الأكثر شيوعًا هي تكرار /v1، أو لصق المسار الكامل، أو استخدام عنوان موقع الويب بدلاً من عنوان api.

مفتاحك على بُعد نموذج واحد

أنشئ حسابًا، وانسخ المفتاح، ثم غيّر الرابط الأساسي. هذا هو الإعداد الكامل.

احصل على مفتاح API