550W · API Pembangun

API Pembangun

API pemprosesan imej dan video

Apa yang boleh dibina

Integrasi pantas

1

Tambah kredit

Tugas video dicaj berdasarkan tempoh pemprosesan dan resolusi. Imej dikenakan 10 kredit bagi setiap tugas berjaya; pemprosesan gagal tidak dicaj.

Penggunaan dan pengebilan
2

Jana API Key

Sertakan userNo dan API Key dalam setiap permintaan. Muat naik adalah pilihan: gunakan /open/uploadVideo atau berikan videoUrl awam secara terus.

Jana API Key
3

Contoh integrasi

Pilih aliran yang sesuai dengan produk anda. Setiap langkah dipautkan terus ke rujukan API.

Contoh integrasi
Base URLhttps://www.550wai.cnPOST · multipart/form-data

Mula pantas

Sertakan userNo dan API Key dalam setiap permintaan. Muat naik adalah pilihan: gunakan /open/uploadVideo atau berikan videoUrl awam secara terus.

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'

Konvensyen

Wajib

Sertakan userNo dan API Key dalam setiap permintaan. Muat naik adalah pilihan: gunakan /open/uploadVideo atau berikan videoUrl awam secara terus.

Respons

Respons mengandungi code dan message. Tugas bergerak daripada waiting kepada processing, kemudian success atau failed. Apabila berjaya gunakan resultUrl; apabila gagal semak failCode. Fail hasil mempunyai tempoh luput. Untuk akaun antarabangsa (clientType=overseas), message dikembalikan dalam bahasa Inggeris. Gunakan code, status, failCode dan nama medan yang bebas bahasa untuk logik.

Buang sari kata dan tera air video

uploadVideo → submitTask → taskDetail

Status tugas

Respons mengandungi code dan message. Tugas bergerak daripada waiting kepada processing, kemudian success atau failed. Apabila berjaya gunakan resultUrl; apabila gagal semak failCode. Fail hasil mempunyai tempoh luput.

waiting→processing→successfailed

Kendalikan ralat dengan code, message, status, failCode dan refundStatus.

Tugas tak segerak dan kebolehpercayaan

Semakan status tugas dan Webhooks

Konfigurasikan HTTPS callbackUrl yang boleh dicapai secara terbuka untuk menerima status tugas akhir. Sebagai alternatif, tanya taskDetail dengan taskId dan tambah masa antara semakan secara beransur-ansur.

Cuba semula tanpa mencipta tugas pendua

Hantar Idempotency-Key unik untuk setiap tugasan baharu. Apabila mencuba semula penghantaran yang sama, gunakan kunci yang sama untuk mendapatkan taskId asal tanpa mencipta tugasan pendua atau menolak kredit dua kali.

Pemprosesan imej tak segerak

Tetapkan sync kepada false, simpan task.taskId dan panggil imageWatermarkTaskDetail sehingga statusnya ialah success atau failed. Apabila berjaya, baca task.resultUrl.

resultUrl · 24 h

Contoh integrasi

Pilih aliran yang sesuai dengan produk anda. Setiap langkah dipautkan terus ke rujukan API.

Buang sari kata dan tera air video

  1. videoUrl · uploadVideo · Buang sari kata dan tera air video · uploadVideo
  2. submitTask · Buang sari kata dan tera air video · submitTask
  3. taskId · taskDetail · callbackUrl
  4. Apabila success, muat turun resultUrl; apabila failed, semak failCode dan failReason.

Tugas dan akaun

  1. userNo · apiKey · Diperlukan untuk setiap permintaan
  2. queryCredits · Tugas dan akaun · credits
  3. taskList · Buang sari kata dan tera air video · Tugas dan akaun. Tugasan yang dipadamkan dikecualikan daripada taskDetail dan taskList. Nilai status tugas kekal waiting, processing, success atau failed.

Endpoint tersedia

POST/open/uploadVideo

Buang sari kata dan tera air video · uploadVideo

POST/open/submitTask

Buang sari kata dan tera air video · submitTask

POST/open/taskDetail

Buang sari kata dan tera air video · Status tugas

POST/open/taskList

Buang sari kata dan tera air video · Tugas dan akaun. Tugasan yang dipadamkan dikecualikan daripada taskDetail dan taskList. Nilai status tugas kekal waiting, processing, success atau failed.

POST/open/deleteTask

Padam tugas · Menandakan tugas video sebagai dipadam dan terus mengembalikan respons. Sumber yang dimuat naik, hasil pemprosesan dan fail percubaan semula kemudian dipadam daripada VOD secara tak segerak di latar belakang. Kredit yang telah ditolak tidak dipulangkan. Tugasan yang dipadamkan dikecualikan daripada taskDetail dan taskList. Nilai status tugas kekal waiting, processing, success atau failed.

POST/open/removeImageWatermark

Buang tera air imej · removeImageWatermark

POST/open/imageWatermarkTaskDetail

Buang tera air imej · Status tugas

POST/open/queryCredits

Tugas dan akaun · credits

POST

/open/uploadVideo

Buang sari kata dan tera air video · uploadVideo

Format permintaan: multipart/form-data

Parameter permintaan

MedanJenisWajibPenerangan
userNostringYa550W userNo
apiKeystringYaAPI Key
filefileYaMP4/MOV · ≤ 1080p · ≤ 30 min · Saiz Fail ≤ 1 GiB

Medan respons

MedanJenisPenerangan
codenumberKod keputusan; 200 bermakna kejayaan
messagestringMesej status
videoUrlstringURL video yang dimuat naik
coverUrlstringURL muka depan video
widthnumberLebar video dalam piksel
heightnumberKetinggian video dalam piksel
durationnumberTempoh video dalam saat

Ralat endpoint

codeMaksudPenerangan
-100Kegagalan pengesahan atau kuotaPunca lazim: userNo · API Key · credits
-200Parameter tidak sahPunca lazim: field · URL · size · duration · Idempotency-Key
-500Ralat dalamanPunca lazim: server · retry
POST

/open/submitTask

Buang sari kata dan tera air video · submitTask

Format permintaan: application/x-www-form-urlencoded

Parameter permintaan

MedanJenisWajibPenerangan
userNostringYa550W userNo
apiKeystringYaAPI Key
videoUrlstringYaHTTP(S) URL · ≤ 2048 aksara
widthnumberYalebar video · px
heightnumberYaketinggian video · px · max ≤ 1920 · min ≤ 1080
durationnumberYa1–1800 s
x1numberYakiri atas X · px
y1numberYakiri atas Y · px
x2numberYabawah kanan X · px
y2numberYabawah kanan Y · px · x1 = y1 = x2 = y2 = 0: bingkai penuh
modestringTidaknormal (lalai) · protect
fileNamestringTidakUTF-8
coverUrlstringTidakHTTP(S) URL
callbackUrlstringTidakHTTPS webhook · status tugas akhir
removeAudiobooleanTidaktrue · false (lalai)
Idempotency-Key / idempotencyKeystringDisyorkan≤ 128 aksara · selamat untuk mencuba semula

Medan respons

MedanJenisPenerangan
codenumberKod keputusan; 200 bermakna kejayaan
messagestringMesej status
taskIdstringPengecam tugas untuk pertanyaan status
statusstringwaiting · processing · success · failed

Ralat endpoint

codeMaksudPenerangan
-100Kegagalan pengesahan atau kuotaPunca lazim: userNo · API Key · credits
-200Parameter tidak sahPunca lazim: field · URL · size · duration · Idempotency-Key
-300Permintaan ditolakPunca lazim: taskId · ownership · state
-401Penggantungan akaun sementaraPunca lazim: Pelanggaran berkesan pertama: 1 jam; kedua: 24 jam. Pengesanan semasa penggantungan tidak dikira, dilanjutkan atau dinaik taraf.
-402Sekatan akaun kekalPunca lazim: Pelanggaran berkesan ketiga menyekat akaun secara kekal.
-600Format video tidak disokongPunca lazim: codec · bit depth · HDR · audio
POST

/open/taskDetail

Buang sari kata dan tera air video · Status tugas

Format permintaan: form / query

Parameter permintaan

MedanJenisWajibPenerangan
userNostringYa550W userNo
apiKeystringYaAPI Key
taskIdstringYa1–64 aksara
subUserIdstringTidak≤ 128 aksara · pemilikan pengguna

Medan respons

MedanJenisPenerangan
taskIdstringPengecam tugas untuk pertanyaan status
statusstringwaiting · processing · success · failed
widthnumberLebar video dalam piksel
heightnumberKetinggian video dalam piksel
durationnumberTempoh video dalam saat
x1numberx1
y1numbery1
x2numberx2
y2numbery2
modestringmode
costnumberKredit dikenakan untuk tugasan ini
resultUrlstringURL keputusan; sah selama 24 jam selepas penjanaan
failCodestringPengecam kegagalan stabil
failReasonstringSebab kegagalan tugas
refundStatusnumberStatus bayaran balik kredit

Ralat endpoint

codeMaksudPenerangan
-100Kegagalan pengesahan atau kuotaPunca lazim: userNo · API Key · credits
-300Permintaan ditolakPunca lazim: taskId · ownership · state
-500Ralat dalamanPunca lazim: server · retry
POST

/open/taskList

Buang sari kata dan tera air video · Tugas dan akaun. Tugasan yang dipadamkan dikecualikan daripada taskDetail dan taskList. Nilai status tugas kekal waiting, processing, success atau failed.

Format permintaan: form / query

Parameter permintaan

MedanJenisWajibPenerangan
userNostringYa550W userNo
apiKeystringYaAPI Key
pagenumberTidak≥ 0 · lalai 0
sizenumberTidak1–100 · lalai 20
subUserIdstringTidak≤ 128 aksara · pemilikan pengguna

Medan respons

MedanJenisPenerangan
totalnumberBilangan tugasan tidak dipadamkan
pagenumberNombor halaman
sizenumberBilangan tugas setiap halaman
listarraySenarai tugas yang tidak dipadamkan

Ralat endpoint

codeMaksudPenerangan
-100Kegagalan pengesahan atau kuotaPunca lazim: userNo · API Key · credits
-200Parameter tidak sahPunca lazim: field · URL · size · duration · Idempotency-Key
-500Ralat dalamanPunca lazim: server · retry
POST

/open/deleteTask

Padam tugas · Menandakan tugas video sebagai dipadam dan terus mengembalikan respons. Sumber yang dimuat naik, hasil pemprosesan dan fail percubaan semula kemudian dipadam daripada VOD secara tak segerak di latar belakang. Kredit yang telah ditolak tidak dipulangkan. Tugasan yang dipadamkan dikecualikan daripada taskDetail dan taskList. Nilai status tugas kekal waiting, processing, success atau failed.

Format permintaan: form / query

Parameter permintaan

MedanJenisWajibPenerangan
userNostringYa550W userNo
apiKeystringYaAPI Key
taskIdstringYa1–64 aksara
subUserIdstringTidak≤ 128 aksara · pemilikan pengguna

Medan respons

MedanJenisPenerangan
codenumberKod keputusan; 200 bermakna kejayaan
messagestringMesej status

Ralat endpoint

codeMaksudPenerangan
-100Kegagalan pengesahan atau kuotaPunca lazim: userNo · API Key · credits
-200Parameter tidak sahPunca lazim: field · URL · size · duration · Idempotency-Key
-300Permintaan ditolakPunca lazim: taskId · ownership · state
-500Ralat dalamanPunca lazim: server · retry
POST

/open/removeImageWatermark

Buang tera air imej · removeImageWatermark

Format permintaan: multipart/form-data

Parameter permintaan

MedanJenisWajibPenerangan
userNostringYa550W userNo
apiKeystringYaAPI Key
filefileYaJPG · PNG · BMP · WebP · AVIF · TIFF · SVG · ≤ 50 MiB
syncbooleanTidaktrue (lalai) · false
operationIdstringTidakpengecam penjejakan

Medan respons

MedanJenisPenerangan
codenumberKod keputusan; 200 bermakna kejayaan
messagestringMesej status
creditsAfternumberBaki kredit selepas pemprosesan
taskobjectHasil pemprosesan atau tugasan tak segerak

Ralat endpoint

codeMaksudPenerangan
-100Kegagalan pengesahan atau kuotaPunca lazim: userNo · API Key · credits
-200Parameter tidak sahPunca lazim: field · URL · size · duration · Idempotency-Key
-300Permintaan ditolakPunca lazim: taskId · ownership · state
-500Ralat dalamanPunca lazim: server · retry
POST

/open/imageWatermarkTaskDetail

Buang tera air imej · Status tugas

Format permintaan: form / query

Parameter permintaan

MedanJenisWajibPenerangan
userNostringYa550W userNo
apiKeystringYaAPI Key
taskIdstringYa1–64 aksara

Medan respons

MedanJenisPenerangan
statusstringwaiting · processing · success · failed
resultUrlstringURL keputusan; sah selama 24 jam selepas penjanaan
failCodestringPengecam kegagalan stabil
failReasonstringSebab kegagalan tugas
costnumberKredit dikenakan untuk tugasan ini
expiredTimestringMasa tamat tempoh URL keputusan

Ralat endpoint

codeMaksudPenerangan
-100Kegagalan pengesahan atau kuotaPunca lazim: userNo · API Key · credits
-300Permintaan ditolakPunca lazim: taskId · ownership · state
-500Ralat dalamanPunca lazim: server · retry
POST

/open/queryCredits

Tugas dan akaun · credits

Format permintaan: form / query

Parameter permintaan

MedanJenisWajibPenerangan
userNostringYa550W userNo
apiKeystringYaAPI Key

Medan respons

MedanJenisPenerangan
codenumberKod keputusan; 200 bermakna kejayaan
messagestringMesej status
userNostringPengecam pengguna
creditsnumberKredit yang ada

Ralat endpoint

codeMaksudPenerangan
-100Kegagalan pengesahan atau kuotaPunca lazim: userNo · API Key · credits
-500Ralat dalamanPunca lazim: server · retry

Medan permintaan umum

MedanWajibPenerangan
userNoYa550W userNo
apiKeyYaAPI Key
Idempotency-KeyDisyorkan≤ 128 · retry-safe
callbackUrlTidakHTTPS webhook · final status

Medan tugas video

MedanJenisPenerangan
videoUrlstringHTTP(S) URL · ≤ 2048 aksara
widthnumberlebar video · px
heightnumberketinggian video · px · max ≤ 1920 · min ≤ 1080
durationnumber1–1800 s
x1numberkiri atas X · px
y1numberkiri atas Y · px
x2numberbawah kanan X · px
y2numberbawah kanan Y · px · x1 = y1 = x2 = y2 = 0: bingkai penuh
modestringnormal (lalai) · protect
removeAudiobooleantrue · false (lalai)

Respons dan status tugas

Respons mengandungi code dan message. Tugas bergerak daripada waiting kepada processing, kemudian success atau failed. Apabila berjaya gunakan resultUrl; apabila gagal semak failCode. Fail hasil mempunyai tempoh luput.

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

Kod ralat

CodeMaksudPunca lazim
200Berjayamessage: "success"
-100Kegagalan pengesahan atau kuotauserNo · API Key · credits
-200Parameter tidak sahfield · URL · size · duration · Idempotency-Key
-300Permintaan ditolaktaskId · ownership · state
-401Penggantungan akaun sementaraPelanggaran berkesan pertama: 1 jam; kedua: 24 jam. Pengesanan semasa penggantungan tidak dikira, dilanjutkan atau dinaik taraf.
-402Sekatan akaun kekalPelanggaran berkesan ketiga menyekat akaun secara kekal.
-500Ralat dalamanserver · retry
-600Format video tidak disokongcodec · bit depth · HDR · audio

Pengecam kegagalan tugas (failCode)

failCode ialah pengecam rentetan, bukan code angka. Ia muncul hanya apabila tugasan gagal. Gunakan failCode untuk menentukan punca; jangan menghuraikan mesej failReason yang diterjemahkan.

failCodeMaksud
VIDEO_UNREACHABLEURL video tidak boleh diakses secara umum
VIDEO_METADATA_UNAVAILABLEMetadata video yang boleh dipercayai tidak dapat diperoleh.
VIDEO_RESOLUTION_UNSUPPORTEDResolusi video yang diukur melebihi julat yang disokong
VIDEO_DURATION_UNSUPPORTEDTempoh video yang diukur melebihi 30 minit
VIDEO_CODEC_UNSUPPORTEDCodec video tidak disokong
VIDEO_BIT_DEPTH_UNSUPPORTEDKedalaman bit video tidak disokong
VIDEO_HDR_UNSUPPORTEDHDR, PQ atau HLG tidak disokong
VIDEO_AUDIO_UNSUPPORTEDCodec audio tidak disokong
VIDEO_CONTAINER_UNSUPPORTEDFormat bekas video tidak disokong
VIDEO_PREPARE_FAILEDPenyediaan video, pengesahan atau pengalihan keluar audio gagal

Salin contoh dan panggil

/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}
  )

Penggunaan dan pengebilan

Tugas video dicaj berdasarkan tempoh pemprosesan dan resolusi. Imej dikenakan 10 kredit bagi setiap tugas berjaya; pemprosesan gagal tidak dicaj.

Resolusi videoKadarContoh
width × height ≤ 921,600 · 720p atau lebih rendah1.3 Kredit / s1280×720 · 30 s ≈ 39 Kredit
width × height > 921,600 · Sehingga 1080p1.6 Kredit / s1920×1080 · 30 s ≈ 48 Kredit

Pertanyaan tugas hanya mengembalikan data pengguna yang disahkan.

Kendalikan ralat dengan code, message, status, failCode dan refundStatus.

Beli Kredit

Tugas video dicaj berdasarkan tempoh pemprosesan dan resolusi. Imej dikenakan 10 kredit bagi setiap tugas berjaya; pemprosesan gagal tidak dicaj.

Harga →