واجهة Magic Chords البرمجية العامة

واجهة REST مُصدَّرة للتعرف على الأوتار وتحويل كلمات الأغاني وتصدير النوتات. جميع نقاط النهاية تحت /api/v1/، وتقبل JSON وتعيده (باستثناء الملفات المرفوعة والمولدة)، ومتاحة للمطورين المجهولين ضمن حصص استخدام عادلة.

كل نقطة نهاية موثقة تفاعلياً في المرجع المدمج أدناه، والذي يتم توليده مباشرة من التنفيذ ويظل محدثاً دائماً.

كيف تعمل

يعمل التحليل والتحويل بشكل غير متزامن: ترسل مهمة، تستلم job_id، تتفقد الحالة، ثم تجلب النتيجة الكاملة بعد انتهاء المعالجة.

بداية سريعة

أرسل تحليل الأوتار لرابط أغنية:

curl -X POST https://magic-chords.dev/api/v1/analyze/url \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=VIDEO_ID"}'

يحتوي الرد على معرف المهمة:

{"job_id": "bBm3Zx8kQ7...", "status": "processing"}

تفقد الحالة حتى تصبح complete:

curl https://magic-chords.dev/api/v1/jobs/bBm3Zx8kQ7...

اجلب الأوتار والإيقاع والمقام والبنية:

curl https://magic-chords.dev/api/v1/jobs/bBm3Zx8kQ7.../result

أو نزّل ملف تصدير مباشرة (pdf، midi، musicxml، txt، csv، json):

curl -o chords.pdf \
  "https://magic-chords.dev/api/v1/jobs/bBm3Zx8kQ7.../export?format=pdf"

لتحليل ملف صوتي محلي بدلاً من رابط:

curl -X POST https://magic-chords.dev/api/v1/analyze \
  -F "file=@song.mp3"

نقاط النهاية

الطريقة والمسارالغرض
POST /api/v1/analyzeإرسال صوت مرفوع لتحليل الأوتار (نموذج multipart)
POST /api/v1/analyze/urlإرسال رابط وسائط لتحليل الأوتار
POST /api/v1/transcribeإرسال صوت مرفوع لتحويل كلمات الأغاني
POST /api/v1/transcribe/urlإرسال رابط وسائط لتحويل كلمات الأغاني
GET /api/v1/jobs/{job_id}حالة مختصرة للاستطلاع
GET /api/v1/jobs/{job_id}/resultالحصول على النتيجة الكاملة (الأوتار، الكلمات، الإيقاع، المقام…)
GET /api/v1/jobs/{job_id}/export?format=…تصدير تحليل مكتمل بصيغة pdf/midi/musicxml/txt/csv/json
GET /api/v1/limitsسياسة الحصص الحالية (غير محسوبة)

حدود الاستخدام

العملاء المجهولون مقيدين لكل عنوان IP. القيم الحالية (متاحة أيضاً مباشرة من /api/v1/limits):

الفئةالحد
إرسال المهام (heavy)20 في الساعة لكل عميل
قراءات الحالة/النتيجة/التصدير (light)60 في الدقيقة لكل عميل
المهام المتزامنةمهمتان لكل عميل

كل استجابة محسوبة تحمل الترويسات X-RateLimit-Limit وX-RateLimit-Remaining وX-RateLimit-Reset. عند بلوغ حد ما ستستلم 429 مع ترويسة Retry-After — يرجى احترامها.

الأخطاء

الحالةالمعنى
400طلب غير صالح (رابط خاطئ أو تنسيق غير معروف)
404معرف مهمة غير معروف
409المهمة موجودة لكنها غير مكتملة أو غير قابلة للتصدير
413الرفع يتجاوز الحجم الأقصى
415لم يُتعرف على الملف كصوت
429تم تجاوز حد الطلبات أو حد التوازي
503غير متاح مؤقتاً (خادم الحصئ متوقف)

ملاحظات وحسن استخدام

مرجع API تفاعلي

يتم تحميل المرجع الكامل أدناه — تصفح جميع نقاط النهاية وجرّب الطلبات مباشرة من هذه الصفحة.

جارٍ تحميل المرجع التفاعلي…