الموسيقى

إنشاء الموسيقى

إنشاء مهمة توليد موسيقى باستخدام Suno

POST
/v1/music/generations

قم بتوليد الموسيقى والكلمات باستخدام الذكاء الاصطناعي. هذه API غير متزامنة. تعيد استجابة الإنشاء هوية المهمة، وقد تتضمن أيضًا poll_url مفضلًا عند توفره.

جسم الطلب

modelstringالافتراضي: suno_music

معرّف نموذج الموسيقى، مثل suno-music. للكلمات فقط، اختر نموذجًا تتضمن عملياته العامة الحالية lyrics.

promptstring

وصف الموسيقى أو النص البديل. مطلوب للموسيقى والكلمات وupload-cover وupload-extend وreplace-section؛ واختياري مع add-instrumental وفصل المسارات.

titlestring

عنوان الأغنية التي تم توليدها.

tagsstring

علامات النمط (مثل: "pop, upbeat, electronic").

negative_tagsstring

الأنماط المطلوب تجنبها. مطلوب عندما تكون audio_operation هي add-instrumental.

actionstring

قيمة اختيارية MUSIC أو LYRICS. اختر نموذجًا يدعم العملية العامة المقابلة؛ لا يضيف هذا الحقل توليد الكلمات إلى نموذج مخصص للموسيقى فقط.

mvstring

محدد إصدار Suno. مطلوب للتوليد وupload-cover وupload-extend وadd-instrumental والاستبدال من audio_url. احذفه لطلبات الكلمات والاستبدال من task_id + audio_id وفصل المسارات. القيم المقبولة: chirp-v3-5, chirp-v4, chirp-v4-5, chirp-v4.5, chirp-v4-5plus, chirp-v4.5plus, chirp-v4-5all, chirp-v4.5all, chirp-v5, chirp-v5-5, chirp-v5.5.

make_instrumentalboolean

اضبطه على true لإنشاء نتيجة موسيقية بلا غناء.

audio_urlstring

رابط صوت مرجعي أو مرفوع يمكن الوصول إليه علناً. عند إرساله من دون audio_operation يستخدم TokenLab تدفق upload-cover.

audio_operationstring

عملية الصوت: upload-cover, upload-extend, add-instrumental, replace-section, vocal-separate, multi-stem-separation, advanced-split.

تتطلب vocal-separate وmulti-stem-separation وadvanced-split الحقلين task_id + audio_id؛ وتتطلب advanced-split أيضًا stem_name. تتطلب upload-extend قيمة continue_at أكبر من 0. وتتطلب add-instrumental الحقول audio_url وtitle وtags وnegative_tags.

تتطلب replace-section الحقول prompt وtags وtitle وinfill_start_s وinfill_end_s وfull_lyrics. اختر مصدرًا واحدًا فقط: task_id + audio_id، أو audio_url + mv. يجب أن تتراوح فترة الاستبدال بين 6 و60 ثانية.

task_idstring

معرّف مهمة مصدر تملكها مؤسستك، لاستبدال الصوت المولّد أو فصل المسارات.

audio_idstring

معرّف الصوت الوارد في نتيجة مهمة المصدر. مطلوب مع task_id لاستبدال الصوت المولّد وفصل المسارات.

infill_start_snumber

بداية الاستبدال بالثواني، لا تقل عن 0. مطلوبة لـ replace-section.

infill_end_snumber

نهاية الاستبدال بالثواني. مطلوبة لـ replace-section، ويجب أن تأتي بعد infill_start_s بفترة من 6 إلى 60 ثانية.

full_lyricsstring

الكلمات الكاملة للأغنية الناتجة. مطلوبة لـ replace-section.

stem_namestring

اسم المسار. مطلوب لـ advanced-split.

continue_clip_idstring

معرف (ID) لمقطع سابق للمتابعة منه.

continue_atnumber

موضع المتابعة بالثواني. مطلوب وأكبر من 0 مع upload-extend.

الحد الأقصى لـ prompt هو 5000 حرف، ولكل من tags وnegative_tags هو 1000 حرف. تعتمد العمليات والمعلمات المدعومة على تفاصيل النموذج الحالية.

الاستجابة

idstring

معرف المهمة (Task ID) للاستعلام عن الحالة.

task_idstring

اسم بديل لمعرّف المهمة غير المتزامنة نفسه، عند إرجاعه.

poll_urlstring

رابط polling المفضّل عندما يكون متاحًا.

statusstring

حالة المهمة: pending أو processing أو completed أو failed.

createdinteger

طابع Unix الزمني لإنشاء المهمة، عند إرجاعه.

الطلب

curl -X POST "https://api.tokenlab.sh/v1/music/generations" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-music",
    "mv": "chirp-v4",
    "prompt": "An upbeat electronic dance track with heavy bass",
    "title": "Night Drive",
    "tags": "electronic, EDM, energetic"
  }'

الاستجابة

Response
{
  "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "status": "pending",
  "model": "suno-music"
}

التفويض

BearerAuth
AuthorizationBearer <token>

مصادقة مفتاح API. قم بإنشاء أو إدارة مفاتيح API في Dashboard > API > API Keys.

الموضع: header

الترويسات

X-TokenLab-Delivery-Policy?string

سياسة التسليم لكل طلب. تتجاوز إعدادات API key و Workspace الافتراضية. يحاول النظام تلقائياً استخدام TokenLab Verified أولاً، وقد ينتقل مرة واحدة إلى Official فقط قبل المخرجات، أو قبول الطلب، أو إنشاء مورد دائم.

القيم المتاحة

  • "auto"
  • "verified"
  • "official"

جسم الطلب

application/json

الاستجابة

application/json

application/json