API کلون صدا و ساخت با صدای تعیین‌شده (توصیه نمی‌شود)

به‌روزرسانی 2026-09-18 · تیم Suno-API

⛔ مسیر قدیمی، برای یکپارچه‌سازی‌های تازه توصیه نمی‌شود. این صفحه مسیر ابتدایی persona (voice_task_id / generate-with-voice) را توضیح می‌دهد. هنوز کار می‌کند، اما دیگر به مشتریان توصیه نمی‌شود؛ در منوی سمت چپ با برچسب «توصیه نمی‌شود» مشخص شده است.

برای یکپارچه‌سازی تازه از 【توصیه‌شده】 API پروفایل صدا استفاده کنید: از یک نمونه صدا پروفایل بسازید (POST /api/music/voice-profile/create) و با آن آهنگ مشخصی را کاور کنید یا آهنگ تازه‌ای بخوانید. پروفایل صدا منبعی درجه‌یک است: می‌توان آن را فهرست، بازیابی و حذف کرد و صدای مبدأ به‌طور دائمی نگه داشته می‌شود.

اگر محصول شما به چرخه کامل «ساخت صدا → استفاده بلندمدت → کاور» نیاز دارد، مسیر تازه را در اولویت بگذارید.

نکته مهم: صدای کلون‌شده ممکن است منقضی شود.

voice_id / voice_task_id که از کلون صدا به دست می‌آید منبعی همیشگی نیست: ممکن است به‌دلیل مدت اعتبار، وضعیت حساب یا تغییر وضعیت صدا از کار بیفتد. طرف یکپارچه‌ساز نباید یک‌بار کلون کند و بعد شناسه صدای ذخیره‌شده در حافظه محلی را تا ابد بازاستفاده کند.

رویه پیشنهادی:

  • voice_task_id، voice_id، is_available، updated_at و زمان آخرین ساخت موفق را ذخیره کنید.
  • پیش از هر ساخت با صدای کلون‌شده، GET /api/voice/clone/tasks/{voice_task_id} یا POST /api/voice/clone/tasks/{voice_task_id}/check را فراخوانی کنید و مطمئن شوید is_available=true است.
  • اگر نقطه پایانی پاسخ داد که صدا در دسترس نیست، کار وجود ندارد یا selected voice is not ready برگرداند، از کاربر بخواهید دوباره کلون کند یا صدای دیگری انتخاب کند.
  • به کاربر نهایی وعده ندهید که صدای کلون‌شده یک «دارایی دائمی» است؛ در رابط محصول نشان دهید که «صدا ممکن است منقضی شود و به اعتبارسنجی یا کلون مجدد نیاز داشته باشد».

توضیح نقطه پایانی

این گروه از نقاط پایانی صدایی قابل استفاده مجدد می‌سازد و با آن آهنگ تولید می‌کند. فراخوانی‌کننده تنها به API Key صادرشده توسط پلتفرم نیاز دارد؛ سرور خودش ارسال کار، همگام‌سازی وضعیت، صورتحساب و دانلود را انجام می‌دهد.

احراز هویت: Authorization: Bearer YOUR_API_KEY

صورت‌حساب:

روند فراخوانی

  1. POST /api/voice/clone/validate را برای بارگذاری صدای مبدأ فراخوانی کنید و voice_task_id بگیرید.
  2. منتظر بمانید یا GET /api/voice/clone/tasks/{voice_task_id} را پرس‌وجو کنید تا validate_info به دست آید.
  3. کاربر آن متن را بلند می‌خواند و فایل صوتی تأیید را ضبط می‌کند.
  4. POST /api/voice/clone/tasks/{voice_task_id}/generate را برای ارسال فایل صوتی تأیید فراخوانی کنید.
  5. POST /api/voice/clone/tasks/{voice_task_id}/check را فراخوانی کنید یا کار را پرس‌وجو کنید تا is_available=true شود.
  6. POST /api/music/generate-with-voice را برای ساخت آهنگ با آن صدا فراخوانی کنید.
  7. نقطه پایانی ساخت ابتدا کارهای جانگهدار را برمی‌گرداند؛ وقتی ساخت تمام شد و song_id واقعی را گرفتید، می‌توانید با نقاط پایانی دانلود یک فایل یا یک بسته بگیرید.
  8. (اختیاری) وقتی دیگر به این صدا نیاز ندارید، DELETE /api/voice/clone/voices/{voice_task_id} را برای حذف فراخوانی کنید؛ معنای آن در بخش 6 آمده است.

کلون یک‌مرحله‌ای هم وجود دارد: در نخستین صفحه ضبط/بارگذاری صدای مبدأ در فضای کار می‌توانید تک‌مرحله‌ای تمام کنید؛ سیستم اعتبارسنجی و ساخت صدا را یک‌جا انجام می‌دهد، پس نیازی به ضبط فایل صوتی تأیید دوم ندارید؛ هزینه 5 یوان برای هر فراخوانی است و در صورت شکست بازگردانده می‌شود.

فیلدهای کار صدا

فیلد نوع توضیح
voice_task_id number شناسه کار صدا در پلتفرم؛ همه نقاط پایانی بعدی از این شناسه استفاده می‌کنند
voice_id string شناسه صدای قابل استفاده برای ساخت آهنگ؛ وقتی کار قابل استفاده شود برگردانده می‌شود
voice_name string نام صدا
description string توضیح صدا
style string سبک صدا
singer_skill_level string سطح آواز؛ مقادیر رایج: beginner، intermediate، professional
language string زبان صدای مبدأ، مثل zh، en
validate_info string متن تأییدی که باید بلند خوانده شود
validate_status string وضعیت کار اعتبارسنجی
voice_status string وضعیت ساخت صدا
is_available boolean آیا برای ساخت آهنگ قابل استفاده است
status string وضعیت کار در پلتفرم
stage string مرحله فعلی
error_code string کد خطا در صورت شکست
error_message string علت شکست
source_duration_seconds number طول صدای مبدأ به ثانیه
created_at number مُهر زمانی ساخت
updated_at number مُهر زمانی به‌روزرسانی
completed_at number مُهر زمانی پایان

1. ارسال صدای مبدأ برای اعتبارسنجی

نقطه پایانی: POST /api/voice/clone/validate

پارامترهای بدنه

پارامتر نوع الزامی پیش‌فرض توضیح
voice_url string خیر - نشانی فایل صوتی صدای مبدأ. این یا file_base64
file_base64 string خیر - صدا در قالب base64. این یا voice_url
file_name string خیر - نام فایل؛ هنگام استفاده از file_base64 توصیه می‌شود
voice_name string خیر ساخت خودکار نام صدا
description string خیر - توضیح صدا
style string خیر - سبک صدا
singer_skill_level string خیر beginner سطح آواز
language string خیر zh زبان صدای مبدأ
vocal_start_s number بله - ثانیه شروع آواز قابل استفاده
vocal_end_s number بله - ثانیه پایان آواز قابل استفاده
source_duration_seconds number خیر - طول کل صدای مبدأ به ثانیه

vocal_end_s - vocal_start_s باید حداقل طول بخش آوازی را برآورده کند. ضبط آواز تمیز، بدون همراهی یا نویز آشکار، بارگذاری کنید.

نمونه درخواست

curl -X POST https://www.suno-api.io/api/voice/clone/validate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "voice_url": "https://example.com/source-voice.wav",
    "voice_name": "صدای زنانه چینی من",
    "description": "صدای زنانه چینی شفاف و طبیعی",
    "style": "Mandopop",
    "singer_skill_level": "intermediate",
    "language": "zh",
    "vocal_start_s": 1.2,
    "vocal_end_s": 18.5,
    "source_duration_seconds": 20
  }'

نمونه پاسخ

{
  "success": true,
  "message": "",
  "data": {
    "voice": {
      "voice_task_id": 123,
      "voice_name": "صدای زنانه چینی من",
      "language": "zh",
      "validate_status": "submitted",
      "is_available": false,
      "status": "validate_submitted",
      "stage": "validate_submitted",
      "created_at": 1780480000,
      "updated_at": 1780480000
    }
  }
}

2. پرس‌وجوی کار صدا

نقطه پایانی: GET /api/voice/clone/tasks/{voice_task_id}

نمونه درخواست

curl https://www.suno-api.io/api/voice/clone/tasks/123 \
  -H "Authorization: Bearer YOUR_API_KEY"

نمونه پاسخ

{
  "success": true,
  "message": "",
  "data": {
    "voice": {
      "voice_task_id": 123,
      "voice_name": "صدای زنانه چینی من",
      "validate_info": "متن تأییدی که اینجا برگردانده شده را بلند بخوانید",
      "validate_status": "success",
      "is_available": false,
      "status": "validate_ready",
      "stage": "validate_callback"
    }
  }
}

3. ساخت مجدد متن تأیید

نقطه پایانی: POST /api/voice/clone/tasks/{voice_task_id}/regenerate

وقتی متن تأیید برای بلندخوانی مناسب نیست یا اعتبارسنجی باید تکرار شود، این را فراخوانی کنید.

curl -X POST https://www.suno-api.io/api/voice/clone/tasks/123/regenerate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

4. ارسال فایل صوتی تأیید و ساخت صدا

نقطه پایانی: POST /api/voice/clone/tasks/{voice_task_id}/generate

پارامترهای بدنه

پارامتر نوع الزامی پیش‌فرض توضیح
verify_url string خیر - نشانی فایل صوتی خوانده‌شده از متن تأیید. این یا file_base64
file_base64 string خیر - فایل صوتی تأیید در قالب base64. این یا verify_url
file_name string خیر - نام فایل؛ هنگام استفاده از file_base64 توصیه می‌شود
voice_name string خیر نام کار نام صدا
description string خیر توضیح کار توضیح صدا
style string خیر سبک کار سبک صدا
singer_skill_level string خیر تنظیم کار سطح آواز

نمونه درخواست

curl -X POST https://www.suno-api.io/api/voice/clone/tasks/123/generate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "verify_url": "https://example.com/verify-voice.wav",
    "voice_name": "صدای زنانه چینی من"
  }'

5. بررسی قابل‌استفاده‌بودن صدا

نقطه پایانی: POST /api/voice/clone/tasks/{voice_task_id}/check

curl -X POST https://www.suno-api.io/api/voice/clone/tasks/123/check \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

وقتی کار قابل استفاده باشد، is_available در پاسخ true است و voice_id برگردانده می‌شود.

6. حذف صدا

نقطه پایانی: DELETE /api/voice/clone/voices/{voice_task_id}

صورت‌حساب: رایگان.

curl -X DELETE https://www.suno-api.io/api/voice/clone/voices/123 \
  -H "Authorization: Bearer YOUR_API_KEY"

نمونه پاسخ

{
  "success": true,
  "message": "",
  "data": {
    "voice_task_id": 123,
    "deleted": true
  }
}
فیلد نوع توضیح
voice_task_id number شناسه کار صدای حذف‌شده
deleted boolean همیشه true؛ یعنی درخواست حذف پذیرفته شده است

پس از حذف چه می‌شود

7. ساخت آهنگ با صدای کلون‌شده

نقطه پایانی: POST /api/music/generate-with-voice

صورت‌حساب: 1.2 یوان برای هر فراخوانی.

پارامترهای بدنه

پارامتر نوع الزامی پیش‌فرض توضیح
voice_task_id number بله - شناسه یک کار صدای قابل استفاده
voice_id string خیر - فیلد بررسی اختیاری؛ اگر بفرستید باید با voice_id کار یکسان باشد
customMode boolean خیر false false حالت الهام، true حالت پیشرفته
prompt string بله - در حالت الهام توضیح آهنگ، در حالت پیشرفته متن آهنگ. هیچ‌کدام نباید خالی باشد
style string در حالت پیشرفته بله - برچسب‌های سبک؛ با customMode=true نباید خالی باشد
title string در حالت پیشرفته بله - عنوان آهنگ؛ با customMode=true نباید خالی باشد
negativeTags string خیر - سبک‌هایی که باید کنار گذاشته شوند
instrumental boolean خیر false فیلد سازگاری؛ ساخت با صدای کلون‌شده همیشه آهنگ با خواننده در نظر گرفته می‌شود
waitAudio boolean خیر false فیلد سازگاری؛ این نقطه پایانی همیشه کارهای جانگهدار را ناهمگام برمی‌گرداند و منتظر صدا نمی‌ماند
model string خیر suno-v6 مدل ساخت آهنگ معمولی؛ می‌توانید از suno-v6، suno-v6-wild یا suno-v6-mini استفاده کنید
vocalGender string خیر - ترجیح جنسیت آواز
lyricsMode string خیر - فیلد سازگاری؛ مسیر فعلی ارسال با صدای کلون‌شده خودبه‌خود حالت متن را تغییر نمی‌دهد
weirdnessConstraint number خیر - شدت خلاقیت
styleWeight number خیر - وزن سبک
audioWeight number خیر پیش‌فرض پلتفرم Audio Influence (میزان اهمیت صدای مرجع)، بازه 0.0-1.0. اگر فرستاده نشود، پیش‌فرض پلتفرم اعمال می‌شود (معادل 25% در رابط رسمی)؛ 0 مقداری معتبر است و یعنی هیچ تمایلی به منبع مرجع نداشتن. این فیلد با sourceClipId در سطر بعد ارتباط تنگاتنگ دارد: با وجود منبع به صدای مرجع اشاره می‌کند و بدون منبع به صدای کلون‌شده؛ پلتفرم برای هر دو حالت تنها همین یک لغزنده را دارد، پس آن را بر اساس کاربرد به دو پارامتر تقسیم نکنید
sourceClipId string خیر - شناسه واقعی clip در فضای کار برای آهنگ مبدأ. اگر بفرستید وارد کاور با صدای کلون‌شده می‌شوید؛ اگر نه، ساخت معمولی با صدای کلون‌شده است
sourceAudioUrl string خیر - فیلد نمایشی مبدأ؛ در تعیین مالکیت یا حساب نقشی ندارد و سرور بر پایه رکورد پایگاه داده تصمیم می‌گیرد
sourceTitle string خیر - فیلد نمایشی مبدأ؛ در تعیین مالکیت یا حساب نقشی ندارد
clientSubmissionId string خیر - فیلد سازگاری Create UI؛ برای حذف تکرار مطمئن در API مشتری باید از سرآیند Idempotency-Key استفاده کنید

مدل‌های suno-v6، suno-v6-wild و suno-v6-mini پشتیبانی می‌شوند؛ مدل خالی مانند suno-v6 در نظر گرفته می‌شود. مدل‌های قدیمی V5/V5.5 بازنشسته شده‌اند، اما در کارهای تاریخی ممکن است نام مدل‌های قدیمی دیده شود.

ساختار مشترک درخواست فیلدهای سازگاری Create UI مانند task، soundType، soundLoop، soundBpm، soundKey، voiceTaskId و voiceId را هم می‌خواند، اما این‌ها پارامتر معتبر مشتری برای این نقطه پایانی نیستند: کار صدا باید با voice_task_id فرستاده شود، بررسی اختیاری صدا با voice_id، و ساخت موسیقی با صدا هرگز فیلدهای sound را نمی‌خواند.

نحوه پر کردن پارامترهای ساخت

پارامترهای سرآیند

سرآیند الزامی توضیح
Authorization: Bearer ... بله توکن API مشتری
Content-Type: application/json بله بدنه درخواست JSON
Idempotency-Key خیر، اکیداً توصیه می‌شود حداکثر 128 نویسه. با یکسان‌بودن کاربر، توکن، نقطه پایانی، کلید و بدنه، صورتحساب و ساخت کار فقط یک بار انجام می‌شود

رفتار Idempotency-Key:

شرایط کاور با sourceClipId

کاور از یک مبدأ در API مشتری به‌طور کامل سمت سرور انجام می‌شود: دسترسی به آهنگ مبدأ را سرور حل می‌کند و مشتری هیچ اطلاعات حسابی نمی‌فرستد. امکان‌پذیری آن با پاسخ واقعی نقطه پایانی مشخص می‌شود.

مبدأ باید متعلق به کاربر API فعلی باشد، آهنگی تمام‌شده در فضای کار و نه pending: باشد و صدای قابل استفاده داشته باشد. ساخت معمولی، مبدأهای بارگذاری معمولی و آهنگ نهایی بارگذاری تقویت‌شده پشتیبانی می‌شوند؛ رکوردهای میانی بارگذاری تقویت‌شده پیش از صورتحساب رد می‌شوند. سرور تنها شناسه آهنگ مبدأ ارسالی مشتری را می‌پذیرد و هرگز شناسه حساب را؛ مبدأ ناموجود یا ناتمام پیش از صورتحساب خطا می‌دهد.

نمونه درخواست

curl -X POST https://www.suno-api.io/api/music/generate-with-voice \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "voice_task_id": 123,
    "customMode": true,
    "prompt": "یک آهنگ پاپ چینی درباره ساحل دریا در شب تابستان بنویس",
    "style": "Mandopop, warm piano, emotional",
    "title": "نسیم دریا در شب تابستان",
    "negativeTags": "noise, low quality",
    "instrumental": false,
    "model": "suno-v6"
  }'

نمونه پاسخ

{
  "success": true,
  "message": "",
  "data": {
    "client_request_id": "cu_1780480000_abcd1234",
    "items": [
      {
        "placeholder_id": "pending:cu_1780480000_abcd1234:0",
        "client_request_id": "cu_1780480000_abcd1234",
        "client_request_index": 0,
        "status": "submitted",
        "type": "voice_generate",
        "title": "نسیم دریا در شب تابستان",
        "prompt": "یک آهنگ پاپ چینی درباره ساحل دریا در شب تابستان بنویس"
      },
      {
        "placeholder_id": "pending:cu_1780480000_abcd1234:1",
        "client_request_id": "cu_1780480000_abcd1234",
        "client_request_index": 1,
        "status": "submitted",
        "type": "voice_generate",
        "title": "نسیم دریا در شب تابستان",
        "prompt": "یک آهنگ پاپ چینی درباره ساحل دریا در شب تابستان بنویس"
      }
    ],
    "pre_consumed_quota": 600000,
    "billing_source": "wallet"
  }
}

درباره کارهای جانگهدار و song_id نهایی

generate-with-voice نقطه پایانی ساخت ناهمگام است. پاسخ موفق تنها یعنی کار ساخت ارسال شده، نه اینکه آهنگ کامل شده است.

معنای فیلدهای کلیدی پاسخ:

فیلد توضیح
client_request_id شناسه رهگیری این درخواست ساخت. یک درخواست معمولاً 2 آهنگ می‌سازد و هر دو نتیجه همین client_request_id را دارند.
items[].placeholder_id شناسه جانگهدار محلی پلتفرم، معمولاً به شکل pending:{client_request_id}:{index}. این شناسه نهایی آهنگ نیست.
items[].client_request_index شماره نتیجه در همان درخواست، معمولاً 0 و 1.
items[].status وضعیت اولیه پس از ارسال، مثلاً submitted. موفقیت یا شکست بعدی بر پایه رکورد نهایی کار است.

توجه: placeholder_id که با pending: شروع می‌شود نمی‌تواند song_id نهایی باشد و نمی‌توان آن را مستقیم به /api/music/query یا نقاط پایانی دانلود داد. فراخوانی /api/music/query تنها با مقادیر pending:* ممکن است آرایه خالی [] برگرداند، چون آهنگ واقعی هنوز کامل نشده یا کار جانگهدار هنوز با شناسه نهایی آهنگ جایگزین نشده است.

نمونه نادرست:

{
  "song_ids": "pending:cu_1780480000_abcd1234:0"
}

روند درست:

  1. POST /api/music/generate-with-voice را برای ارسال کار ساخت موسیقی با صدا فراخوانی کنید.
  2. client_request_id، items[].placeholder_id و items[].client_request_index را از پاسخ ذخیره کنید.
  3. GET /api/music/generate-with-voice/results?client_request_id=cu_xxx را پرس‌وجو کنید.
  4. وقتی items[].song_id مقدار داشت و با pending: شروع نمی‌شد، /api/music/query، /api/music/download-file یا /api/music/download-all را فراخوانی کنید.

نسخه فعلی یک نقطه پایانی پرس‌وجوی عمومی اضافه کرده است:

GET /api/music/generate-with-voice/results?client_request_id=cu_xxx

این نقطه پایانی نتایج کارهای همان client_request_id برای کاربر فعلی را برمی‌گرداند تا مشتری خودش song_id نهایی را پیدا کند. در فهرست برگشتی:

اگر فقط client_request_id یا شناسه جانگهدار pending:* را ذخیره کرده‌اید، نخست این نقطه پایانی نتایج را فراخوانی کنید؛ اگر song_id واقعی باز هم پیدا نشد، client_request_id را برای ردیابی به پشتیبانی فنی بفرستید.

پرس‌وجوی نتایج ساخت موسیقی با صدا

نقطه پایانی: GET /api/music/generate-with-voice/results

صورت‌حساب: رایگان.

پارامترهای پرس‌وجو

پارامتر نوع الزامی توضیح
client_request_id string بله شناسه رهگیری که generate-with-voice برگردانده است

نمونه درخواست

curl -X GET "https://www.suno-api.io/api/music/generate-with-voice/results?client_request_id=cu_1780480000_abcd1234" \
  -H "Authorization: Bearer YOUR_API_KEY"

نمونه پاسخ در حال ساخت

{
  "success": true,
  "message": "",
  "data": {
    "client_request_id": "cu_1780480000_abcd1234",
    "status": "processing",
    "items": [
      {
        "song_id": "",
        "placeholder_id": "pending:cu_1780480000_abcd1234:0",
        "client_request_id": "cu_1780480000_abcd1234",
        "client_request_index": 0,
        "status": "processing",
        "type": "voice_generate",
        "title": "نسیم دریا در شب تابستان"
      }
    ]
  }
}

نمونه پاسخ پس از کامل‌شدن

{
  "success": true,
  "message": "",
  "data": {
    "client_request_id": "cu_1780480000_abcd1234",
    "status": "completed",
    "items": [
      {
        "song_id": "song_abc123",
        "client_request_id": "cu_1780480000_abcd1234",
        "client_request_index": 0,
        "status": "completed",
        "type": "voice_generate",
        "title": "نسیم دریا در شب تابستان",
        "audio_url": "https://...",
        "image_url": "https://...",
        "duration": 180.5
      }
    ]
  }
}

معنای status سطح بالا

وضعیت توضیح
not_found برای کاربر فعلی هنوز رکورد کاری با آن client_request_id وجود ندارد
processing دست‌کم یک نتیجه ناتمام است؛ پرس‌وجو را ادامه دهید
completed همه نتایج کامل شده‌اند؛ می‌توان با song_id پرس‌وجو یا دانلود کرد
partial بخشی کامل و بخشی ناموفق؛ ابتدا song_idهای کامل را پردازش کنید
failed همه نتایج ناموفق؛ items[].error_message را ببینید

8. دانلود یک فایل

نقطه پایانی: POST /api/music/download-file

پارامترهای بدنه

پارامتر نوع الزامی توضیح
song_id string بله شناسه آهنگ
kind string بله نوع دانلود: audio، cover، wav، video

نمونه درخواست

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_abc123",
    "kind": "audio"
  }' \
  --output song.mp3

پاسخ یک جریان فایل است؛ Content-Type و نام فایل بر پایه آنچه بک‌اند برمی‌گرداند است.

9. دانلود منابع آهنگ به‌صورت بسته

نقطه پایانی: POST /api/music/download-all

پارامترهای بدنه

پارامتر نوع الزامی توضیح
song_id string بله شناسه آهنگ

نمونه درخواست

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_id": "song_abc123"
  }' \
  --output song.zip

بسته معمولاً صدا، کاور و metadata.json را دارد؛ اگر نوعی منبع هنوز ساخته نشده باشد، در آرشیو قرار نمی‌گیرد.

خطاهای رایج

message توضیح
voice audio is required هنگام ارسال صدای مبدأ نه voice_url فرستاده شده و نه file_base64
invalid voice task id شناسه کار صدا در مسیر نامعتبر است
voice validation is not ready متن تأیید هنوز آماده نیست، پس فایل صوتی تأیید قابل ارسال نیست
selected voice is not ready صدای انتخاب‌شده هنوز نمی‌تواند آهنگ بسازد (آماده نیست، حذف شده یا متعلق به حساب فعلی نیست)
selected voice does not match voice task voice_id در درخواست با کار یکسان نیست
voice task is required هنگام ساخت آهنگ با صدا، voice_task_id وجود ندارد
record not found کار / آهنگ وجود ندارد، متعلق به حساب API Key فعلی نیست یا پیش‌تر حذف شده است (اگر پس از حذف صدا این کار را پرس‌وجو کنید همان را می‌بینید)

خطاهای این گروه همیشه HTTP 200 برمی‌گردانند: موفقیت را از فیلد success در بدنه تشخیص دهید (false یعنی شکست و علت در message است) و تنها به کد وضعیت HTTP نگاه نکنید. معنای کامل حذف صدا (آیا هنوز قابل استفاده است، آیا قابل بازیابی است) در بخش 6 آمده است.

بعدی【توصیه‌شده】 API پروفایل صدا

دریافت کلید API

پس از ثبت‌نام از کنسول یک کلید API بسازید. هر تولید ۰٫۶ یوان هزینه دارد و ۲ قطعه برمی‌گرداند، دانلودها نامحدود است و به شماره تلفن نیازی نیست.

دریافت کلید API بازگشت به مرور کلی