Suno تمديد الموسيقى
استخدم نقطة نهاية تمديد الموسيقى لإنشاء مهمة Task غير متزامنة.
نظرة عامة
استخدم نقطة نهاية تمديد الموسيقى مع نموذج مدعوم. استخدم معرّف Task المُعاد لاسترجاع حالته، أو وفّر callback_url لعمليات التسليم الموثقة أدناه.
البدء السريع
- أنشئ مفتاح API واضبطه كـ RUNAPI_API_KEY.
- اختر نموذجاً مدعوماً وأرسل طلب POST يطابق مخطط ذلك النموذج.
- احفظ معرّف المهمة المُعاد، ثم استطلع الحالة حتى تبلغ حالة نهائية أو تعالج عمليات الاستدعاء الموثقة أدناه.
نقطة النهاية
- عنوان URL الأساسي
https://runapi.ai- إصدار API
v1- المصادقة
Authorization: Bearer YOUR_API_TOKEN
النماذج المدعومة
افتح صفحة النموذج للاطلاع على التسعير الحالي وحدود المعدل وتفاصيل الاستخدام التجاري.
مخطط الطلب
تعتمد الحقول والقيم المسموح بها على النموذج المحدد. عند التوفير، يستقبل callback_url عمليات تسليم المهمة الموثّقة أدناه.
suno-v420 حقل
audio_idstringمعرّف الصوت المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
audio_urlstringرابط URL الصوت المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
audio_weightnumberوزن الصوت (0-1).
نطاق:0 - 1
callback_urlstringرابط Webhook لإشعارات غير متزامنة.
continue_atnumberالثواني داخل المصدر للاستمرار منها. مطلوب في وضع المعاملات المخصصة.
instrumentalbooleanعندما تكون القيمة true، يتم التوليد بدون أصوات غنائية.
lyricsstringالكلمات الدقيقة. مسموح بها فقط عند تمديد صوت مرفوع في وضع المعاملات المخصصة.
حد:5000
modelstringمعرّف النموذج.
negative_tagsstringالأساليب الواجب تجنبها.
parameter_modestringاكتساب معاملات المسار المصدر (source) أو توفير معاملات مخصصة (custom).
القيم المسموح بها:source, custom
persona_idstringمعرّف الشخصية.
persona_typestringنوع الشخصية.
القيم المسموح بها:style, voice
promptstringنبذة التمديد. لا يمكن دمجها مع الكلمات.
حد:5000
stylestringالإعداد المسبق للأسلوب. مطلوب في وضع المعاملات المخصصة.
حد:1000
style_weightnumberوزن الالتزام بالأسلوب (0-1).
نطاق:0 - 1
task_idstringمعرّف المهمة المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
titlestringعنوان الأغنية. مطلوب في وضع المعاملات المخصصة.
حد:80
upload_urlstringعنوان URL للصوت المصدري المرفوع للتمديد. قدّم أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
vocal_genderstringجنس الصوت الغنائي.
القيم المسموح بها:male, female
weirdness_constraintnumberقيد الغرابة (0-1).
نطاق:0 - 1
suno-v4.520 حقل
audio_idstringمعرّف الصوت المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
audio_urlstringرابط URL الصوت المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
audio_weightnumberوزن الصوت (0-1).
نطاق:0 - 1
callback_urlstringرابط Webhook لإشعارات غير متزامنة.
continue_atnumberالثواني داخل المصدر للاستمرار منها. مطلوب في وضع المعاملات المخصصة.
instrumentalbooleanعندما تكون القيمة true، يتم التوليد بدون أصوات غنائية.
lyricsstringالكلمات الدقيقة. مسموح بها فقط عند تمديد صوت مرفوع في وضع المعاملات المخصصة.
حد:5000
modelstringمعرّف النموذج.
negative_tagsstringالأساليب الواجب تجنبها.
parameter_modestringاكتساب معاملات المسار المصدر (source) أو توفير معاملات مخصصة (custom).
القيم المسموح بها:source, custom
persona_idstringمعرّف الشخصية.
persona_typestringنوع الشخصية.
القيم المسموح بها:style, voice
promptstringنبذة التمديد. لا يمكن دمجها مع الكلمات.
حد:5000
stylestringالإعداد المسبق للأسلوب. مطلوب في وضع المعاملات المخصصة.
حد:1000
style_weightnumberوزن الالتزام بالأسلوب (0-1).
نطاق:0 - 1
task_idstringمعرّف المهمة المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
titlestringعنوان الأغنية. مطلوب في وضع المعاملات المخصصة.
حد:80
upload_urlstringعنوان URL للصوت المصدري المرفوع للتمديد. قدّم أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
vocal_genderstringجنس الصوت الغنائي.
القيم المسموح بها:male, female
weirdness_constraintnumberقيد الغرابة (0-1).
نطاق:0 - 1
suno-v4.5-all20 حقل
audio_idstringمعرّف الصوت المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
audio_urlstringرابط URL الصوت المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
audio_weightnumberوزن الصوت (0-1).
نطاق:0 - 1
callback_urlstringرابط Webhook لإشعارات غير متزامنة.
continue_atnumberالثواني داخل المصدر للاستمرار منها. مطلوب في وضع المعاملات المخصصة.
instrumentalbooleanعندما تكون القيمة true، يتم التوليد بدون أصوات غنائية.
lyricsstringالكلمات الدقيقة. مسموح بها فقط عند تمديد صوت مرفوع في وضع المعاملات المخصصة.
حد:5000
modelstringمعرّف النموذج.
negative_tagsstringالأساليب الواجب تجنبها.
parameter_modestringاكتساب معاملات المسار المصدر (source) أو توفير معاملات مخصصة (custom).
القيم المسموح بها:source, custom
persona_idstringمعرّف الشخصية.
persona_typestringنوع الشخصية.
القيم المسموح بها:style, voice
promptstringنبذة التمديد. لا يمكن دمجها مع الكلمات.
حد:5000
stylestringالإعداد المسبق للأسلوب. مطلوب في وضع المعاملات المخصصة.
حد:1000
style_weightnumberوزن الالتزام بالأسلوب (0-1).
نطاق:0 - 1
task_idstringمعرّف المهمة المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
titlestringعنوان الأغنية. مطلوب في وضع المعاملات المخصصة.
حد:80
upload_urlstringعنوان URL للصوت المصدري المرفوع للتمديد. قدّم أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
vocal_genderstringجنس الصوت الغنائي.
القيم المسموح بها:male, female
weirdness_constraintnumberقيد الغرابة (0-1).
نطاق:0 - 1
suno-v4.5-plus20 حقل
audio_idstringمعرّف الصوت المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
audio_urlstringرابط URL الصوت المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
audio_weightnumberوزن الصوت (0-1).
نطاق:0 - 1
callback_urlstringرابط Webhook لإشعارات غير متزامنة.
continue_atnumberالثواني داخل المصدر للاستمرار منها. مطلوب في وضع المعاملات المخصصة.
instrumentalbooleanعندما تكون القيمة true، يتم التوليد بدون أصوات غنائية.
lyricsstringالكلمات الدقيقة. مسموح بها فقط عند تمديد صوت مرفوع في وضع المعاملات المخصصة.
حد:5000
modelstringمعرّف النموذج.
negative_tagsstringالأساليب الواجب تجنبها.
parameter_modestringاكتساب معاملات المسار المصدر (source) أو توفير معاملات مخصصة (custom).
القيم المسموح بها:source, custom
persona_idstringمعرّف الشخصية.
persona_typestringنوع الشخصية.
القيم المسموح بها:style, voice
promptstringنبذة التمديد. لا يمكن دمجها مع الكلمات.
حد:5000
stylestringالإعداد المسبق للأسلوب. مطلوب في وضع المعاملات المخصصة.
حد:1000
style_weightnumberوزن الالتزام بالأسلوب (0-1).
نطاق:0 - 1
task_idstringمعرّف المهمة المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
titlestringعنوان الأغنية. مطلوب في وضع المعاملات المخصصة.
حد:80
upload_urlstringعنوان URL للصوت المصدري المرفوع للتمديد. قدّم أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
vocal_genderstringجنس الصوت الغنائي.
القيم المسموح بها:male, female
weirdness_constraintnumberقيد الغرابة (0-1).
نطاق:0 - 1
suno-v520 حقل
audio_idstringمعرّف الصوت المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
audio_urlstringرابط URL الصوت المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
audio_weightnumberوزن الصوت (0-1).
نطاق:0 - 1
callback_urlstringرابط Webhook لإشعارات غير متزامنة.
continue_atnumberالثواني داخل المصدر للاستمرار منها. مطلوب في وضع المعاملات المخصصة.
instrumentalbooleanعندما تكون القيمة true، يتم التوليد بدون أصوات غنائية.
lyricsstringالكلمات الدقيقة. مسموح بها فقط عند تمديد صوت مرفوع في وضع المعاملات المخصصة.
حد:5000
modelstringمعرّف النموذج.
negative_tagsstringالأساليب الواجب تجنبها.
parameter_modestringاكتساب معاملات المسار المصدر (source) أو توفير معاملات مخصصة (custom).
القيم المسموح بها:source, custom
persona_idstringمعرّف الشخصية.
persona_typestringنوع الشخصية.
القيم المسموح بها:style, voice
promptstringنبذة التمديد. لا يمكن دمجها مع الكلمات.
حد:5000
stylestringالإعداد المسبق للأسلوب. مطلوب في وضع المعاملات المخصصة.
حد:1000
style_weightnumberوزن الالتزام بالأسلوب (0-1).
نطاق:0 - 1
task_idstringمعرّف المهمة المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
titlestringعنوان الأغنية. مطلوب في وضع المعاملات المخصصة.
حد:80
upload_urlstringعنوان URL للصوت المصدري المرفوع للتمديد. قدّم أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
vocal_genderstringجنس الصوت الغنائي.
القيم المسموح بها:male, female
weirdness_constraintnumberقيد الغرابة (0-1).
نطاق:0 - 1
suno-v5.520 حقل
audio_idstringمعرّف الصوت المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
audio_urlstringرابط URL الصوت المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
audio_weightnumberوزن الصوت (0-1).
نطاق:0 - 1
callback_urlstringرابط Webhook لإشعارات غير متزامنة.
continue_atnumberالثواني داخل المصدر للاستمرار منها. مطلوب في وضع المعاملات المخصصة.
instrumentalbooleanعندما تكون القيمة true، يتم التوليد بدون أصوات غنائية.
lyricsstringالكلمات الدقيقة. مسموح بها فقط عند تمديد صوت مرفوع في وضع المعاملات المخصصة.
حد:5000
modelstringمعرّف النموذج.
negative_tagsstringالأساليب الواجب تجنبها.
parameter_modestringاكتساب معاملات المسار المصدر (source) أو توفير معاملات مخصصة (custom).
القيم المسموح بها:source, custom
persona_idstringمعرّف الشخصية.
persona_typestringنوع الشخصية.
القيم المسموح بها:style, voice
promptstringنبذة التمديد. لا يمكن دمجها مع الكلمات.
حد:5000
stylestringالإعداد المسبق للأسلوب. مطلوب في وضع المعاملات المخصصة.
حد:1000
style_weightnumberوزن الالتزام بالأسلوب (0-1).
نطاق:0 - 1
task_idstringمعرّف المهمة المصدر للتمديد. وفِّر أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
titlestringعنوان الأغنية. مطلوب في وضع المعاملات المخصصة.
حد:80
upload_urlstringعنوان URL للصوت المصدري المرفوع للتمديد. قدّم أحد الخيارات: task_id أو audio_id أو audio_url أو upload_url.
vocal_genderstringجنس الصوت الغنائي.
القيم المسموح بها:male, female
weirdness_constraintnumberقيد الغرابة (0-1).
نطاق:0 - 1
إنشاء قبول
POST /api/v1/suno/extend_music
مخطط الاستجابة
{
"properties": {
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
},
"task_replayed": {
"type": "boolean"
}
},
"required": [
"id",
"status",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "processing"
}
الاستطلاع قيد المعالجة
GET /api/v1/suno/extend_music/:id
مخطط الاستجابة
{
"properties": {
"audios": {
"items": {
"properties": {
"audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"duration": {
"type": "number"
},
"id": {
"type": "string"
},
"image_url": {
"type": "string",
"x-runapi-generated-media": true
},
"lyrics": {
"type": "string"
},
"model_name": {
"type": "string"
},
"stream_audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"generation_stage": {
"enum": [
"text_generated",
"first_audio_ready"
],
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
}
},
"required": [
"id",
"status",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"generation_stage": "text_generated",
"id": "tsk_reference_demo",
"status": "processing"
}
اكتمل الاستطلاع
GET /api/v1/suno/extend_music/:id
مخطط الاستجابة
{
"properties": {
"audios": {
"items": {
"properties": {
"audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"duration": {
"type": "number"
},
"id": {
"type": "string"
},
"image_url": {
"type": "string",
"x-runapi-generated-media": true
},
"lyrics": {
"type": "string"
},
"model_name": {
"type": "string"
},
"stream_audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"generation_stage": {
"enum": [
"text_generated",
"first_audio_ready",
"all_audios_ready",
"failed"
],
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"completed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"audios",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"audios": [
{
"audio_url": "https://file.runapi.ai/reference-audio.mp3",
"id": "audio_reference"
}
],
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "completed"
}
فشل الاستطلاع
GET /api/v1/suno/extend_music/:id
مخطط الاستجابة
{
"properties": {
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"error": {
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"failed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"error",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"error": "Task processing failed.",
"id": "tsk_reference_demo",
"status": "failed"
}
استدعاء العميل: قيد المعالجة
POST callback_url
مخطط الاستجابة
{
"properties": {
"audios": {
"items": {
"properties": {
"audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"duration": {
"type": "number"
},
"id": {
"type": "string"
},
"image_url": {
"type": "string",
"x-runapi-generated-media": true
},
"lyrics": {
"type": "string"
},
"model_name": {
"type": "string"
},
"stream_audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"generation_stage": {
"enum": [
"text_generated",
"first_audio_ready"
],
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
}
},
"required": [
"id",
"status"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"generation_stage": "text_generated",
"id": "tsk_reference_demo",
"status": "processing"
}
استدعاء العميل: مكتمل
POST callback_url
مخطط الاستجابة
{
"properties": {
"audios": {
"items": {
"properties": {
"audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"duration": {
"type": "number"
},
"id": {
"type": "string"
},
"image_url": {
"type": "string",
"x-runapi-generated-media": true
},
"lyrics": {
"type": "string"
},
"model_name": {
"type": "string"
},
"stream_audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"generation_stage": {
"enum": [
"text_generated",
"first_audio_ready",
"all_audios_ready",
"failed"
],
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"completed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"audios"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"audios": [
{
"audio_url": "https://file.runapi.ai/reference-audio.mp3",
"id": "audio_reference"
}
],
"id": "tsk_reference_demo",
"status": "completed"
}
استدعاء العميل: فشل
POST callback_url
مخطط الاستجابة
{
"properties": {
"error": {
"oneOf": [
{
"type": "string"
},
{
"properties": {
"code": {
"type": "string"
},
"limit_cents": {
"type": "integer"
},
"message": {
"type": "string"
},
"reset_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"used_cents": {
"type": "integer"
},
"window": {
"enum": [
"1h",
"1d",
"7d",
"daily",
"weekly",
"monthly",
"lifetime"
],
"type": "string"
}
},
"required": [
"code",
"message"
],
"type": "object",
"unevaluatedProperties": false
}
]
},
"id": {
"type": "string"
},
"status": {
"enum": [
"failed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": {
"code": "generation_failed",
"message": "Task processing failed."
},
"id": "tsk_reference_demo",
"status": "failed"
}
الأخطاء
POST /api/v1/suno/extend_music
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "Authentication required"
}
الأخطاء
GET /api/v1/suno/extend_music/:id
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "Authentication required"
}
الأخطاء
POST /api/v1/suno/extend_music
مخطط الاستجابة
{
"oneOf": [
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "ملخص التحقق القابل للقراءة البشرية.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "رسائل التحقق مفتاحها حقل الطلب العام، مع مصفوفة من السلاسل القابلة للقراءة البشرية لكل حقل.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
مثال على الاستجابة
{
"error": "model must be one of: suno-v4, suno-v4.5, suno-v4.5-all, suno-v4.5-plus, suno-v5, suno-v5.5"
}
الأخطاء
POST /api/v1/suno/extend_music
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "Insufficient balance"
}
الأخطاء
POST /api/v1/suno/extend_music
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "API key credit limit exceeded"
}
الأخطاء
POST /api/v1/suno/extend_music
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "The request uses features that are not supported for the selected model"
}
الأخطاء
POST /api/v1/suno/extend_music
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "Rate limit reached. Please retry later."
}
الأخطاء
POST /api/v1/suno/extend_music
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "Service under maintenance, please try again later"
}
الأخطاء
POST /api/v1/suno/extend_music
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "The request timed out"
}
الأخطاء
GET /api/v1/suno/extend_music/:id
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "Task with id 'tsk_reference_demo' not found"
}
نماذج الأكواد المولَّدة
استخدم cURL مباشرةً، أو ثبّت SDK للغة البرمجة التي تستخدمها. كل نموذج يُرسل الطلب الذي تم التحقق من صحته كما هو موضح في هذا المرجع.
التثبيت
pip install runapi-suno
import os
from runapi.suno import SunoClient
client = SunoClient(api_key=os.environ["RUNAPI_API_KEY"])
task = client.extend_music.create(
model="suno-v5",
upload_url="https://cdn.runapi.ai/public/samples/music.mp3",
parameter_mode="custom",
instrumental=False,
prompt="Continue the arrangement with a brighter chorus.",
style="Acoustic pop with warm piano.",
title="Brighter Chorus",
continue_at=60,
persona_id="persona_reference",
persona_type="style"
)