550W · واجهة API للمطورين

واجهة API للمطورين

واجهة معالجة الصور والفيديو

ما يمكنك إنشاؤه

بدء التكامل سريعًا

1

شراء نقاط

تُحتسب مهام الفيديو حسب مدة المعالجة والدقة. تكلف الصورة 10 نقاط لكل مهمة ناجحة، ولا تُخصم نقاط عند فشل المعالجة.

الاستخدام والفوترة
2

إنشاء API Key

أدرج userNo وAPI Key في كل طلب. الرفع اختياري: استخدم /open/uploadVideo أو قدّم videoUrl عامًا مباشرةً.

إنشاء API Key
3

أمثلة التكامل

اختر المسار المناسب لمنتجك. يرتبط كلّ جزء مباشرةً بمرجع واجهة API.

أمثلة التكامل
Base URLhttps://www.550wai.cnPOST · multipart/form-data

البدء السريع

أدرج userNo وAPI Key في كل طلب. الرفع اختياري: استخدم /open/uploadVideo أو قدّم videoUrl عامًا مباشرةً.

curl -X POST https://www.550wai.cn/open/submitTask \\
  -H 'Content-Type: application/x-www-form-urlencoded' \\
  --data-urlencode 'userNo=YOUR_USER_NO' --data-urlencode 'apiKey=YOUR_API_KEY' \\
  --data-urlencode 'videoUrl=https://example.com/video.mp4' \\
  --data-urlencode 'width=1920' --data-urlencode 'height=1080' --data-urlencode 'duration=30' \\
  --data-urlencode 'x1=0' --data-urlencode 'y1=0' --data-urlencode 'x2=1920' --data-urlencode 'y2=200'

القواعد العامة

مطلوب

أدرج userNo وAPI Key في كل طلب. الرفع اختياري: استخدم /open/uploadVideo أو قدّم videoUrl عامًا مباشرةً.

الاستجابة

تتضمن الاستجابات code وmessage. تنتقل المهام من waiting إلى processing ثم إلى success أو failed. عند النجاح استخدم resultUrl، وعند الفشل افحص failCode. تنتهي صلاحية ملفات النتائج. للحسابات الدولية (clientType=overseas)، تُعاد قيمة message بالإنجليزية. استخدم code وstatus وfailCode وأسماء الحقول المستقلة عن اللغة في منطق البرنامج.

إزالة الترجمة والعلامة المائية من الفيديو

uploadVideo → submitTask → taskDetail

حالات المهمة

تتضمن الاستجابات code وmessage. تنتقل المهام من waiting إلى processing ثم إلى success أو failed. عند النجاح استخدم resultUrl، وعند الفشل افحص failCode. تنتهي صلاحية ملفات النتائج.

waiting→processing→successfailed

عالج الأخطاء باستخدام code وmessage وstatus وfailCode وrefundStatus.

المهام غير المتزامنة والموثوقية

التحقق من حالة المهمة وخطافات الويب

قم بتكوين HTTPS callbackUrl الذي يمكن الوصول إليه بشكل عام لتلقي حالة المهمة النهائية. وبدلاً من ذلك، قم بالاستعلام عن taskDetail باستخدام taskId وقم بزيادة الوقت تدريجيًا بين عمليات التحقق.

إعادة المحاولة دون إنشاء مهمة مكررة

حدّد Idempotency-Key فريدًا لكل مهمة جديدة. عند إعادة محاولة إرسال المهمة نفسها، استخدم القيمة نفسها للحصول على taskId الأصلي دون إنشاء مهمة مكررة أو خصم النقاط مرتين.

معالجة الصور غير المتزامنة

اضبط sync على false، واحفظ task.taskId، واتصل بـ imageWatermarkTaskDetail حتى تصبح الحالة success أو failed. عند النجاح، اقرأ task.resultUrl.

resultUrl · 24 h

أمثلة التكامل

اختر المسار المناسب لمنتجك. يرتبط كلّ جزء مباشرةً بمرجع واجهة API.

إزالة الترجمة والعلامة المائية من الفيديو

  1. videoUrl · uploadVideo · إزالة الترجمة والعلامة المائية من الفيديو · uploadVideo
  2. submitTask · إزالة الترجمة والعلامة المائية من الفيديو · submitTask
  3. taskId · taskDetail · callbackUrl
  4. عند success نزّل resultUrl، وعند failed راجع failCode وfailReason.

إزالة العلامة المائية من الصور

  1. removeImageWatermark · إزالة العلامة المائية من الصور · removeImageWatermark
  2. sync=true → resultUrl · sync=false → taskId
  3. imageWatermarkTaskDetail · تحقق من الحالة النهائية

المهام والحساب

  1. userNo · apiKey · مطلوب في كل طلب
  2. queryCredits · المهام والحساب · credits
  3. taskList · إزالة الترجمة والعلامة المائية من الفيديو · المهام والحساب. يتم استبعاد المهام المحذوفة من taskDetail وtaskList. تظل قيم حالة المهمة waiting أو processing أو success أو failed.

نقاط النهاية المتاحة

POST/open/uploadVideo

إزالة الترجمة والعلامة المائية من الفيديو · uploadVideo

POST/open/submitTask

إزالة الترجمة والعلامة المائية من الفيديو · submitTask

POST/open/taskDetail

إزالة الترجمة والعلامة المائية من الفيديو · حالات المهمة

POST/open/taskList

إزالة الترجمة والعلامة المائية من الفيديو · المهام والحساب. يتم استبعاد المهام المحذوفة من taskDetail وtaskList. تظل قيم حالة المهمة waiting أو processing أو success أو failed.

POST/open/deleteTask

حذف المهمة · يضع علامة الحذف على مهمة الفيديو ويعيد الاستجابة فورًا. ثم يُحذف المصدر المرفوع ونتيجة المعالجة وملفات إعادة المحاولة من VOD بشكل غير متزامن في الخلفية. لا تُسترد النقاط التي خُصمت. يتم استبعاد المهام المحذوفة من taskDetail وtaskList. تظل قيم حالة المهمة waiting أو processing أو success أو failed.

POST/open/removeImageWatermark

إزالة العلامة المائية من الصور · removeImageWatermark

POST/open/imageWatermarkTaskDetail

إزالة العلامة المائية من الصور · حالات المهمة

POST/open/queryCredits

المهام والحساب · credits

POST

/open/uploadVideo

إزالة الترجمة والعلامة المائية من الفيديو · uploadVideo

تنسيق الطلب: multipart/form-data

معلمات الطلب

الحقلالنوعمطلوبالوصف
userNostringنعم550W userNo
apiKeystringنعمAPI Key
filefileنعمMP4/MOV · ≤ 1080p · ≤ 30 min · حجم الملف ≤ 1 GiB

حقول الاستجابة

الحقلالنوعالوصف
codenumberرمز النتيجة؛ 200 يعني النجاح
messagestringرسالة الحالة
videoUrlstringعنوان URL للفيديو الذي تم تحميله
coverUrlstringعنوان URL لغلاف الفيديو
widthnumberعرض الفيديو بالبكسل
heightnumberارتفاع الفيديو بالبكسل
durationnumberمدة الفيديو بالثواني

أخطاء نقطة النهاية

codeالمعنىالوصف
-100فشل المصادقة أو الحصةالأسباب الشائعة: userNo · API Key · credits
-200معامل غير صالحالأسباب الشائعة: field · URL · size · duration · Idempotency-Key
-500خطأ داخليالأسباب الشائعة: server · retry
POST

/open/submitTask

إزالة الترجمة والعلامة المائية من الفيديو · submitTask

تنسيق الطلب: application/x-www-form-urlencoded

معلمات الطلب

الحقلالنوعمطلوبالوصف
userNostringنعم550W userNo
apiKeystringنعمAPI Key
videoUrlstringنعمHTTP(S) URL · ≤ 2048 حرفًا
widthnumberنعمعرض الفيديو · px
heightnumberنعمارتفاع الفيديو · px · max ≤ 1920 · min ≤ 1080
durationnumberنعم1–1800 s
x1numberنعمأعلى اليسار X · px
y1numberنعمأعلى اليسار Y · px
x2numberنعمأسفل اليمين X · px
y2numberنعمأسفل اليمين Y · px · x1 = y1 = x2 = y2 = 0: الإطار الكامل
modestringلاnormal (افتراضي) · protect
fileNamestringلاUTF-8
coverUrlstringلاHTTP(S) URL
callbackUrlstringلاHTTPS webhook · حالة المهمة النهائية
removeAudiobooleanلاtrue · false (افتراضي)
Idempotency-Key / idempotencyKeystringموصى به≤ 128 حرفًا · آمن لإعادة المحاولة

حقول الاستجابة

الحقلالنوعالوصف
codenumberرمز النتيجة؛ 200 يعني النجاح
messagestringرسالة الحالة
taskIdstringمعرف المهمة لاستعلامات الحالة
statusstringwaiting · processing · success · failed

أخطاء نقطة النهاية

codeالمعنىالوصف
-100فشل المصادقة أو الحصةالأسباب الشائعة: userNo · API Key · credits
-200معامل غير صالحالأسباب الشائعة: field · URL · size · duration · Idempotency-Key
-300تم رفض الطلبالأسباب الشائعة: taskId · ownership · state
-401تعليق مؤقت للحسابالأسباب الشائعة: المخالفة الفعلية الأولى: ساعة واحدة؛ الثانية: 24 ساعة. لا تُحتسب الاكتشافات أثناء التعليق ولا تمدده أو تصعّده.
-402حظر دائم للحسابالأسباب الشائعة: تؤدي المخالفة الفعلية الثالثة إلى حظر الحساب نهائيًا.
-600تنسيق فيديو غير مدعومالأسباب الشائعة: codec · bit depth · HDR · audio
POST

/open/taskDetail

إزالة الترجمة والعلامة المائية من الفيديو · حالات المهمة

تنسيق الطلب: form / query

معلمات الطلب

الحقلالنوعمطلوبالوصف
userNostringنعم550W userNo
apiKeystringنعمAPI Key
taskIdstringنعم1–64 حرفًا
subUserIdstringلا≤ 128 حرفًا · ملكية المستخدم

حقول الاستجابة

الحقلالنوعالوصف
taskIdstringمعرف المهمة لاستعلامات الحالة
statusstringwaiting · processing · success · failed
widthnumberعرض الفيديو بالبكسل
heightnumberارتفاع الفيديو بالبكسل
durationnumberمدة الفيديو بالثواني
x1numberx1
y1numbery1
x2numberx2
y2numbery2
modestringmode
costnumberالنقاط المخصومة لهذه المهمة
resultUrlstringعنوان URL للنتيجة؛ صالحة لمدة 24 ساعة بعد الإنشاء
failCodestringمعرف الفشل المستقر
failReasonstringسبب فشل المهمة
refundStatusnumberحالة إعادة النقاط

أخطاء نقطة النهاية

codeالمعنىالوصف
-100فشل المصادقة أو الحصةالأسباب الشائعة: userNo · API Key · credits
-300تم رفض الطلبالأسباب الشائعة: taskId · ownership · state
-500خطأ داخليالأسباب الشائعة: server · retry
POST

/open/taskList

إزالة الترجمة والعلامة المائية من الفيديو · المهام والحساب. يتم استبعاد المهام المحذوفة من taskDetail وtaskList. تظل قيم حالة المهمة waiting أو processing أو success أو failed.

تنسيق الطلب: form / query

معلمات الطلب

الحقلالنوعمطلوبالوصف
userNostringنعم550W userNo
apiKeystringنعمAPI Key
pagenumberلا≥ 0 · افتراضي 0
sizenumberلا1–100 · افتراضي 20
subUserIdstringلا≤ 128 حرفًا · ملكية المستخدم

حقول الاستجابة

الحقلالنوعالوصف
totalnumberعدد المهام التي لم يتم حذفها
pagenumberرقم الصفحة
sizenumberعدد المهام لكل صفحة
listarrayقائمة المهام لم يتم حذفها

أخطاء نقطة النهاية

codeالمعنىالوصف
-100فشل المصادقة أو الحصةالأسباب الشائعة: userNo · API Key · credits
-200معامل غير صالحالأسباب الشائعة: field · URL · size · duration · Idempotency-Key
-500خطأ داخليالأسباب الشائعة: server · retry
POST

/open/deleteTask

حذف المهمة · يضع علامة الحذف على مهمة الفيديو ويعيد الاستجابة فورًا. ثم يُحذف المصدر المرفوع ونتيجة المعالجة وملفات إعادة المحاولة من VOD بشكل غير متزامن في الخلفية. لا تُسترد النقاط التي خُصمت. يتم استبعاد المهام المحذوفة من taskDetail وtaskList. تظل قيم حالة المهمة waiting أو processing أو success أو failed.

تنسيق الطلب: form / query

معلمات الطلب

الحقلالنوعمطلوبالوصف
userNostringنعم550W userNo
apiKeystringنعمAPI Key
taskIdstringنعم1–64 حرفًا
subUserIdstringلا≤ 128 حرفًا · ملكية المستخدم

حقول الاستجابة

الحقلالنوعالوصف
codenumberرمز النتيجة؛ 200 يعني النجاح
messagestringرسالة الحالة

أخطاء نقطة النهاية

codeالمعنىالوصف
-100فشل المصادقة أو الحصةالأسباب الشائعة: userNo · API Key · credits
-200معامل غير صالحالأسباب الشائعة: field · URL · size · duration · Idempotency-Key
-300تم رفض الطلبالأسباب الشائعة: taskId · ownership · state
-500خطأ داخليالأسباب الشائعة: server · retry
POST

/open/removeImageWatermark

إزالة العلامة المائية من الصور · removeImageWatermark

تنسيق الطلب: multipart/form-data

معلمات الطلب

الحقلالنوعمطلوبالوصف
userNostringنعم550W userNo
apiKeystringنعمAPI Key
filefileنعمJPG · PNG · BMP · WebP · AVIF · TIFF · SVG · ≤ 50 MiB
syncbooleanلاtrue (افتراضي) · false
operationIdstringلامعرف التتبع

حقول الاستجابة

الحقلالنوعالوصف
codenumberرمز النتيجة؛ 200 يعني النجاح
messagestringرسالة الحالة
creditsAfternumberالنقاط المتبقية بعد المعالجة
taskobjectنتيجة المعالجة أو مهمة غير متزامنة

أخطاء نقطة النهاية

codeالمعنىالوصف
-100فشل المصادقة أو الحصةالأسباب الشائعة: userNo · API Key · credits
-200معامل غير صالحالأسباب الشائعة: field · URL · size · duration · Idempotency-Key
-300تم رفض الطلبالأسباب الشائعة: taskId · ownership · state
-500خطأ داخليالأسباب الشائعة: server · retry
POST

/open/imageWatermarkTaskDetail

إزالة العلامة المائية من الصور · حالات المهمة

تنسيق الطلب: form / query

معلمات الطلب

الحقلالنوعمطلوبالوصف
userNostringنعم550W userNo
apiKeystringنعمAPI Key
taskIdstringنعم1–64 حرفًا

حقول الاستجابة

الحقلالنوعالوصف
statusstringwaiting · processing · success · failed
resultUrlstringعنوان URL للنتيجة؛ صالحة لمدة 24 ساعة بعد الإنشاء
failCodestringمعرف الفشل المستقر
failReasonstringسبب فشل المهمة
costnumberالنقاط المخصومة لهذه المهمة
expiredTimestringوقت انتهاء صلاحية عنوان URL للنتيجة

أخطاء نقطة النهاية

codeالمعنىالوصف
-100فشل المصادقة أو الحصةالأسباب الشائعة: userNo · API Key · credits
-300تم رفض الطلبالأسباب الشائعة: taskId · ownership · state
-500خطأ داخليالأسباب الشائعة: server · retry
POST

/open/queryCredits

المهام والحساب · credits

تنسيق الطلب: form / query

معلمات الطلب

الحقلالنوعمطلوبالوصف
userNostringنعم550W userNo
apiKeystringنعمAPI Key

حقول الاستجابة

الحقلالنوعالوصف
codenumberرمز النتيجة؛ 200 يعني النجاح
messagestringرسالة الحالة
userNostringمعرف المستخدم
creditsnumberالنقاط المتاحة

أخطاء نقطة النهاية

codeالمعنىالوصف
-100فشل المصادقة أو الحصةالأسباب الشائعة: userNo · API Key · credits
-500خطأ داخليالأسباب الشائعة: server · retry

حقول الطلب المشتركة

الحقلمطلوبالوصف
userNoنعم550W userNo
apiKeyنعمAPI Key
Idempotency-Keyموصى به≤ 128 · retry-safe
callbackUrlلاHTTPS webhook · final status

حقول مهمة الفيديو

الحقلالنوعالوصف
videoUrlstringHTTP(S) URL · ≤ 2048 حرفًا
widthnumberعرض الفيديو · px
heightnumberارتفاع الفيديو · px · max ≤ 1920 · min ≤ 1080
durationnumber1–1800 s
x1numberأعلى اليسار X · px
y1numberأعلى اليسار Y · px
x2numberأسفل اليمين X · px
y2numberأسفل اليمين Y · px · x1 = y1 = x2 = y2 = 0: الإطار الكامل
modestringnormal (افتراضي) · protect
removeAudiobooleantrue · false (افتراضي)

الاستجابة وحالة المهمة

تتضمن الاستجابات code وmessage. تنتقل المهام من waiting إلى processing ثم إلى success أو failed. عند النجاح استخدم resultUrl، وعند الفشل افحص failCode. تنتهي صلاحية ملفات النتائج.

{ "code": 200, "message": "success", "taskId": "...", "status": "waiting" }

رموز الأخطاء

Codeالمعنىالأسباب الشائعة
200نجاحmessage: "success"
-100فشل المصادقة أو الحصةuserNo · API Key · credits
-200معامل غير صالحfield · URL · size · duration · Idempotency-Key
-300تم رفض الطلبtaskId · ownership · state
-401تعليق مؤقت للحسابالمخالفة الفعلية الأولى: ساعة واحدة؛ الثانية: 24 ساعة. لا تُحتسب الاكتشافات أثناء التعليق ولا تمدده أو تصعّده.
-402حظر دائم للحسابتؤدي المخالفة الفعلية الثالثة إلى حظر الحساب نهائيًا.
-500خطأ داخليserver · retry
-600تنسيق فيديو غير مدعومcodec · bit depth · HDR · audio

معرفات فشل المهمة (failCode)

failCode هو معرف سلسلة، وليس code الرقمي. يظهر فقط عند فشل المهمة. استخدم failCode لتحديد السبب؛ لا تقم بتحليل رسالة failReason المترجمة.

failCodeالمعنى
VIDEO_UNREACHABLEعنوان URL للفيديو غير متاح للعامة
VIDEO_METADATA_UNAVAILABLEتعذّر الحصول على بيانات وصفية موثوقة للفيديو.
VIDEO_RESOLUTION_UNSUPPORTEDتتجاوز دقة الفيديو المقاسة النطاق المدعوم
VIDEO_DURATION_UNSUPPORTEDتتجاوز مدة الفيديو المقاسة 30 دقيقة
VIDEO_CODEC_UNSUPPORTEDبرنامج ترميز الفيديو غير مدعوم
VIDEO_BIT_DEPTH_UNSUPPORTEDعمق بت الفيديو غير مدعوم
VIDEO_HDR_UNSUPPORTEDلا يتم دعم HDR أو PQ أو HLG
VIDEO_AUDIO_UNSUPPORTEDبرنامج ترميز الصوت غير مدعوم
VIDEO_CONTAINER_UNSUPPORTEDتنسيق حاوية الفيديو غير مدعوم
VIDEO_PREPARE_FAILEDفشل إعداد الفيديو أو التحقق من صحته أو إزالة الصوت

نسخ المثال واستدعاؤه

/open/submitTask

// JavaScript
const form = new URLSearchParams({
  userNo: USER_NO, apiKey: API_KEY, videoUrl: VIDEO_URL,
  width: '1920', height: '1080', duration: '30',
  x1: '0', y1: '0', x2: '1920', y2: '200'
});
const response = await fetch('https://www.550wai.cn/open/submitTask', {
  method: 'POST',
  body: form,
});

# Python
import requests
r = requests.post('https://www.550wai.cn/open/submitTask', data={
  'userNo': USER_NO, 'apiKey': API_KEY, 'videoUrl': VIDEO_URL,
  'width': 1920, 'height': 1080, 'duration': 30,
  'x1': 0, 'y1': 0, 'x2': 1920, 'y2': 200
})

/open/removeImageWatermark

// JavaScript
const imageFile = document.querySelector('#image-file').files[0];
const imageForm = new FormData();
imageForm.append('userNo', USER_NO);
imageForm.append('apiKey', API_KEY);
imageForm.append('file', imageFile);
imageForm.append('sync', 'true');
const imageResponse = await fetch(
  'https://www.550wai.cn/open/removeImageWatermark',
  { method: 'POST', body: imageForm }
);

# Python
import requests
IMAGE_FILE_PATH = '/path/to/image-file'
with open(IMAGE_FILE_PATH, 'rb') as image:
  r = requests.post(
    'https://www.550wai.cn/open/removeImageWatermark',
    data={'userNo': USER_NO, 'apiKey': API_KEY, 'sync': 'true'},
    files={'file': image}
  )

الاستخدام والفوترة

تُحتسب مهام الفيديو حسب مدة المعالجة والدقة. تكلف الصورة 10 نقاط لكل مهمة ناجحة، ولا تُخصم نقاط عند فشل المعالجة.

دقة الفيديوالسعرمثال
width × height ≤ 921,600 · 720p أو أقل1.3 نقطة / s1280×720 · 30 s ≈ 39 نقطة
width × height > 921,600 · حتى 1080p1.6 نقطة / s1920×1080 · 30 s ≈ 48 نقطة

تعيد استعلامات المهام بيانات المستخدم المصادق عليه فقط.

عالج الأخطاء باستخدام code وmessage وstatus وfailCode وrefundStatus.

شراء النقاط

تُحتسب مهام الفيديو حسب مدة المعالجة والدقة. تكلف الصورة 10 نقاط لكل مهمة ناجحة، ولا تُخصم نقاط عند فشل المعالجة.

الأسعار →