एन्हांस्ड अपलोड API

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

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

एन्हांस्ड अपलोड एक स्थानीय ऑडियो फ़ाइल भेजता है; सिस्टम पृष्ठभूमि में एन्हांसमेंट करता है और एक पूरा, चलाने योग्य गाना बनाता है। भेजने का कॉल तुरंत कार्य जानकारी लौटाता है, और क्लाइंट प्रगति के लिए क्वेरी एंडपॉइंट को पूछता रहता है।

भेजने का एंडपॉइंट: POST /api/music/enhanced-upload

एक कार्य की क्वेरी: GET /api/music/enhanced-upload/:id

कार्य रद्द करें: POST /api/music/enhanced-upload/:id/cancel

सूची क्वेरी: GET /api/music/enhanced-upload

बिलिंग: प्रति कॉल 10 युआन, suno-enhanced-upload की निश्चित कीमत पर पहले से काट लिया जाता है। यदि कार्य विफल हो, या अनुमत चरण में रद्द हो, तो पहले से कटी राशि स्वतः वापस कर दी जाती है। असल में कटने वाली रकम मौजूदा बैक-ऑफ़िस मूल्य कॉन्फ़िगरेशन के अनुसार होती है।

कॉल प्रवाह

  1. ऑडियो फ़ाइल अपलोड करने के लिए POST /api/music/enhanced-upload कॉल करें।
  2. लौटाई गई task_id सहेजें।
  3. प्रगति और परिणाम देखने के लिए GET /api/music/enhanced-upload/:id कॉल करें।
  4. सुनो का अंतिम रेंडरिंग पूरा होने पर सेवा उस कार्य से जुड़े सुनो खाते से Studio का अधिकृत डाउनलोड एंडपॉइंट कॉल करती है और MP3 को CN2 मीडिया सेवा में लिखती है।
  5. कार्य तभी completed होता है जब CN2 एसेट तैयार हो; तब प्रतिक्रिया के audio_url से CDN ऑडियो पता लिया जाता है।

/api/forbidden एक प्लेसहोल्डर पता है जो Suno Studio मेटाडेटा में दिख सकता है; यह चलाने या डाउनलोड करने योग्य संसाधन नहीं है। यह कभी ग्राहक को नहीं लौटाया जाता और पूर्णता का आधार नहीं माना जाता। यदि रेंडरिंग पूरी हो चुकी है पर CN2 अभी तैयारी में है, तो एंडपॉइंट processing लौटाता रहता है और audio_url नहीं लौटाता; क्लाइंट को पूछताछ जारी रखनी चाहिए और खाली पते को विफलता नहीं मानना चाहिए।

एन्हांस्ड अपलोड भेजें

Headers

पैरामीटर प्रकार ज़रूरी नोट
Authorization string हाँ Bearer YOUR_API_KEY
Content-Type string नहीं multipart अनुरोधों में इसे हाथ से न सेट करें; क्लाइंट को बनाने दें

फ़ॉर्म पैरामीटर

पैरामीटर प्रकार ज़रूरी डिफ़ॉल्ट नोट
file file हाँ - स्थानीय ऑडियो फ़ाइल, अधिकतम 80 MB
title string नहीं बिना एक्सटेंशन वाला फ़ाइल नाम गाने का शीर्षक

अनुरोध उदाहरण

नीचे का उदाहरण प्रोडक्शन सत्यापन जैसा ही कॉल रूप इस्तेमाल करता है, लेकिन API Key को प्लेसहोल्डर से बदल दिया गया है।

curl.exe --http1.1 -s -S \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@source.aac" \
  -F "title=Enhanced upload demo" \
  "https://www.suno-api.io/api/music/enhanced-upload"

प्रतिक्रिया

{
  "success": true,
  "message": "",
  "data": {
    "task_id": 3209,
    "song_id": "pending:enhanced-upload:cu_20260611003241723483700xnCcQg",
    "client_request_id": "cu_20260611003241723483700xnCcQg",
    "title": "Enhanced upload demo",
    "file_name": "source.aac",
    "status": "queued",
    "created_at": 1781137961,
    "pre_consumed_quota": 5000000,
    "billing_source": "wallet"
  }
}

एक कार्य की क्वेरी

अनुरोध उदाहरण

curl.exe --http1.1 -s -S \
  -H "Authorization: Bearer YOUR_API_KEY" \
  "https://www.suno-api.io/api/music/enhanced-upload/3209"

प्रोसेसिंग के दौरान प्रतिक्रिया उदाहरण

{
  "success": true,
  "message": "",
  "data": {
    "task": {
      "task_id": 3209,
      "song_id": "pending:enhanced-upload:cu_20260611003241723483700xnCcQg",
      "client_request_id": "cu_20260611003241723483700xnCcQg",
      "title": "Enhanced upload demo",
      "file_name": "source.aac",
      "status": "processing",
      "type": "enhanced_upload",
      "progress": {
        "stage": "media_preparing",
        "percent": 98,
        "label": "正在准备播放资源",
        "updated_at": 1781138500
      },
      "pre_consumed_quota": 5000000,
      "billing_source": "wallet",
      "created_at": 1781137961,
      "updated_at": 1781138500
    }
  }
}

पूर्ण होने पर प्रतिक्रिया उदाहरण

{
  "success": true,
  "message": "",
  "data": {
    "task": {
      "task_id": 3209,
      "song_id": "56cbd0bb-0e8c-4a34-8729-55d5c05d9c53",
      "client_request_id": "cu_20260611003241723483700xnCcQg",
      "title": "Enhanced upload demo",
      "file_name": "source.aac",
      "status": "completed",
      "type": "enhanced_upload",
      "audio_url": "https://media.code-go.com/assets/56cbd0bb-0e8c-4a34-8729-55d5c05d9c53-mp3.mp3",
      "duration": 217.74,
      "progress": {
        "stage": "completed",
        "percent": 100,
        "label": "已完成",
        "updated_at": 1781138943
      },
      "pre_consumed_quota": 5000000,
      "billing_source": "wallet",
      "created_at": 1781137961,
      "updated_at": 1781138943,
      "completed_at": 1781138943
    }
  }
}

कार्य रद्द करें

रद्द करना तभी संभव है जब कार्य और बैकएंड वर्कफ़्लो दोनों अभी queued चरण में हों। कार्य leasing, running, processing में जाने या पूरा होने के बाद रद्द नहीं किया जा सकता।

अनुरोध उदाहरण

curl.exe --http1.1 -s -S -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  "https://www.suno-api.io/api/music/enhanced-upload/3209/cancel"

प्रतिक्रिया

{
  "success": true,
  "message": "",
  "data": {
    "task_id": 3209,
    "song_id": "pending:enhanced-upload:cu_20260611003241723483700xnCcQg",
    "client_request_id": "cu_20260611003241723483700xnCcQg",
    "status": "cancelled"
  }
}

यदि कार्य पहले ही प्रोसेसिंग शुरू कर चुका है, तो एंडपॉइंट यह लौटाता है:

{
  "success": false,
  "message": "强化上传已开始处理,无法取消"
}

कार्य सूची की क्वेरी

सूची एंडपॉइंट केवल मौजूदा API Key वाले उपयोगकर्ता के एन्हांस्ड अपलोड कार्य लौटाता है; सामान्य जनरेशन, कवर और एक्सटेंड कार्य इसमें नहीं मिलते।

Query पैरामीटर

पैरामीटर प्रकार ज़रूरी डिफ़ॉल्ट नोट
p number नहीं 1 पृष्ठ संख्या
page_size number नहीं सिस्टम डिफ़ॉल्ट प्रति पृष्ठ आइटम, अधिकतम 100

अनुरोध उदाहरण

curl.exe --http1.1 -s -S \
  -H "Authorization: Bearer YOUR_API_KEY" \
  "https://www.suno-api.io/api/music/enhanced-upload?p=1&page_size=3"

प्रतिक्रिया

{
  "success": true,
  "message": "",
  "data": {
    "page": 1,
    "page_size": 3,
    "total": 1,
    "items": [
      {
        "task_id": 3209,
        "song_id": "56cbd0bb-0e8c-4a34-8729-55d5c05d9c53",
        "client_request_id": "cu_20260611003241723483700xnCcQg",
        "title": "Enhanced upload demo",
        "file_name": "source.aac",
        "status": "completed",
        "type": "enhanced_upload",
        "audio_url": "https://media.code-go.com/assets/56cbd0bb-0e8c-4a34-8729-55d5c05d9c53-mp3.mp3",
        "duration": 217.74,
        "progress": {
          "stage": "completed",
          "percent": 100,
          "label": "已完成",
          "updated_at": 1781138943
        },
        "pre_consumed_quota": 5000000,
        "billing_source": "wallet",
        "created_at": 1781137961,
        "updated_at": 1781138943,
        "completed_at": 1781138943
      }
    ]
  }
}

प्रतिक्रिया फ़ील्ड विवरण

फ़ील्ड प्रकार नोट
task_id number एन्हांस्ड अपलोड कार्य ID; आगे की क्वेरी और रद्द करने में इसी का उपयोग करें
song_id string प्रोसेसिंग के दौरान pending:enhanced-upload:*, पूरा होने पर असली गाना ID
client_request_id string क्लाइंट अनुरोध ट्रैकिंग ID
status string कार्य स्थिति, जैसे queued, processing, completed, failed, cancelled
type string हमेशा enhanced_upload
audio_url string पूरा होने के बाद ऑडियो पता
duration number ऑडियो अवधि सेकंड में
progress.stage string वर्तमान प्रोसेसिंग चरण
progress.percent number प्रगति प्रतिशत
progress.label string उपयोगकर्ता को दिखाई जाने वाली प्रगति पाठ
pre_consumed_quota number इस कॉल के लिए पहले से कटा कोटा
billing_source string शुल्क स्रोत, जैसे wallet
error_message string विफलता का कारण

नोट

एन्हांस्ड अपलोड पूरा होने के बाद कवर शुरू करें

एन्हांस्ड अपलोड पूरा होने पर आप परिणाम को स्रोत क्लिप बनाकर POST /api/music/generate-from-source कॉल करके कवर शुरू कर सकते हैं।

ध्यान: कवर एक सिंक्रोनस एंडपॉइंट है — ऑर्डर जवाब आने पर ही स्वीकार होता है, और मापन के अनुसार प्रतीक्षा लगभग 230 सेकंड तक हो सकती है। क्लाइंट टाइमआउट 300 सेकंड या अधिक रखें और टाइमआउट के तुरंत बाद दोबारा कोशिश न करें। नए API का अवलोकन में "प्रतीक्षा समय और टाइमआउट सेटिंग" देखें।

पहले GET /api/music/enhanced-upload/:id को तब तक पूछें जब तक task.status completed न हो जाए। तब:

कवर शुरू करते समय एन्हांस्ड अपलोड जैसा ही API Key इस्तेमाल करें और नीचे दिए फ़ील्ड मैपिंग के अनुसार अनुरोध बनाएँ।

कवर अनुरोध फ़ील्ड मान का स्रोत
sourceClipId पूर्ण हुए एन्हांस्ड अपलोड परिणाम का task.song_id
sourceAudioUrl पूर्ण हुए एन्हांस्ड अपलोड परिणाम का task.audio_url
sourceTitle पूर्ण हुए एन्हांस्ड अपलोड परिणाम का task.title

बाकी बोल, स्टाइल, शीर्षक और मॉडल पैरामीटर स्रोत क्लिप से कवर API के अनुसार भरें। कवर एंडपॉइंट नया clips[].song_id लौटाने के बाद POST /api/music/query से जनरेशन स्थिति और अंतिम ऑडियो देखें।

अगलाएक ही चरण में अपलोड और कवर API

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

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

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