الانتقال إلى المحتوى الرئيسي

مقدمة

Suno هي خدمة صوتية ذكاء اصطناعي مقدمة من Ace Data Cloud، لتوليد الموسيقى باستخدام Suno AI. من خلال API موحد من Ace Data Cloud، يمكنك دمج Suno بسرعة باستخدام JavaScript لتحقيق وظائف مثل توليد الموسيقى من النصوص، تخصيص كلمات الأغاني، استكمال الأغاني، إعادة الغناء، فصل الصوت البشري، توليد كلمات الأغاني، وغيرها.

المتطلبات المسبقة

  • امتلاك حساب على Ace Data Cloud والحصول على API Token
  • بيئة Node.js 18+ أو متصفح حديث

الاستخدام الأساسي

النقطة النهائية الرئيسية لاستدعاء Suno API هي:
POST https://api.acedata.cloud/suno/audios
هذا المثال يستخدم نموذج chirp-v5. النماذج المتاحة تشمل: chirp-v5، v4-5-plus، v4-5، v4، v3-5. مثال كامل على كود JavaScript:
const response = await fetch("https://api.acedata.cloud/suno/audios", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "action": "generate",
  "prompt": "A cheerful pop song about summer vacation",
  "model": "chirp-v5",
  "custom": false
}),
});

const result = await response.json();
console.log(result);
يرجى استبدال YOUR_API_TOKEN بالتوكن الفعلي الذي حصلت عليه من منصة Ace Data Cloud.

معالجة الاستجابة

يوصى بالتحقق من رمز حالة الاستجابة ومعالجة الأخطاء:
if (response.ok) {
  const result = await response.json();
  console.log("تم الاستدعاء بنجاح:", result);
} else {
  console.error(`فشل الاستدعاء، رمز الحالة: ${response.status}`);
  const error = await response.text();
  console.error(error);
}

تغليف Node.js

يوصى بتغليفها كدالة قابلة لإعادة الاستخدام:
async function callSuno(data) {
  const response = await fetch("https://api.acedata.cloud/suno/audios", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${process.env.ACE_API_TOKEN}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data),
  });
  if (!response.ok) throw new Error(`خطأ في API: ${response.status}`);
  return response.json();
}

معالجة الأخطاء

أكواد الأخطاء الشائعة:
رمز الحالةالوصف
401فشل التوثيق، يرجى التحقق من API Token
403رصيد غير كافٍ أو عدم وجود صلاحية الوصول
429تجاوز معدل الطلبات المسموح به
500خطأ داخلي في الخادم

الخطوة التالية