AI संगीत डिटेक्शन API — पूर्ण डेवलपर गाइड 2026

22 मई 2026 · AI Song Checker टीम

यदि आप एक DSP, वितरक, A&R सबमिशन प्लेटफ़ॉर्म, या कोई भी ऐसा टूल बना रहे हैं जिसे प्रोग्रामेटिक रूप से AI-जनित संगीत को फ़्लैग करने की आवश्यकता है, तो आपको एक API चाहिए। यह गाइड आपको सब कुछ समझाती है: प्रमाणीकरण, एंडपॉइंट्स, Python/Node/Java में कोड सैंपल, दर सीमा, प्रतिक्रिया प्रारूप, त्रुटि प्रबंधन और प्रोडक्शन टिप्स।

कोड उदाहरणों के लिए हम AI Song Checker REST API का उपयोग करेंगे — इसे शुरू करना मुफ़्त है (कोई क्रेडिट कार्ड नहीं), यह सभी प्रमुख AI संगीत इंजनों (Suno, Udio, Riffusion, ElevenLabs Music, MusicGen, Stable Audio) का समर्थन करता है, और कॉन्फ़िडेंस स्कोर तथा प्लेटफ़ॉर्म एट्रिब्यूशन सहित समृद्ध JSON लौटाता है।

UI के बजाय API के ज़रिए इंटीग्रेट क्यों करें

क्विक स्टार्ट — 60 सेकंड

  1. aisongchecker.pro पर मुफ़्त में साइन अप करें (सिर्फ़ एक ईमेल)
  2. API एक्सेस अनलॉक करने के लिए Pro (4,99€/माह) पर अपग्रेड करें
  3. Dashboard → API पर जाएं और अपनी ASC_API_KEY कॉपी करें
  4. अपनी पहली कॉल करें (नीचे Python सैंपल देखें)

प्रमाणीकरण

सभी API अनुरोध Authorization हेडर में HTTP Basic Auth या Bearer टोकन का उपयोग करते हैं। Bearer अनुशंसित है:

Authorization: Bearer ASC_LIVE_xxxxxxxxxxxxxxxx

आपकी API की का आपके अकाउंट पर पूरा एक्सेस होता है — इसे सर्वर-साइड रखें, कभी भी क्लाइंट JS या मोबाइल ऐप बंडल में नहीं।

एंडपॉइंट्स का अवलोकन

एंडपॉइंटमेथडयह क्या करता है
/api/v1/analyze/filePOSTऑडियो फ़ाइल अपलोड करें, AI डिटेक्शन परिणाम पाएं
/api/v1/analyze/urlPOSTYouTube/Spotify/SoundCloud URL का विश्लेषण करें
/api/v1/analyze/batchPOSTएक ही कॉल में 100 तक ट्रैक सबमिट करें
/api/v1/result/{id}GETकिसी async बैच जॉब का परिणाम पाएं
/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"
}

URL का विश्लेषण — 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());
// लौटाता है: {"job_id": "asc_job_xyz", "status": "queued", "estimated_completion": "..." }

दर सीमा

टियरअनुरोध/मिनटअनुरोध/दिनबैच आकार
Free10501
Pro605,000100
Business30050,000500
Enterpriseकस्टमअसीमितकस्टम

हर प्रतिक्रिया में दर सीमा हेडर:

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

त्रुटि प्रबंधन

HTTP कोडअर्थक्या करें
400ख़राब अनुरोध (अमान्य फ़ाइल प्रारूप, असमर्थित URL)इनपुट जांचें, मान्य डेटा के साथ पुनः प्रयास करें
401अमान्य API कीडैशबोर्ड में की जांचें, लीक होने पर बदलें
402कोटा पार हुआ (मुफ़्त टियर)प्लान अपग्रेड करें या रीसेट तक प्रतीक्षा करें
413फ़ाइल बहुत बड़ी (अधिकतम 50 MB)ऑडियो कंप्रेस करें (फिर भी MP3 320 kbps भेजें)
429दर सीमा पर पहुंचेएक्सपोनेंशियल बैकऑफ़ लागू करें (नीचे देखें)
500/503सर्वर त्रुटिबैकऑफ़ के साथ पुनः प्रयास करें। हमारा 99.9% SLA है।

एक्सपोनेंशियल बैकऑफ़ पैटर्न

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))

# फिर session.post(...) उपयोग करें — 2s, 4s, 8s, 16s, 32s पर स्वतः पुनः प्रयास

Async बैच जॉब्स के लिए 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 }
}

अपने webhook सीक्रेट के साथ HMAC-SHA256 का उपयोग करके सर्वर-साइड पर X-ASC-Signature हेडर को सत्यापित करें (Stripe webhooks जैसी ही स्कीम)।

उपयोग के मामले — वास्तविक उदाहरण

1. स्ट्रीमिंग प्लेटफ़ॉर्म — अपलोड ऑटो-फ़्लैग करें

ट्रैक अपलोड होने पर, /analyze/file को async कॉल करें। यदि ai_probability > 0.85 हो, तो स्वचालित रूप से "AI-Generated" लेबल जोड़ें (EU AI Act आवश्यकताओं के अनुसार)। पारदर्शिता के लिए मेटाडेटा में platform_attribution.top टैग करें।

2. A&R सबमिशन फ़िल्टरिंग

SubmitHub जैसे प्लेटफ़ॉर्म हर डेमो अपलोड पर API कॉल करते हैं। ai_probability > 0.7 वाले ट्रैक को मानवीय समीक्षा में प्राथमिकता मिलती है। इससे क्यूरेटर के घंटों की बचत होती है।

3. म्यूज़िक सुपरवाइज़र — लाइसेंसिंग ड्यू डिलिजेंस

फ़िल्म/टीवी के लिए किसी ट्रैक को लाइसेंस देने से पहले, इसे /analyze/file से गुज़ारें + साइन किया हुआ प्रमाणपत्र (HMAC-SHA256) माँगें। मानव लेखकत्व के प्रमाण के रूप में प्रमाणपत्र को लाइसेंसिंग अनुबंध से संलग्न करें।

4. लेबल्स के लिए कैटलॉग ऑडिट

अपने बैक कैटलॉग (10K-1M ट्रैक) को /analyze/batch के माध्यम से भेजें। मानवीय समीक्षा के लिए संदिग्ध ट्रैक की CSV रिपोर्ट पाएं। मूल्य: Business टियर पर लगभग $0.01 प्रति ट्रैक।

उपलब्ध SDK

प्रोडक्शन चेकलिस्ट

संबंधित पठन

Related