गाने की मीडिया डाउनलोड और प्रीव्यू API

2026-09-18 को अद्यतन · Suno-API टीम

एंडपॉइंट विवरण

यह एंडपॉइंट समूह "मीडिया पता लेना" और "फ़ाइल असल में डाउनलोड करना" को अलग करता है:

बिलिंग: सब कुछ निःशुल्क। डाउनलोड और प्रीव्यू केवल वही मीडिया पढ़ते हैं जो प्लेटफ़ॉर्म पहले से होस्ट करता है; वे Suno को कॉल नहीं करते और शुल्क नहीं लगता।

सुझाया गया मॉडल: suno-v6। suno-v6, suno-v6-wild और suno-v6-mini उपलब्ध हैं।

प्रमाणीकरण

पैरामीटर प्रकार ज़रूरी नोट
Authorization string हाँ Bearer YOUR_API_KEY (GET /api/music/download लॉगिन सेशन भी स्वीकार करता है)
Content-Type string हाँ application/json

समर्थित मीडिया प्रकार (kind)

kind नोट
song ऑडियो (mp3 इसका उपनाम और डिफ़ॉल्ट है; प्रतिक्रिया में हमेशा song लिखा जाता है)
wav WAV फ़ाइल; पहले WAV जनरेशन/प्राप्ति API से तैयार करें
video वीडियो (mp4 उपनाम है)
midi अलग किए गए स्टेम का MIDI; केवल उन्हीं स्टेम के लिए मान्य जिनका अलगाव पूरा हो चुका है — MIDI प्राप्ति API देखें
cover कवर छवि (image उपनाम है)
lyrics गीत का टेक्स्ट (.txt); केवल download-file / GET /api/music/download से मिलता है — download-url गीत का पता नहीं लौटाता
timestamped_lyrics टाइमस्टैम्प वाली गीत फ़ाइल (.lrc, उपनाम lrc)। फ़िलहाल केवल कुछ गाने समर्थित हैं; success:false लौटने पर टाइमस्टैम्प वाला गीत API से टाइमलाइन लेकर फ़ाइल खुद बनाएँ

1) मीडिया पता प्राप्त करें

curl -X POST https://www.suno-api.io/api/music/download-url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "song_id", "kind": "song"}'
{
  "code": 200,
  "message": "success",
  "data": {
    "song_id": "song_id",
    "kind": "song",
    "url": "https://media.suno-api.io/assets/song_id-mp3.mp3",
    "nav_url": "https://media.suno-api.io/assets/song_id-mp3.mp3?...&response-content-disposition=attachment..."
  }
}
पैरामीटर प्रकार ज़रूरी नोट
song_id string हाँ अपने गाने की ID
kind string नहीं ऊपर की तालिका देखें; डिफ़ॉल्ट song
refresh boolean नहीं true भेजने पर संसाधन दोबारा तैयार करने पर बल पड़ता है (जैसे CDN पर फ़ाइल वापस लिए जाने के बाद)

url चलाने या खुद कॉपी करने के लिए है; nav_url में Content-Disposition: attachment होता है और यह ब्राउज़र के एड्रेस बार में सीधे चिपकाकर डाउनलोड करने के लिए उपयुक्त है (जब कुछ मोबाइल ब्राउज़र blob डाउनलोड समर्थित न करें)।

⚠️ पते की वैधता: 7 दिन — फ़ाइल समय रहते सहेजें

url / nav_url प्लेटफ़ॉर्म के ऑब्जेक्ट स्टोरेज की ओर इशारा करते हैं और डिफ़ॉल्ट रूप से 7 दिन बाद समाप्त हो जाते हैं (फ़ाइलें वापस ले ली जाती हैं और पुराना पता 404 लौटाता है)। इन 7 दिनों में उन्हें अपने स्टोरेज में सहेज लें।

समाप्त होने के बाद गाना दोबारा बनाने की ज़रूरत नहीं: POST /api/music/download-url दोबारा कॉल करें (या refresh: true भेजें) और उस गाने के नए वैध पते पाएँ। यह एंडपॉइंट समूह निःशुल्क है और कोई अतिरिक्त शुल्क नहीं जोड़ता।

2) एक फ़ाइल सीधे डाउनलोड करें

curl -X POST https://www.suno-api.io/api/music/download-file \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "song_id", "kind": "song"}' \
  -o song.mp3

प्रतिक्रिया बॉडी एक फ़ाइल स्ट्रीम है (JSON नहीं) और Content-Disposition में फ़ाइल नाम पहले से है। गीत और टाइमस्टैम्प वाला गीत केवल इसी एंडपॉइंट से मिलते हैं (download-url केवल मीडिया पते लौटाता है, गीत नहीं)। .lrc फ़ाइल फ़िलहाल केवल कुछ गानों के लिए समर्थित है; यदि success:false लौटे तो अगले भाग में बताए अनुसार टाइमस्टैम्प वाला गीत API से .lrc खुद बनाएँ, दोबारा कोशिश न करें।

टाइमस्टैम्प वाला गीत (.lrc) कैसे लें

दो चरण सुझाए जाते हैं, जो किसी भी गाने पर लागू होते हैं:

चरण 1: शब्द-दर-शब्द टाइमलाइन लें (निःशुल्क)

curl -X POST https://www.suno-api.io/api/lyrics/timeline \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "suno-v6", "song_id": "song_id"}'

नतीजा सीधे एक ऐरे है (कोई data रैपर नहीं); हर तत्व इस रूप का है: {"word": "…", "start_s": 1.117, "end_s": 8.138, "success": true, "p_align": 0.99}। word में पहले से नई पंक्तियाँ हैं, इसलिए इसे पंक्ति-वार तोड़ा जा सकता है; फ़ील्ड के अर्थ, वाद्य अंशों को छानने और अन्य सावधानियों के लिए टाइमस्टैम्प वाला गीत API के "फ़ील्ड" और "उपयोग संबंधी नोट" देखें।

चरण 2: start_s से .lrc खुद जोड़ें (समय प्रारूप [mm:ss.cc])

def to_lrc(segments):
    lines = []
    for seg in segments:
        text = seg["word"].strip()
        if not text:
            continue
        start = max(0.0, float(seg["start_s"]))
        cs = int(start * 100 + 0.5)
        lines.append(f"[{cs // 6000:02d}:{(cs % 6000) // 100:02d}.{cs % 100:02d}]{text}")
    return "\n".join(lines)

GET /api/music/download?song_id=<id>&kind=lrc भी सर्वर के बनाए .lrc को सीधे डाउनलोड करता है, लेकिन फ़िलहाल केवल कुछ गाने समर्थित हैं: यदि success:false लौटे तो ऊपर बताए तरीके से खुद बनाएँ — दोबारा कोशिश की ज़रूरत नहीं और बिलिंग पर असर नहीं।

3) पैकेज डाउनलोड

curl -X POST https://www.suno-api.io/api/music/download-all \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_ids": ["song_id_1", "song_id_2"]}' \
  -o songs.zip

song_id (एक) या song_ids (बैच, अधिकतम 50 प्रविष्टियाँ) में से एक इस्तेमाल करें। प्रतिक्रिया बॉडी ZIP स्ट्रीम है।

4) स्थिर डाउनलोड पता

GET /api/music/download?song_id=<id>&kind=<kind> गाने की प्रतिक्रियाओं में सीधे दिया गया डाउनलोड प्रवेश-बिंदु है। यह API कुंजी और लॉगिन सेशन दोनों स्वीकार करता है, download-file जैसा ही व्यवहार करता है, और क्लाइंट या तीसरे पक्ष के प्लेयर में स्थायी रूप से डालने के लिए उपयुक्त है।

5) जनरेशन के दौरान प्रीव्यू

curl -X POST https://www.suno-api.io/api/music/generation-stream-url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_ids": ["song_id_1", "song_id_2"]}'
{
  "code": 200,
  "message": "success",
  "data": {
    "items": [
      {
        "song_id": "song_id_1",
        "url": "https://media.suno-api.io/assets/song_id_1-mp3.mp3",
        "expires_at": 0,
        "content_type": "audio/mpeg",
        "playable_until_completed": false,
        "mode": "mp3",
        "ranges": true
      }
    ]
  }
}
पैरामीटर प्रकार ज़रूरी नोट
song_id string नहीं एक गाने की ID
song_ids string[] नहीं बैच, अधिकतम 24 प्रविष्टियाँ (एक स्वचालित अलगाव बैच में स्टेम की अधिकतम संख्या)

playable_until_completed का true होना बताता है कि यह बन रहे गाने का अस्थायी प्रीव्यू पता है; गाना पूरा होने पर स्थायी पते पर चले जाएँ। यदि कोई एक गाना विफल हो तो उस प्रविष्टि में error फ़ील्ड आता है और बाकी गाने सामान्य रूप से लौटते हैं।

नोट

अगलाFree2 डाउनलोड API

API कुंजी प्राप्त करें

रजिस्टर करने के बाद कंसोल में API कुंजी बनाएँ। प्रत्येक जनरेशन का खर्च 0.6 युआन है और 2 ट्रैक मिलते हैं, डाउनलोड असीमित हैं और फ़ोन नंबर की ज़रूरत नहीं है।

API कुंजी लें अवलोकन पर लौटें