البدء السريع لخطوط Xtts
قم بدمج واجهة النص بدون رقابة في خط استنساخ الصوت الخاص بك باستخدام دليل البدء السريع هذا. تعلّم كيفية توليد النصوص والترجمات والنصوص الخام باستخدام نقاط النهاية المتوافقة مع OpenAI.
المصادقة وعنوان URL الأساسي
ابدأ بالانتقال إلى صفحة الحصول على مفتاح API وتسجيل الدخول باستخدام حساب Google أو كلمة مرور البريد الإلكتروني. ستتلقى مفتاح API فريدًا على الفور. استخدم عنوان URL الأساسي https://api.xtts.cc/v1 لجميع الطلبات. هذا العنوان متوافق مع الـ SDK الرسمية لـ OpenAI وأي عميل يدعم نموذج chat-completions الخاص بـ OpenAI.
أدرج مفتاحك في رأس Authorization كرمز Bearer. معرّف النموذج الذي يجب إرساله هو uncensored. هذا النموذج مفتوح الأوزان مستضاف على خوادمنا ومضبط للإجابة دون رفض المحتوى للاستخدام القانوني للبالغين، مما يضمن أن خط أنابيب الصوت الخاص بك يتلقى النص الخام الذي يحتاجه.
توليد النص بدون رقابة
أرسل طلب POST إلى /v1/chat/completions مع الموجّهات الخاصة بالنظام والمستخدم. تُرجع واجهة برمجة التطبيقات JSON هيكلي يحتوي على النص المُولّد. صُممت نقطة النهاية هذه لكتابة الموجّهات، وتوليد النصوص، ومهام المعالجة اللاحقة في عملية استنساخ الصوت الخاصة بك.
يتضمن جسم الطلب اسم النموذج، وسجل الرسائل الخاص بك، ومعاملات اختيارية مثل temperature أو top_p. يمكنك التحكم في طول الإخراج باستخدام المعامل max_tokens. إذا لم تضبط max_tokens، فقد يمتد الاستجابة إلى نهاية نافذة السياق.
curl https://api.xtts.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
تكامل SDK Python
استخدم SDK الرسمي لـ Python من OpenAI للتفاعل مع واجهة برمجة التطبيقات الخاصة بنا. اضبط base_url إلى نقطة النهاية الخاصة بنا وقم بتوفير مفتاح API الخاص بك. يتيح لك هذا النهج الاستفادة من هياكل الأكواد الحالية مع الاستفادة من سلوك النموذج بدون رقابة.
أنشئ مثيل عميل باستخدام Base URL ثم استدعي chat.completions.create. مرر معرف النموذج uncensored ورسائلك. يحتوي كائن الاستجابة على النص المُولّد في content. هذه الطريقة مثالية لبرامج معالجة الدفعات أو دمج توليد النص في تطبيقات Python الأكبر حجمًا.
from openai import OpenAI
client = OpenAI(base_url="https://api.xtts.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
تكامل SDK Node
لبيئات JavaScript، استخدم مكتبة OpenAI لـ Node. قم بتكوين العميل باستخدام عنوان URL الأساسي ومفتاح API الخاص بنا. يمكّنك هذا الإعداد من توليد النص مباشرة في تطبيقات الويب أو الخوادم الخاصة بك.
استدعي نقطة نهاية إكمال المحادثة مع نموذج uncensored. يوفر الاستجابة النص المُولّد، والذي يمكنك بعد ذلك تمريره إلى محرك توليف الصوت. هذا التكامل مناسب لتوليد النص في الوقت الفعلي في تطبيقات الويب أو خدمات الخلفية التي تعد النصوص لاستنساخ الصوت.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.xtts.cc/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
استجابات البث المتدفق
فعّل البث المتدفق عن طريق تعيين stream إلى true في طلبك. تُرجع واجهة برمجة التطبيقات أحداث SSE لكل رمز. هذه الميزة مفيدة لعرض النص في الوقت الفعلي أو التحضير التدريجي لتوليف الصوت.
تحتوي كل قطعة حدث على نص جزئي. تتضمن القطعة الأخيرة إحصائيات الاستخدام، مثل عدد الرموز. يضمن البث معالجة تطبيقك للنص أثناء توليده، مما يقلل من زمن الاستجابة المدرك للمستخدمين. تعامل مع أحداث البث لتراكم الاستجابة الكاملة.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
حدّ المعدل والمعاملات
يقتصر كل مفتاح API على 300 طلب في الدقيقة و8 طلبات متزامنة. يجب ألا يتجاوز جسم الطلب 8 MB. إذا أرسلت مفتاحًا غير صالح، فستحصل على خطأ 401. إذا استنفدت رصيدك المسبق الدفع، فستحصل على خطأ 402. يؤدي تجاوز حدّ المعدل إلى خطأ 429.
تدعم نافذة السياق 100,000 رمز إجماليًا، بما في ذلك كل من الموجّه والإكمال. لا يوجد حد أقصى منفصل للإخراج، ويمكنك تحديد قيمة max_tokens أقل إذا كنت ترغب في رد أقصر. لا تستهلك الأخطاء والرفضات رصيدك المسبق للدفع. دعم استدعاء الدوال ووضع JSON متاح لاستخراج البيانات المهيكلة.
مواصفات API
كل الحدود والميزات الفعلية للـ API في مكان واحد — راجعها قبل شحن الرصيد.
| البند | القيمة |
|---|---|
| صيغة API | متوافق مع OpenAI: يعمل أي SDK من OpenAI بتغيير base URL والمفتاح فقط |
| نقاط النهاية | POST /v1/chat/completions · GET /v1/models |
| المصادقة | Authorization: Bearer YOUR_KEY |
| معرّف النموذج | uncensored |
| Base URL | https://api.xtts.cc/v1 |
| استدعاء الدوال | نعم — tools و tool_choice؛ الرد يتضمن tool_calls حتى أثناء البث؛ تُرسل النتائج كرسالة role: tool |
| أقصى مخرجات | حتى ما تبقى من نافذة 100,000 رمزًا؛ max_tokens اختياري (بلا حد منفصل) |
| المعاملات | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| وضع JSON | response_format: {"type": "json_object"} |
| نافذة السياق | 100,000 رمز (المدخلات والمخرجات معاً) |
| البث المتدفق | نعم — server-sent events؛ آخر جزء يتضمن استهلاك الرموز |
| حجم الطلب | حتى 8 MB |
| الطلبات المتزامنة | حتى 8 في الوقت نفسه لكل مفتاح |
| ترويسات الرد | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| حدّ المعدل | 300 طلب في الدقيقة لكل مفتاح |
| رصيد تجريبي مجاني | $0.50 لمدة 7 أيام، بدون بطاقة · مفتاح تجريبي: طلبان متوازيان، 60 طلبًا في الدقيقة؛ الحدود الكاملة (8 و300) بعد أول شحن |
| السعر | $0.15 لكل مليون رمز مدخلات · $0.50 لكل مليون رمز مخرجات |
| الفوترة | رصيد مسبق الدفع حسب الاستهلاك الفعلي؛ الأخطاء والرفض مجانية |
| شحن الرصيد | USDT (TRC20) أو USDC (Base)، أي مبلغ صحيح من $20 إلى $500 |
| مكافأة | +5% من $50، +10% من $100، +15% من $200 |
| الصلاحية | الرصيد المدفوع لا تنتهي صلاحيته، بدون اشتراك |
| تسجيل الدخول | Google أو البريد الإلكتروني وكلمة المرور |
| المفاتيح | مفتاح نشط واحد لكل حساب؛ المفتاح الجديد يحل محل القديم |
| المحتوى | محتوى البالغين مسموح؛ يُرفض أي محتوى جنسي يتعلق بالقاصرين |
رموز الأخطاء
تصل الأخطاء بصيغة JSON مع type ثابت؛ الطلبات الفاشلة أو المرفوضة لا تُحتسب.
| HTTP | النوع | المعنى |
|---|---|---|
400 | bad_request | JSON غير صالح أو رسائل فارغة أو معامل خاطئ أو تجاوز نافذة السياق |
401 | missing_key · invalid_key · key_revoked | لا يوجد مفتاح أو المفتاح خاطئ أو تم استبداله |
402 | no_credit | الرصيد فارغ — اشحن وتستأنف الطلبات فوراً |
403 | content_blocked | محتوى جنسي يتعلق بقاصرين — مرفوض دون احتساب |
404 | not_found | نقطة نهاية غير معروفة |
413 | request_too_large | جسم الطلب أكبر من 8 MB |
429 | rate_limited · concurrency | تجاوز 300 في الدقيقة أو 8 متزامنة — انتظر ثم أعد المحاولة |
503 | upstream_busy | النموذج مشغول — أعد المحاولة بعد ثوانٍ |
أسئلة وأجوبة
كيف أشحن رصيد مسبق الدفع الخاص بي؟
يمكنك شحن الرصيد بالعملات المشفرة فقط (USDT على TRC20، USDC على Base). تتراوح المبالغ المقبولة من $20 إلى $500. تحصل على مكافأة بنسبة 5% للشحنات بقيمة $50 أو أكثر، ومكافأة بنسبة 10% لمبلغ $100 أو أكثر. الرصيد لا ينتهي.
هل تولد الواجهة الصوت أو الفيديو؟
لا، هذه الواجهة مخصصة حصريًا لتوليد النصوص. توفر استجابة نصية بدون رقابة يمكنك تغذيتها في خطوط إنتاج توليف الصوت أو الفيديو الخاصة بك. لا تنتج ملفات صوت أو صور أو فيديو مباشرة.
ما هو عرض التجربة؟
يحصل المستخدمون الجدد على رصيد تجريبي بقيمة 0.50 دولار، لمرة واحدة لكل شخص، صالح لمدة 7 أيام. احصل على هذا الرصيد بنقرة واحدة في صفحة مفتاح API الخاص بك. لا يتطلب التسجيل بطاقة ائتمان. يتيح لك ذلك اختبار واجهة برمجة التطبيقات قبل شراء رصيد مسبق الدفع.
مفتاحك على بُعد نموذج واحد
أنشئ حسابًا، انسخ المفتاح، غيّر عنوان URL الأساسي. هذا هو الإعداد الكامل.