المساعد الذكيّ — التوثيق

واجهة واحدة للنصّ والصور والفيديو والصوت، متوافقة مع صيغة OpenAI. تعمل بمفتاح واحد، وتُحاسَب على ما تستهلكه فعلاً.

البداية

احصل على مفتاحك من نقطة، ثمّ ضعه في صفحة التكاملات داخل منصّتك. المفتاح يبدأ بـ nq-live- ويُعرض مرّة واحدة عند إنشائه.

عنوان الخدمة:

https://ai.noqta.tn/v1

الاستيثاق بترويسة Authorization كأيّ واجهة متوافقة مع OpenAI:

curl https://ai.noqta.tn/v1/chat/completions \
  -H "Authorization: Bearer nq-live-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "noqta-pro",
    "messages": [{"role": "user", "content": "اكتب سؤالاً عن التمثيل الضوئي"}]
  }'

أيّ مكتبة تتحدّث لغة OpenAI تعمل هنا دون تعديل: غيّر base_url إلى العنوان أعلاه، وضع مفتاحك مكان مفتاحها. لا شيء آخر يتغيّر.

بايثون

from openai import OpenAI

client = OpenAI(api_key="nq-live-...", base_url="https://ai.noqta.tn/v1")

answer = client.chat.completions.create(
    model="noqta-pro",
    messages=[{"role": "user", "content": "..."}],
)

النماذج والأسعار

الأسماء في العمود الأوّل هي ما تطلبه في شفرتك، وهي الثابتة: إن بدّلنا ما خلفها بنموذج أحدث لن يتغيّر عندك سطر. والعمود الثاني يقول أيّ نموذج هو بالضبط — لأنّك تدفع مقابله، ومن حقّك أن تعرف ما تشتري.

تطلبه باسم وهو فعلاً السعر
noqta-pro
نصّ
anthropic/claude-opus-5
أقوى نموذج للنصّ
$7.50 دخل / مليون
$0.75 دخل مُخبّأ / مليون
$37.50 خرج / مليون
noqta-fast
نصّ
anthropic/claude-opus-5-fast
الأسرع للردود القصيرة
حسب الاستهلاك
noqta-mini
نصّ
anthropic/claude-haiku-4.5
الأرخص للمهامّ البسيطة
$1.50 دخل / مليون
$0.15 دخل مُخبّأ / مليون
$7.50 خرج / مليون
noqta-image
صورة
google/gemini-3-pro-image
توليد الصور
≈ $0.20 / صورة
noqta-image-fast
صورة
google/gemini-2.5-flash-image
توليد صور سريع
$0.45 دخل / مليون
$0.05 دخل مُخبّأ / مليون
$3.75 خرج / مليون
noqta-avatar
فيديو
heygen/avatar-iv
فيديو ناطق من صورة
حسب الاستهلاك
noqta-podcast
صوت
elevenlabs/genfm
درس يتحوّل إلى حلقة بصوتين
$0.18 / دقيقة منتَجة
noqta-video
فيديو
bytedance/seedance-2.5
توليد فيديو من نصّ
≈ $1.73 / مقطع

«الدخل المُخبّأ» هو الجزء الذي كرّرت إرساله ولم يتغيّر — مستنداتك مثلاً حين تولّد منها عشرين درساً. أعِد إرسال النصّ نفسه في بداية كلّ طلب يُقرأ من المخبأ بعُشر السعر. هذا أكبر توفير متاح لك، وأكبر من أثر تبديل النموذج نفسه.

«الرمز» (token) جزء من كلمة. الصفحة العربيّة الواحدة نحو ٧٠٠ رمز، فمليون رمز نحو ألف وأربعمئة صفحة. الصور والمقاطع تُحاسَب على الوحدة لا على الرموز، والرقم المعروض أمامها هو وسيط ما كلّفته فعلاً على هذه الخدمة — تقديرٌ لا تسعيرة.

ما يمكن استدعاؤه

نصّ — POST /chat/completions

يقبل ما تقبله OpenAI: messages وmax_tokens وtemperature وstream. البثّ المتدفّق مدعوم بصيغة server-sent events.

صورة — POST /images/generations

curl https://ai.noqta.tn/v1/images/generations \
  -H "Authorization: Bearer nq-live-..." \
  -H "Content-Type: application/json" \
  -d '{"model": "noqta-image", "prompt": "مخطّط خليّة نباتيّة، بلا نصّ"}'

تعود الصورة في data[0].b64_json.

فيديو — POST /videos/generations

الفيديو غير متزامن: الطلب يعيد رقم مهمّة فوراً، ثمّ تسأل عنها حتّى تكتمل.

POST /videos/generations   → {"id": "...", "status": "pending"}
GET  /videos/{id}          → {"status": "completed", "data": [{"url": "..."}]}
GET  /videos/{id}/content  → الملفّ نفسه

حلقة صوتيّة — POST /audio/podcasts

يحوّل نصّاً — درساً مثلاً — إلى حوار بصوتين، لا إلى قراءة آليّة له. النصّ مصدرٌ يُبنى عليه الحوار، لا سطورٌ تُتلى: مئتا حرف تصير خمس دقائق.

curl https://ai.noqta.tn/v1/audio/podcasts \
  -H "Authorization: Bearer nq-live-..." \
  -H "Content-Type: application/json" \
  -d '{"model": "noqta-podcast", "text": "متن الدرس…", "language": "ar"}'

غير متزامن كالفيديو، وبالشكل نفسه:

POST /audio/podcasts          → {"id": "...", "status": "processing"}
GET  /audio/podcasts/{id}     → {"status": "completed", "title": "...", "seconds": 335}
GET  /audio/podcasts/{id}/content → ملفّ mp3

وsolo: true يجعلها صوتاً واحداً بدل اثنين، وhost_voice وguest_voice يختاران الصوتين.

الفوترة

الأخطاء

الرمزالمعنى
401المفتاح ناقص أو ملغى.
402بلغ الحساب سقفه الشهريّ.
404اسم نموذج غير موجود — راجع الجدول أعلاه.
413الطلب أكبر ممّا يقبله هذا النموذج.
429طلبات كثيرة بسرعة. أعد المحاولة بعد قليل.
503الخدمة غير متاحة مؤقّتاً. أعد المحاولة.

شكل الخطأ هو شكل OpenAI نفسه، فمعالجة الأخطاء في مكتبتك تعمل كما هي:

{"error": {"message": "...", "type": "invalid_request_error", "code": 404}}