AI संगीत डिटेक्शन API — पूर्ण डेवलपर गाइड 2026
यदि आप एक 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 के ज़रिए इंटीग्रेट क्यों करें
- स्केल: प्रति घंटे हज़ारों ट्रैक का बैच-विश्लेषण करें
- ऑटोमेशन: सबमिशन वर्कफ़्लो, कैटलॉग ऑडिट, स्ट्रीमिंग अपलोड में इंटीग्रेट करें
- कस्टमाइज़ेशन: अपना खुद का डैशबोर्ड, अलर्टिंग और स्कोरिंग थ्रेशोल्ड बनाएं
- अनुपालन: EU AI Act की वॉटरमार्किंग आवश्यकताओं के लिए ऑडिट लॉग तैयार करें
- किफ़ायती: मैनुअल समीक्षक रखने से पे-पर-कॉल बेहतर है
क्विक स्टार्ट — 60 सेकंड
- aisongchecker.pro पर मुफ़्त में साइन अप करें (सिर्फ़ एक ईमेल)
- API एक्सेस अनलॉक करने के लिए Pro (4,99€/माह) पर अपग्रेड करें
- Dashboard → API पर जाएं और अपनी
ASC_API_KEYकॉपी करें - अपनी पहली कॉल करें (नीचे Python सैंपल देखें)
प्रमाणीकरण
सभी API अनुरोध Authorization हेडर में HTTP Basic Auth या Bearer टोकन का उपयोग करते हैं। Bearer अनुशंसित है:
Authorization: Bearer ASC_LIVE_xxxxxxxxxxxxxxxx
आपकी API की का आपके अकाउंट पर पूरा एक्सेस होता है — इसे सर्वर-साइड रखें, कभी भी क्लाइंट JS या मोबाइल ऐप बंडल में नहीं।
एंडपॉइंट्स का अवलोकन
| एंडपॉइंट | मेथड | यह क्या करता है |
|---|---|---|
/api/v1/analyze/file | POST | ऑडियो फ़ाइल अपलोड करें, AI डिटेक्शन परिणाम पाएं |
/api/v1/analyze/url | POST | YouTube/Spotify/SoundCloud URL का विश्लेषण करें |
/api/v1/analyze/batch | POST | एक ही कॉल में 100 तक ट्रैक सबमिट करें |
/api/v1/result/{id} | GET | किसी async बैच जॉब का परिणाम पाएं |
/api/v1/certificate/{id} | GET | प्रामाणिकता प्रमाणपत्र पाएं (PDF, साइन किया हुआ) |
/api/v1/usage | GET | वर्तमान कोटा उपयोग + दर सीमा स्थिति |
एकल फ़ाइल का विश्लेषण — 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": "..." }
दर सीमा
| टियर | अनुरोध/मिनट | अनुरोध/दिन | बैच आकार |
|---|---|---|---|
| Free | 10 | 50 | 1 |
| Pro | 60 | 5,000 | 100 |
| Business | 300 | 50,000 | 500 |
| 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
- Python:
pip install aisongchecker· GitHub - Node.js:
npm install @aisongchecker/sdk· GitHub - Java: Maven डिपेंडेंसी, GitHub
- Go:
go get github.com/aisongchecker/go-sdk - Postman कलेक्शन: /api-docs से इम्पोर्ट करें
प्रोडक्शन चेकलिस्ट
- ☑️ API की केवल सर्वर-साइड संग्रहीत हो (env वेरिएबल या सीक्रेट मैनेजर)
- ☑️ 429/5xx पर एक्सपोनेंशियल बैकऑफ़
- ☑️ Webhook हस्ताक्षर सत्यापन (HMAC-SHA256)
- ☑️ परिणामों को ऑडियो हैश से कैश करें (डुप्लिकेट विश्लेषण से बचें)
- ☑️ हाई-वॉल्यूम उपयोग के लिए
return_features=falseसेट करें (छोटी प्रतिक्रियाएं) - ☑️ डैशबोर्ड में
X-RateLimit-Remainingमॉनिटर करें - ☑️ आइडेम्पोटेंसी: पुनः प्रयासों को डीडुप करने के लिए अपना खुद का
request_idपास करें