API كشف موسيقى الذكاء الاصطناعي — دليل المطور الكامل 2026

22 مايو 2026 · فريق AI Song Checker

إذا كنت تبني DSP أو موزّعاً أو منصة تقديم A&R أو أي أداة تحتاج إلى وضع علامات على الموسيقى المولّدة بالذكاء الاصطناعي برمجياً، فأنت بحاجة إلى API. يرشدك هذا الدليل عبر كل شيء: المصادقة، نقاط النهاية، أمثلة الكود بلغة Python وNode.js وJava، حدود المعدل، تنسيقات الاستجابة، معالجة الأخطاء، ونصائح الإنتاج.

سنستخدم REST API الخاص بـ AI Song Checker في أمثلة الكود — فهو مجاني للبدء (بدون بطاقة ائتمان)، ويدعم جميع محركات الموسيقى الذكية الرئيسية (Suno، Udio، Riffusion، ElevenLabs Music، MusicGen، Stable Audio)، ويعيد بيانات JSON غنية تشمل درجات الثقة وإسناد المنصة.

لماذا تدمج عبر API بدل واجهة الاستخدام

بداية سريعة — 60 ثانية

  1. سجّل مجاناً على aisongchecker.pro (بريد إلكتروني فقط)
  2. ترقّ إلى Pro (4,99€/شهرياً) لفتح الوصول إلى API
  3. اذهب إلى Dashboard ← API وانسخ مفتاحك ASC_API_KEY
  4. نفّذ أول استدعاء لك (انظر مثال Python أدناه)

المصادقة

تستخدم جميع طلبات API مصادقة HTTP Basic Auth أو رمز Bearer في ترويسة Authorization. يُوصى باستخدام Bearer:

Authorization: Bearer ASC_LIVE_xxxxxxxxxxxxxxxx

يمنح مفتاح API الخاص بك وصولاً كاملاً إلى حسابك — احتفظ به على جانب الخادم فقط، ولا تضعه أبداً في JavaScript على جانب العميل أو في حزم تطبيقات الجوال.

نظرة عامة على نقاط النهاية

نقطة النهايةالطريقةماذا تفعل
/api/v1/analyze/filePOSTارفع ملفاً صوتياً واحصل على نتيجة كشف الذكاء الاصطناعي
/api/v1/analyze/urlPOSTتحليل رابط من YouTube/Spotify/SoundCloud
/api/v1/analyze/batchPOSTإرسال ما يصل إلى 100 مقطع في استدعاء واحد
/api/v1/result/{id}GETجلب نتيجة مهمة دفعية غير متزامنة
/api/v1/certificate/{id}GETالحصول على شهادة أصالة (PDF، موقّعة)
/api/v1/usageGETاستخدام الحصة الحالي + حالة حد المعدل

تحليل ملف واحد — Python

import requests

API_KEY = "ASC_LIVE_your_key_here"
URL = "https://api.aisongchecker.pro/v1/analyze/file"

with open("track.mp3", "rb") as f:
    response = requests.post(
        URL,
        headers={"Authorization": f"Bearer {API_KEY}"},
        files={"audio": f},
        data={"return_features": "true", "return_certificate": "true"},
    )

result = response.json()
print(f"AI probability: {result['ai_probability']:.1%}")
print(f"Verdict: {result['verdict']}")  # "ai" | "human" | "uncertain"
print(f"Most likely platform: {result['platform_attribution']['top']}")
print(f"Confidence: {result['confidence']:.2f}")

مثال على الاستجابة

{
  "id": "asc_anl_2k3jX9pQmR8t",
  "ai_probability": 0.967,
  "verdict": "ai",
  "confidence": 0.94,
  "platform_attribution": {
    "top": "suno",
    "scores": {
      "suno": 0.91,
      "udio": 0.04,
      "riffusion": 0.02,
      "elevenlabs_music": 0.01,
      "musicgen": 0.01,
      "stable_audio": 0.01
    },
    "version_hint": "v5"
  },
  "watermarks": {
    "c2pa_detected": true,
    "synthid_detected": false,
    "c2pa_signer": "suno.ai"
  },
  "features": {
    "spectral_flatness_mean": 0.0182,
    "phase_coherence_entropy": 2.41,
    "mfcc_distance_baseline": 8.93,
    "frame_similarity": 0.78
  },
  "engine_version": "ASC-v8.3",
  "analyzed_at": "2026-05-22T18:42:11Z",
  "certificate_url": "https://aisongchecker.pro/cert/asc_anl_2k3jX9pQmR8t.pdf"
}

تحليل رابط — Node.js

const fetch = require('node-fetch');

const result = await fetch('https://api.aisongchecker.pro/v1/analyze/url', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.ASC_API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',
    return_features: false
  })
}).then(r => r.json());

console.log(`AI: ${(result.ai_probability * 100).toFixed(1)}%`);
if (result.verdict === 'ai') {
  console.log(`Platform: ${result.platform_attribution.top}`);
}

التحليل الدفعي — Java

import java.net.http.*;
import java.net.URI;

HttpClient client = HttpClient.newHttpClient();

String json = """
{
  "tracks": [
    {"id": "t1", "url": "https://soundcloud.com/artist/track-1"},
    {"id": "t2", "url": "https://open.spotify.com/track/abc123"},
    {"id": "t3", "url": "https://youtu.be/xyz789"}
  ],
  "webhook_url": "https://your-app.com/asc-webhook"
}""";

HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://api.aisongchecker.pro/v1/analyze/batch"))
    .header("Authorization", "Bearer " + System.getenv("ASC_API_KEY"))
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(json))
    .build();

HttpResponse<String> res = client.send(req, HttpResponse.BodyHandlers.ofString());
// Returns: {"job_id": "asc_job_xyz", "status": "queued", "estimated_completion": "..." }

حدود المعدل

الفئةطلبات/دقيقةطلبات/يومحجم الدفعة
مجاني10501
Pro605,000100
Business30050,000500
Enterpriseمخصّصغير محدودمخصّص

ترويسات حد المعدل في كل استجابة:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 47
X-RateLimit-Reset: 1716422400

معالجة الأخطاء

رمز HTTPالمعنىما العمل
400طلب غير صالح (تنسيق ملف غير صحيح، رابط غير مدعوم)تحقق من المدخلات، أعد المحاولة ببيانات صالحة
401مفتاح API غير صالحتحقق من المفتاح في لوحة التحكم، ودوّره إن تسرّب
402تجاوز الحصة (الفئة المجانية)ترقّ الخطة أو انتظر حتى إعادة التعيين
413الملف كبير جداً (بحد أقصى 50 ميغابايت)اضغط الصوت (مرّر MP3 بجودة 320 kbps)
429بلوغ حد المعدلطبّق تراجعاً أسّياً (انظر أدناه)
500/503خطأ في الخادمأعد المحاولة مع التراجع. لدينا اتفاقية مستوى خدمة 99.9%.

نمط التراجع الأسّي (Exponential backoff)

import time, requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry

session = requests.Session()
retries = Retry(
    total=5, backoff_factor=2,
    status_forcelist=[429, 500, 502, 503, 504],
    allowed_methods=["POST"]
)
session.mount("https://", HTTPAdapter(max_retries=retries))

# Then use session.post(...) — auto retries with 2s, 4s, 8s, 16s, 32s

Webhooks للمهام الدفعية غير المتزامنة

بالنسبة للدفعات التي تزيد عن 10 مقاطع، تصل النتائج عبر webhook (أسرع من الاستقصاء المتكرر). اضبط webhook_url في طلب الدفعة. حمولة الـ webhook:

POST https://your-app.com/asc-webhook
Content-Type: application/json
X-ASC-Signature: t=1716422400,v1=abc123...

{
  "event": "batch.completed",
  "job_id": "asc_job_xyz",
  "results": [
    { "id": "t1", "ai_probability": 0.97, "verdict": "ai", "platform": "suno" },
    { "id": "t2", "ai_probability": 0.04, "verdict": "human" },
    { "id": "t3", "ai_probability": 0.81, "verdict": "ai", "platform": "udio" }
  ],
  "stats": { "processed": 3, "errors": 0, "duration_ms": 12450 }
}

تحقّق من ترويسة X-ASC-Signature على جانب الخادم باستخدام HMAC-SHA256 مع سرّ الـ webhook الخاص بك (نفس مخطط webhooks الخاص بـ Stripe).

حالات الاستخدام — أمثلة واقعية

1. منصة بث — وضع علامات آلي على الرفعات

عند رفع مقطع، استدعِ /analyze/file بشكل غير متزامن. إذا كانت ai_probability > 0.85، أضِف تلقائياً وسم "مولّد بالذكاء الاصطناعي" (وفق متطلبات قانون الذكاء الاصطناعي الأوروبي). ضع وسم platform_attribution.top في البيانات الوصفية للشفافية.

2. تصفية تقديمات A&R

تستدعي المنصات الشبيهة بـ SubmitHub الـ API عند كل رفع تجريبي. تحصل المقاطع ذات ai_probability > 0.7 على أولوية المراجعة البشرية. يوفّر ذلك ساعات على المنسّقين.

3. مشرف موسيقى — العناية الواجبة للترخيص

قبل ترخيص مقطع لفيلم أو تلفزيون، مرّره عبر /analyze/file واطلب الشهادة الموقّعة (HMAC-SHA256). أرفِق الشهادة بعقد الترخيص كدليل على التأليف البشري.

4. تدقيق كتالوج للعلامات الموسيقية

أرسل كتالوجك السابق (من 10 آلاف إلى مليون مقطع) عبر /analyze/batch. احصل على تقرير CSV بالمقاطع المشبوهة للمراجعة البشرية. التسعير: نحو 0.01$ لكل مقطع في فئة Business.

حزم SDK المتوفرة

قائمة تحقق الإنتاج

Related