स्पीच जनरेशन API

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

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

Speech भाषण के पाठ या एक पंक्ति के विवरण को "बोलने/भाषण" ऑडियो में बदलता है, साथ में बैकग्राउंड म्यूज़िक वैकल्पिक है। यह भाषण, स्वागत-भाषण, वर्णन, वॉइस-ओवर स्क्रिप्ट, ऑडियो सामग्री और ऐसे ही उपयोगों के लिए उपयुक्त है।

ध्यान दें: यह एंडपॉइंट बोलने का ऑडियो बनाता है, गाया हुआ गाना नहीं (न धुन, न गाया हुआ वोकल)। गाना चाहिए तो सरल मोड जनरेशन API या कस्टम मोड जनरेशन API इस्तेमाल करें।

एंडपॉइंट: POST /api/music/speech

बिलिंग: सशुल्क, अभी डिफ़ॉल्ट 0.6 युआन प्रति कॉल। हर कॉल आम तौर पर 2 ऑडियो लौटाती है; असल में कटने वाली रकम मौजूदा बैक-ऑफ़िस मूल्य कॉन्फ़िगरेशन के अनुसार होती है।

Max Mode / Variety: यह एंडपॉइंट वैकल्पिक पैरामीटर max_mode और variety (0-4) समर्थित करता है। max_mode चालू होने पर यह कॉल 2× दर पर बिल होती है (0.6 → 1.2 युआन प्रति कॉल); variety का कोई अतिरिक्त शुल्क नहीं है। दोनों का अर्थ और भेजने का तरीका नए API का अवलोकन के "उन्नत पैरामीटर" भाग में है।

प्रतीक्षा समय और टाइमआउट (ज़रूरी): यह सिंक्रोनस एंडपॉइंट है — ऑर्डर तभी स्वीकार होता है और जनरेशन को सौंपा जाता है जब जवाब आ जाता है। मापन के अनुसार ज़्यादातर अनुरोध कुछ सेकंड (1-10 सेकंड) में जवाब देते हैं; पर अन्य सिंक्रोनस जनरेशन एंडपॉइंट की तरह चरम स्थितियों में ज़्यादा समय लग सकता है। क्लाइंट टाइमआउट 300 सेकंड या ज़्यादा रखें; जवाब न आना इसका मतलब नहीं कि कुछ बना नहीं, और टाइमआउट के तुरंत बाद दोबारा कोशिश न करें (इससे ऑर्डर दोहरा होता है और दोबारा शुल्क लगता है)। कनेक्शन टूटा हो तो बाद में GET /api/music/songs से जाँचें। नए API का अवलोकन में "प्रतीक्षा समय और टाइमआउट सेटिंग" देखें।

सामग्री अनुपालन: प्लेटफ़ॉर्म पाठ की कॉपीराइट और कंटेंट नीति जाँच करता है। यदि उसे संरक्षित सामग्री माना जाए (जैसे किसी और के गीत के बोल या किसी प्रसिद्ध कृति का शब्दशः पाठ उद्धृत करना), तो यह कॉल विफल होती है और पूरी रकम स्वतः वापस कर दी जाती है। अपनी भाषा में लिखें, या उद्धरण को पुनर्कथन में बदलें, और दोबारा भेजें।

अनुरोध पैरामीटर

Headers

पैरामीटर प्रकार ज़रूरी नोट
Authorization string हाँ Bearer YOUR_API_KEY
Content-Type string हाँ application/json

Body पैरामीटर

पैरामीटर प्रकार ज़रूरी डिफ़ॉल्ट नोट
script string हाँ - भाषण का पूरा पाठ; अधिकतम 3000 अक्षर (ज़्यादा पर 400 लौटता है, शुल्क नहीं)
tone string नहीं - लहज़ा / गति / भावना / स्थान का विवरण, जैसे "ओजपूर्ण और शक्तिशाली, गति धीमी से तेज़; स्कूल सभागार"; अधिकतम 1000 अक्षर
song_title string नहीं - शीर्षक; अधिकतम 100 अक्षर
gender string नहीं कोई भी वक्ता का लिंग: m, f (male, female भी स्वीकार्य); वही मान vocal_gender से भी भेज सकते हैं
backing_music boolean नहीं true बैकग्राउंड म्यूज़िक जोड़ना है या नहीं; false से केवल आवाज़ वाला भाषण मिलता है
model string नहीं suno-v6 ग्राहक के लिए मॉडल नाम: suno-v6, suno-v6-wild या suno-v6-mini
wait_completion boolean नहीं false जवाब देने से पहले जनरेशन पूरा होने की प्रतीक्षा करें या नहीं
max_mode boolean नहीं false चालू होने पर यह कॉल 2× दर पर बिल होती है
variety integer नहीं - स्टाइल विविधता की मात्रा 0-4; अवलोकन में "उन्नत पैरामीटर" देखें

यह एंडपॉइंट duration का समर्थन नहीं करता: भेजने पर HTTP 400 लौटता है, चुपचाप नज़रअंदाज़ नहीं होता। भाषण की अवधि script की सामग्री की लंबाई से तय होती है।

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

न्यूनतम अनुरोध (केवल पाठ)

curl -X POST https://www.suno-api.io/api/music/speech \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --max-time 300 \
  -d '{
    "script": "सभी शिक्षकों और साथियों, नमस्कार! आज मेरे भाषण का विषय है समय का सदुपयोग और आगे बढ़ते रहना।"
  }'

पूरा अनुरोध (लहज़ा, लिंग और बैकग्राउंड म्यूज़िक बंद)

curl -X POST https://www.suno-api.io/api/music/speech \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --max-time 300 \
  -d '{
    "script": "Good evening everyone, thank you all for coming to celebrate this special day with us.",
    "tone": "warm and slow, wedding reception",
    "song_title": "Wedding Toast",
    "gender": "f",
    "backing_music": false,
    "model": "suno-v6"
  }'

Python उदाहरण

import requests

response = requests.post(
    'https://www.suno-api.io/api/music/speech',
    headers={'Authorization': 'Bearer YOUR_API_KEY'},
    json={
        'script': 'साथियों, नमस्कार। मैं इस सप्ताह की प्रगति बताऊँगा।',
        'tone': 'शांत और स्पष्ट, मीटिंग रिपोर्ट',
        'gender': 'male',
        'backing_music': True,
    },
    timeout=300,
)
response.raise_for_status()
items = response.json()          # आम तौर पर 2 आइटम
for item in items:
    print(item['song_id'], item['status'])

पैरामीटर विवरण

script (भाषण, ज़रूरी)

tone (लहज़ा और परिदृश्य, वैकल्पिक)

यह बताता है कैसे बोलना है, क्या कहना है नहीं। चार तरह की जानकारी रखें: लहज़ा, गति/लय, भावना और स्थान।

ओजपूर्ण और शक्तिशाली, गति धीमी से तेज़, स्पष्ट ठहराव; स्कूल सभागार, सभी शिक्षकों और छात्रों के सामने
गर्मजोश और कोमल, धीमी गति; विवाह समारोह
संयत और नियंत्रित, एकसमान और स्पष्ट; निदेशक मंडल को रिपोर्ट

सीमा 1000 अक्षर है। न भेजें तो मॉडल script की सामग्री से अनुमान लगाता है।

gender / vocal_gender (वक्ता का लिंग, वैकल्पिक)

backing_music (बैकग्राउंड म्यूज़िक, वैकल्पिक)

model (मॉडल, वैकल्पिक)

तीनों ग्राहक-मॉडल एक ही दर पर उपलब्ध हैं (0.6 युआन प्रति कॉल)। भाषण Suno v6 परिवार से बनता है; न भेजें तो suno-v6 माना जाता है। स्पष्ट पसंद न हो तो आम तौर पर यह फ़ील्ड भेजने की ज़रूरत नहीं।

पैरामीटर सत्यापन और टेक्स्ट सीमाएँ

नीचे दी स्थितियाँ HTTP 400 लौटाती हैं, और सभी बिलिंग से पहले रोकी जाती हैं, इसलिए कोई खर्च नहीं बनता:

स्थिति त्रुटि संदेश
script नहीं है, या केवल खाली स्थान script is required for speech
gender m/f/male/female नहीं है gender must be one of m, f, male, female
backing_music बूलियन नहीं है backing_music must be a boolean
असमर्थित duration भेजा गया duration is not supported on /api/music/speech

टेक्स्ट फ़ील्ड की सीमाएँ

सीमा से ज़्यादा होने पर भी HTTP 400 लौटता है और जनरेशन शुरू नहीं होता और पहले से शुल्क नहीं कटता। गिनती यूनिकोड अक्षरों में होती है (एक चीनी अक्षर 1 अक्षर), और शुरू व अंत के खाली स्थान भी गिने जाते हैं:

फ़ील्ड सीमा
script (भाषण) 3000 अक्षर
tone (लहज़े का विवरण) 1000 अक्षर
song_title (शीर्षक) 100 अक्षर

त्रुटि का रूप है script must not exceed 3000 characters; received 4120: पहला शब्द वह फ़ील्ड है जो सीमा से बढ़ा और अंत में असल संख्या है, इसलिए 400 मिलने पर इन दो संख्याओं से सीधे काट सकते हैं।

प्रतिक्रिया

प्रतिक्रिया अन्य जनरेशन एंडपॉइंट जैसी बिल्कुल वही गाना ऐरे है (आम तौर पर 2 आइटम); song_id सहेजें और गाना क्वेरी और इतिहास API से अंतिम स्थिति और ऑडियो पता देखें:

[
  {
    "song_id": "b7529174-b495-465b-8c5e-cd21bea2df8c",
    "song_title": "समय का सदुपयोग",
    "status": "pending",
    "audio_url": "",
    "cover_url": "",
    "video_url": "",
    "model_version": "suno-v6",
    "generation_type": "generate",
    "created_at": "2026-10-08T01:00:00Z"
  }
]
फ़ील्ड नोट
song_id ट्रैक ID; आगे की सभी क्वेरी और डाउनलोड इसी से होते हैं
status pending (भेजा गया, बन रहा है), processing, completed (पूरा), failed (विफल)
song_title शीर्षक (song_title न भेजने पर मॉडल बनाता है; खाली हो सकता है)
audio_url ऑडियो पता; जनरेशन पूरा होने से पहले खाली और पूरा होते ही सीधे चलाने या डाउनलोड करने योग्य

जनरेशन विफलता और धनवापसी

जनरेशन विफल होने पर उस कॉल का शुल्क स्वतः पूरा वापस कर दिया जाता है; सहायता से संपर्क करने की ज़रूरत नहीं। कारण प्रतिक्रिया में या गाना क्वेरी और इतिहास API के error_message में दिखता है।

सबसे आम कारण सामग्री को संरक्षित सामग्री माना जाना है, उदाहरण:

Your lyrics contain copyrighted material. Please change it and try again.

ऐसी स्थिति में पाठ को अपनी भाषा में बदलें (या उद्धरण को पुनर्कथन बनाएँ) और दोबारा भेजें।

सामान्य प्रश्न

प्र: परिणाम "बोलना" क्यों है, गाना क्यों नहीं? उ: यह भाषण एंडपॉइंट है और इसका आउटपुट बोलने का ऑडियो है। गाने के लिए जनरेशन या कस्टम मोड एंडपॉइंट इस्तेमाल करें।

प्र: हर बार 2 आइटम क्यों लौटते हैं? उ: प्लेटफ़ॉर्म के अन्य जनरेशन एंडपॉइंट की तरह एक जनरेशन से 2 विकल्प बनते हैं; इन्हें song_id से अलग-अलग पूछें और पसंद का रख लें।

प्र: अवधि कैसे नियंत्रित करें? उ: यह script की लंबाई से तय होती है; यह एंडपॉइंट duration पैरामीटर नहीं लेता।

प्र: क्या आवाज़ (जैसे मेरी क्लोन की गई आवाज़) चुन सकते हैं? उ: मौजूदा संस्करण में नहीं। भाषण निश्चित आवाज़ों का सेट इस्तेमाल करता है और gender से पुरुष/महिला चुन सकते हैं; अपनी आवाज़ चाहिए तो वॉइस प्रोफ़ाइल बनाना API (सुझाया गया) की संबंधित क्षमता इस्तेमाल करें।

प्र: tone न भेजें तो क्या होगा? उ: मॉडल script की सामग्री से लहज़ा और लय तय करता है। किसी स्टाइल को स्थिर रूप से दोहराना है तो लहज़ा, गति और स्थान tone में लिखें।

संगत फ़ील्ड

सुझाया गया फ़ील्ड संगत फ़ील्ड नोट
gender vocal_gender दोनों में से एक भेजें; m/f/male/female सभी स्वीकार्य

नए इंटीग्रेशन में लगातार snake_case इस्तेमाल करें। बाकी फ़ील्ड (script, tone, song_title, backing_music) के camelCase उपनाम नहीं हैं।

आगे के चरण

song_id मिलने के बाद:

  1. गाना क्वेरी और इतिहास API से जनरेशन स्थिति और ऑडियो पता देखें;
  2. पूरा होने पर गाने की मीडिया डाउनलोड और प्रीव्यू API से डाउनलोड या सुनें;
  3. बैच डाउनलोड या अपने स्टोरेज में ले जाने के लिए डाउनलोड केंद्र के एंडपॉइंट देखें।
अगलासाउंड इफ़ेक्ट जनरेशन API

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

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

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