المطورون / تنقية الصوت

تنقية الصوت بشكل متزامن (يعيد رابط الملف المنقّى في طلب واحد، حتى 10 دقائق و150 ميجابايت)

POST https://api.echonova.ai/v1/sound-cleaning

تنقّي ملفًا مرفوعًا بصيغة MP3 أو WAV أو FLAC أو OGG/Opus، حتى 10 دقائق و150 ميجابايت، في طلب واحد، وتعيد المهمة مع رابط الملف المنقّى. حقول الضبط كلها اختيارية، والحقل المحذوف يأخذ قيمته الافتراضية.

Headers

Authorization string مطلوب

كلمة ⁦Bearer⁩ ثم مسافة ثم مفتاح ⁦API⁩ الذي يبدأ بـ ⁦ek_⁩. أنشئ المفاتيح في البوابة من المطورون، ثم مفاتيح واجهة برمجة التطبيقات.

متن الطلب

multipart/form-data

file file مطلوب

الملف الصوتي (mp3، wav، flac، ogg/opus). حتى 10 دقائق و150 ميجابايت.

cutoffFreq number اختياري

تردد قطع المرشح High-pass بوحدة Hz

من 20 إلى 300الافتراضي 90
qFactor number اختياري

نعومة المرشح High-pass

من 0.1 إلى 5الافتراضي 0.707
targetLufs number اختياري

مستوى الصوت المستهدف بوحدة LUFS

من -30 إلى -6الافتراضي -16
truePeakDbfs number اختياري

سقف الذروة بوحدة dBFS

من -6 إلى 0الافتراضي -1
compThreshDb number اختياري

عتبة الضاغط بوحدة dBFS

من -30 إلى 0الافتراضي -3.8
compRatio number اختياري

نسبة الضاغط

من 1 إلى 20الافتراضي 4
compAttackMs number اختياري

زمن هجوم الضاغط بوحدة ms

من 0.1 إلى 100الافتراضي 5
compReleaseMs number اختياري

زمن إفلات الضاغط بوحدة ms

من 1 إلى 1000الافتراضي 50

الاستجابة

200 application/json كل استجابة تستخدم هذا الغلاف.

data object

النتيجة.

success boolean

قيمته ⁦true⁩ عند نجاح الطلب.

statusCode integer

يكرر رمز حالة ⁦HTTP⁩.

errorMessage string or null

قيمته ⁦null⁩ عند النجاح.

الأخطاء

الغلاف نفسه، مع ⁦success⁩ بقيمة ⁦false⁩ و ⁦data⁩ بقيمة ⁦null⁩. كل الأخطاء

POST /v1/sound-cleaning

curl -X POST "https://api.echonova.ai/v1/sound-cleaning" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@audio.mp3;type=audio/mpeg"

{
  "data": {
    "id": "66e3f2a1c9d4b8a1f0e12345",
    "status": "completed",
    "fileName": "noisy.wav",
    "outputUrl": "https://storage.example.com/cleaned/66e3f2a1c9d4b8a1f0e12345.wav?signature=abc",
    "durationSeconds": 12,
    "creditsConsumed": 207,
    "options": {
      "cutoffFreq": 90,
      "qFactor": 0.707,
      "targetLufs": -16,
      "truePeakDbfs": -1,
      "compThreshDb": -3.8,
      "compRatio": 4,
      "compAttackMs": 5,
      "compReleaseMs": 50
    },
    "metrics": {
      "sampleRate": 48000,
      "integratedLufs": -16.1,
      "truePeakDbfs": -1
    },
    "error": "The audio could not be cleaned.",
    "createdAt": "2026-10-11T10:21:04.512Z"
  },
  "success": true,
  "statusCode": 200,
  "errorMessage": null
}