API بارگذاری صدای منبع
توضیح نقطه پایانی
بارگذاری صدای منبع یک فایل صوتی محلی یا از راه دور را به کلیپ منبعی تبدیل میکند که قابلیتهای بعدی میتوانند از آن استفاده کنند: کاور، تمدید، جایگزینی بخش، جداسازی و موارد دیگر.
نقطه پایانی: POST /api/music/upload-source
صورتحساب: رایگان. این نقطه پایانی فقط صدای منبع را بارگذاری میکند و کار تولید را شروع نمیکند.
روش استفاده توصیهشده: این گام 1 «کاور دو مرحلهای» است. ابتدا صدا را با این نقطه پایانی بارگذاری کنید (رایگان است و در صورت خطا هر زمان میتوانید دوباره تلاش کنید) و
clip_idبرگشتی را ذخیره کنید؛ پس از تأیید موفقیت بارگذاری (statusدر حالت کامل)، API کاور از کلیپ منبع را برای شروع کاور فراخوانی کنید — بدنه آن درخواست فقط چند صد بایت است، بنابراین بهخاطر بزرگ بودن صدا در مسیر قطع نمیشود. در مقایسه با API یکمرحلهای بارگذاری و سپس کاور، این تفکیک زمانی پایدارتر است که صدا بزرگ باشد، شبکه ناپایدار باشد، یا همان ماده چند بار استفاده شود (تمدید / جایگزینی / جداسازی).
توصیههایی برای بارگذاری فایلهای بزرگ
| وضعیت | روش پیشنهادی |
|---|---|
| صدا از قبل عمومی است (لینک مستقیم https دارد) | از file_url استفاده کنید: بدنه درخواست فقط چند صد بایت است، پایدارترین گزینه |
| فایل محلی (Node / Python / دسکتاپ) | از بارگذاری multipart استفاده کنید (-F "file=@source.mp3") و Content-Type را دستی تنظیم نکنید |
| فقط JSON + base64 ممکن است | توجه کنید که Content-Length باید تعداد بایت باشد (Buffer.byteLength)، در غیر این صورت بدنه ممکن است قطع شود |
پس از پایان بارگذاری، همیشه تأیید کنید که status در پاسخ در حالت کامل است و clip_id را ذخیره کنید و سپس به گام 2 بروید؛
بارگذاری ناموفق هزینهای ندارد و کار تولیدی ایجاد نمیکند — فقط دوباره تلاش کنید.
پارامترهای درخواست
Headers
برای درخواستهای JSON:
| پارامتر | نوع | الزامی | یادداشت |
|---|---|---|---|
| Authorization | string | بله | Bearer YOUR_API_KEY |
| Content-Type | string | بله | application/json |
در درخواستهای multipart Content-Type را دستی تنظیم نکنید؛ کلاینت آن را خودکار میسازد.
پارامترهای بدنه
| پارامتر | نوع | الزامی | پیشفرض | یادداشت |
|---|---|---|---|---|
| model | string | خیر | suno-v6 | نام مدل برای مشتری: suno-v6، suno-v6-wild یا suno-v6-mini |
| file_url | string | خیر | - | نشانی صدای از راه دور |
| file_base64 | string | خیر | - | صدا در قالب Base64 |
| file_name | string | خیر | - | نام فایل |
| upload_type | string | خیر | file_upload | نوع بارگذاری |
نمونه درخواست JSON
curl -X POST https://www.suno-api.io/api/music/upload-source \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6",
"file_url": "https://example.com/source.mp3",
"file_name": "source.mp3",
"upload_type": "file_upload"
}'
نمونه درخواست multipart
curl -X POST https://www.suno-api.io/api/music/upload-source \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@source.mp3" \
-F "file_name=source.mp3" \
-F "upload_type=file_upload" \
-F "model=suno-v6"
پاسخ
{
"clip_id": "uploaded_clip_id",
"status": "complete",
"title": "source.mp3",
"image_url": "https://...",
"audio_url": "https://...",
"display_tags": "pop, vocal",
"inferred_description": "uploaded source audio",
"clip_metadata": {}
}
دریافت کلید API
پس از ثبتنام از کنسول یک کلید API بسازید. هر تولید ۰٫۶ یوان هزینه دارد و ۲ قطعه برمیگرداند، دانلودها نامحدود است و به شماره تلفن نیازی نیست.
دریافت کلید API بازگشت به مرور کلی