550W · API Pengembang

API Pengembang

API pemrosesan gambar dan video

Yang dapat Anda buat

Integrasi cepat

1

Tambah kredit

Tugas video ditagih berdasarkan durasi pemrosesan dan resolusi. Gambar dikenai 10 kredit per tugas berhasil; pemrosesan gagal tidak dikenai biaya.

Penggunaan dan penagihan
2

Buat API Key

Sertakan userNo dan API Key pada setiap permintaan. Unggahan bersifat opsional: gunakan /open/uploadVideo atau berikan videoUrl publik secara langsung.

Buat API Key
3

Contoh integrasi

Pilih alur yang sesuai dengan produk Anda. Setiap langkah terhubung langsung ke referensi API.

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

Mulai cepat

Sertakan userNo dan API Key pada setiap permintaan. Unggahan bersifat opsional: gunakan /open/uploadVideo atau berikan videoUrl publik secara langsung.

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'

Konvensi

Wajib

Sertakan userNo dan API Key pada setiap permintaan. Unggahan bersifat opsional: gunakan /open/uploadVideo atau berikan videoUrl publik secara langsung.

Respons

Respons berisi code dan message. Tugas bergerak dari waiting ke processing, lalu success atau failed. Saat berhasil gunakan resultUrl; saat gagal periksa failCode. File hasil memiliki masa berlaku. Untuk akun internasional (clientType=overseas), message dikembalikan dalam bahasa Inggris. Gunakan code, status, failCode, dan nama bidang yang tidak bergantung bahasa untuk logika.

Menghapus subtitle dan watermark video

uploadVideo → submitTask → taskDetail

Status tugas

Respons berisi code dan message. Tugas bergerak dari waiting ke processing, lalu success atau failed. Saat berhasil gunakan resultUrl; saat gagal periksa failCode. File hasil memiliki masa berlaku.

waiting→processing→successfailed

Tangani kesalahan dengan code, message, status, failCode, dan refundStatus.

Tugas asinkron dan keandalan

Pemeriksaan status tugas dan Webhook

Konfigurasikan HTTPS callbackUrl yang dapat dijangkau publik untuk menerima status tugas akhir. Alternatifnya, kueri taskDetail dengan taskId dan secara bertahap tingkatkan waktu antar pemeriksaan.

Coba lagi tanpa membuat tugas ganda

Kirim Idempotency-Key unik untuk setiap tugas baru. Saat mencoba kembali pengiriman yang sama, gunakan kunci yang sama untuk mendapatkan taskId asli tanpa membuat tugas ganda atau memotong kredit dua kali.

Pemrosesan gambar asinkron

Atur sync ke false, simpan task.taskId, dan panggil imageWatermarkTaskDetail hingga statusnya menjadi success atau failed. Jika berhasil, baca task.resultUrl.

resultUrl · 24 h

Contoh integrasi

Pilih alur yang sesuai dengan produk Anda. Setiap langkah terhubung langsung ke referensi API.

Menghapus subtitle dan watermark video

  1. videoUrl · uploadVideo · Menghapus subtitle dan watermark video · uploadVideo
  2. submitTask · Menghapus subtitle dan watermark video · submitTask
  3. taskId · taskDetail · callbackUrl
  4. Saat success, unduh resultUrl; saat failed, baca failCode dan failReason.

Tugas dan akun

  1. userNo · apiKey · Wajib di setiap permintaan
  2. queryCredits · Tugas dan akun · credits
  3. taskList · Menghapus subtitle dan watermark video · Tugas dan akun. Tugas yang dihapus dikecualikan dari taskDetail dan taskList. Nilai status tugas tetap waiting, processing, success, atau failed.

Endpoint yang tersedia

POST/open/uploadVideo

Menghapus subtitle dan watermark video · uploadVideo

POST/open/submitTask

Menghapus subtitle dan watermark video · submitTask

POST/open/taskDetail

Menghapus subtitle dan watermark video · Status tugas

POST/open/taskList

Menghapus subtitle dan watermark video · Tugas dan akun. Tugas yang dihapus dikecualikan dari taskDetail dan taskList. Nilai status tugas tetap waiting, processing, success, atau failed.

POST/open/deleteTask

Hapus tugas · Menandai tugas video sebagai dihapus dan langsung mengembalikan respons. Sumber yang diunggah, hasil pemrosesan, dan file percobaan ulang kemudian dihapus dari VOD secara asinkron di latar belakang. Kredit yang telah dipotong tidak dikembalikan. Tugas yang dihapus dikecualikan dari taskDetail dan taskList. Nilai status tugas tetap waiting, processing, success, atau failed.

POST/open/removeImageWatermark

Menghapus watermark gambar · removeImageWatermark

POST/open/imageWatermarkTaskDetail

Menghapus watermark gambar · Status tugas

POST/open/queryCredits

Tugas dan akun · credits

POST

/open/uploadVideo

Menghapus subtitle dan watermark video · uploadVideo

Format permintaan: multipart/form-data

Parameter permintaan

KolomTipeWajibDeskripsi
userNostringYa550W userNo
apiKeystringYaAPI Key
filefileYaMP4/MOV · ≤ 1080p · ≤ 30 min · Ukuran File ≤ 1 GiB

Kolom respons

KolomTipeDeskripsi
codenumberKode hasil; 200 berarti sukses
messagestringPesan status
videoUrlstringURL video yang diunggah
coverUrlstringURL sampul video
widthnumberLebar video dalam piksel
heightnumberTinggi video dalam piksel
durationnumberDurasi video dalam hitungan detik

Kesalahan endpoint

codeArtiDeskripsi
-100Kegagalan autentikasi atau kuotaPenyebab umum: userNo · API Key · credits
-200Parameter tidak validPenyebab umum: field · URL · size · duration · Idempotency-Key
-500Kesalahan internalPenyebab umum: server · retry
POST

/open/submitTask

Menghapus subtitle dan watermark video · submitTask

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

Parameter permintaan

KolomTipeWajibDeskripsi
userNostringYa550W userNo
apiKeystringYaAPI Key
videoUrlstringYaHTTP(S) URL · ≤ 2048 karakter
widthnumberYalebar video · px
heightnumberYatinggi video · px · max ≤ 1920 · min ≤ 1080
durationnumberYa1–1800 s
x1numberYakiri atas X · px
y1numberYakiri atas Y · px
x2numberYakanan bawah X · px
y2numberYakanan bawah Y · px · x1 = y1 = x2 = y2 = 0: bingkai penuh
modestringTidaknormal (bawaan) · protect
fileNamestringTidakUTF-8
coverUrlstringTidakHTTP(S) URL
callbackUrlstringTidakHTTPS webhook · status tugas akhir
removeAudiobooleanTidaktrue · false (bawaan)
Idempotency-Key / idempotencyKeystringDisarankan≤ 128 karakter · aman untuk mencoba lagi

Kolom respons

KolomTipeDeskripsi
codenumberKode hasil; 200 berarti sukses
messagestringPesan status
taskIdstringPengidentifikasi tugas untuk kueri status
statusstringwaiting · processing · success · failed

Kesalahan endpoint

codeArtiDeskripsi
-100Kegagalan autentikasi atau kuotaPenyebab umum: userNo · API Key · credits
-200Parameter tidak validPenyebab umum: field · URL · size · duration · Idempotency-Key
-300Permintaan ditolakPenyebab umum: taskId · ownership · state
-401Penangguhan akun sementaraPenyebab umum: Pelanggaran efektif pertama: 1 jam; kedua: 24 jam. Deteksi selama penangguhan tidak dihitung, diperpanjang, atau ditingkatkan.
-402Pemblokiran akun permanenPenyebab umum: Pelanggaran efektif ketiga memblokir akun secara permanen.
-600Format video tidak didukungPenyebab umum: codec · bit depth · HDR · audio
POST

/open/taskDetail

Menghapus subtitle dan watermark video · Status tugas

Format permintaan: form / query

Parameter permintaan

KolomTipeWajibDeskripsi
userNostringYa550W userNo
apiKeystringYaAPI Key
taskIdstringYa1–64 karakter
subUserIdstringTidak≤ 128 karakter · kepemilikan pengguna

Kolom respons

KolomTipeDeskripsi
taskIdstringPengidentifikasi tugas untuk kueri status
statusstringwaiting · processing · success · failed
widthnumberLebar video dalam piksel
heightnumberTinggi video dalam piksel
durationnumberDurasi video dalam hitungan detik
x1numberx1
y1numbery1
x2numberx2
y2numbery2
modestringmode
costnumberKredit dibebankan untuk tugas ini
resultUrlstringURL Hasil; berlaku selama 24 jam setelah pembuatan
failCodestringPengidentifikasi kegagalan yang stabil
failReasonstringAlasan kegagalan tugas
refundStatusnumberStatus pengembalian kredit

Kesalahan endpoint

codeArtiDeskripsi
-100Kegagalan autentikasi atau kuotaPenyebab umum: userNo · API Key · credits
-300Permintaan ditolakPenyebab umum: taskId · ownership · state
-500Kesalahan internalPenyebab umum: server · retry
POST

/open/taskList

Menghapus subtitle dan watermark video · Tugas dan akun. Tugas yang dihapus dikecualikan dari taskDetail dan taskList. Nilai status tugas tetap waiting, processing, success, atau failed.

Format permintaan: form / query

Parameter permintaan

KolomTipeWajibDeskripsi
userNostringYa550W userNo
apiKeystringYaAPI Key
pagenumberTidak≥ 0 · bawaan 0
sizenumberTidak1–100 · bawaan 20
subUserIdstringTidak≤ 128 karakter · kepemilikan pengguna

Kolom respons

KolomTipeDeskripsi
totalnumberJumlah tugas yang tidak dihapus
pagenumberNomor halaman
sizenumberJumlah tugas per halaman
listarrayDaftar tugas tidak dihapus

Kesalahan endpoint

codeArtiDeskripsi
-100Kegagalan autentikasi atau kuotaPenyebab umum: userNo · API Key · credits
-200Parameter tidak validPenyebab umum: field · URL · size · duration · Idempotency-Key
-500Kesalahan internalPenyebab umum: server · retry
POST

/open/deleteTask

Hapus tugas · Menandai tugas video sebagai dihapus dan langsung mengembalikan respons. Sumber yang diunggah, hasil pemrosesan, dan file percobaan ulang kemudian dihapus dari VOD secara asinkron di latar belakang. Kredit yang telah dipotong tidak dikembalikan. Tugas yang dihapus dikecualikan dari taskDetail dan taskList. Nilai status tugas tetap waiting, processing, success, atau failed.

Format permintaan: form / query

Parameter permintaan

KolomTipeWajibDeskripsi
userNostringYa550W userNo
apiKeystringYaAPI Key
taskIdstringYa1–64 karakter
subUserIdstringTidak≤ 128 karakter · kepemilikan pengguna

Kolom respons

KolomTipeDeskripsi
codenumberKode hasil; 200 berarti sukses
messagestringPesan status

Kesalahan endpoint

codeArtiDeskripsi
-100Kegagalan autentikasi atau kuotaPenyebab umum: userNo · API Key · credits
-200Parameter tidak validPenyebab umum: field · URL · size · duration · Idempotency-Key
-300Permintaan ditolakPenyebab umum: taskId · ownership · state
-500Kesalahan internalPenyebab umum: server · retry
POST

/open/removeImageWatermark

Menghapus watermark gambar · removeImageWatermark

Format permintaan: multipart/form-data

Parameter permintaan

KolomTipeWajibDeskripsi
userNostringYa550W userNo
apiKeystringYaAPI Key
filefileYaJPG · PNG · BMP · WebP · AVIF · TIFF · SVG · ≤ 50 MiB
syncbooleanTidaktrue (bawaan) · false
operationIdstringTidakpengenal pelacakan

Kolom respons

KolomTipeDeskripsi
codenumberKode hasil; 200 berarti sukses
messagestringPesan status
creditsAfternumberKredit tersisa setelah diproses
taskobjectHasil pemrosesan atau tugas asinkron

Kesalahan endpoint

codeArtiDeskripsi
-100Kegagalan autentikasi atau kuotaPenyebab umum: userNo · API Key · credits
-200Parameter tidak validPenyebab umum: field · URL · size · duration · Idempotency-Key
-300Permintaan ditolakPenyebab umum: taskId · ownership · state
-500Kesalahan internalPenyebab umum: server · retry
POST

/open/imageWatermarkTaskDetail

Menghapus watermark gambar · Status tugas

Format permintaan: form / query

Parameter permintaan

KolomTipeWajibDeskripsi
userNostringYa550W userNo
apiKeystringYaAPI Key
taskIdstringYa1–64 karakter

Kolom respons

KolomTipeDeskripsi
statusstringwaiting · processing · success · failed
resultUrlstringURL Hasil; berlaku selama 24 jam setelah pembuatan
failCodestringPengidentifikasi kegagalan yang stabil
failReasonstringAlasan kegagalan tugas
costnumberKredit dibebankan untuk tugas ini
expiredTimestringWaktu kedaluwarsa URL hasil

Kesalahan endpoint

codeArtiDeskripsi
-100Kegagalan autentikasi atau kuotaPenyebab umum: userNo · API Key · credits
-300Permintaan ditolakPenyebab umum: taskId · ownership · state
-500Kesalahan internalPenyebab umum: server · retry
POST

/open/queryCredits

Tugas dan akun · credits

Format permintaan: form / query

Parameter permintaan

KolomTipeWajibDeskripsi
userNostringYa550W userNo
apiKeystringYaAPI Key

Kolom respons

KolomTipeDeskripsi
codenumberKode hasil; 200 berarti sukses
messagestringPesan status
userNostringPengidentifikasi pengguna
creditsnumberKredit yang tersedia

Kesalahan endpoint

codeArtiDeskripsi
-100Kegagalan autentikasi atau kuotaPenyebab umum: userNo · API Key · credits
-500Kesalahan internalPenyebab umum: server · retry

Kolom permintaan umum

KolomWajibDeskripsi
userNoYa550W userNo
apiKeyYaAPI Key
Idempotency-KeyDisarankan≤ 128 · retry-safe
callbackUrlTidakHTTPS webhook · final status

Kolom tugas video

KolomTipeDeskripsi
videoUrlstringHTTP(S) URL · ≤ 2048 karakter
widthnumberlebar video · px
heightnumbertinggi video · px · max ≤ 1920 · min ≤ 1080
durationnumber1–1800 s
x1numberkiri atas X · px
y1numberkiri atas Y · px
x2numberkanan bawah X · px
y2numberkanan bawah Y · px · x1 = y1 = x2 = y2 = 0: bingkai penuh
modestringnormal (bawaan) · protect
removeAudiobooleantrue · false (bawaan)

Respons dan status tugas

Respons berisi code dan message. Tugas bergerak dari waiting ke processing, lalu success atau failed. Saat berhasil gunakan resultUrl; saat gagal periksa failCode. File hasil memiliki masa berlaku.

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

Kode kesalahan

CodeArtiPenyebab umum
200Berhasilmessage: "success"
-100Kegagalan autentikasi atau kuotauserNo · API Key · credits
-200Parameter tidak validfield · URL · size · duration · Idempotency-Key
-300Permintaan ditolaktaskId · ownership · state
-401Penangguhan akun sementaraPelanggaran efektif pertama: 1 jam; kedua: 24 jam. Deteksi selama penangguhan tidak dihitung, diperpanjang, atau ditingkatkan.
-402Pemblokiran akun permanenPelanggaran efektif ketiga memblokir akun secara permanen.
-500Kesalahan internalserver · retry
-600Format video tidak didukungcodec · bit depth · HDR · audio

Pengidentifikasi kegagalan tugas (failCode)

failCode adalah pengidentifikasi string, bukan code numerik. Tampaknya hanya ketika tugas gagal. Gunakan failCode untuk menentukan penyebabnya; jangan menguraikan pesan failReason yang diterjemahkan.

failCodeArti
VIDEO_UNREACHABLEURL video tidak dapat diakses publik
VIDEO_METADATA_UNAVAILABLEMetadata video yang andal tidak dapat diperoleh.
VIDEO_RESOLUTION_UNSUPPORTEDResolusi video yang diukur melebihi rentang yang didukung
VIDEO_DURATION_UNSUPPORTEDDurasi video yang diukur melebihi 30 menit
VIDEO_CODEC_UNSUPPORTEDCodec video tidak didukung
VIDEO_BIT_DEPTH_UNSUPPORTEDKedalaman bit video tidak didukung
VIDEO_HDR_UNSUPPORTEDHDR, PQ, atau HLG tidak didukung
VIDEO_AUDIO_UNSUPPORTEDCodec audio tidak didukung
VIDEO_CONTAINER_UNSUPPORTEDFormat penampung video tidak didukung
VIDEO_PREPARE_FAILEDPersiapan video, validasi, atau penghapusan 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 penagihan

Tugas video ditagih berdasarkan durasi pemrosesan dan resolusi. Gambar dikenai 10 kredit per tugas berhasil; pemrosesan gagal tidak dikenai biaya.

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

Kueri tugas hanya mengembalikan data pengguna yang terautentikasi.

Tangani kesalahan dengan code, message, status, failCode, dan refundStatus.

Beli Kredit

Tugas video ditagih berdasarkan durasi pemrosesan dan resolusi. Gambar dikenai 10 kredit per tugas berhasil; pemrosesan gagal tidak dikenai biaya.

Harga →