550W · API dành cho nhà phát triển

API dành cho nhà phát triển

API xử lý hình ảnh và video

Bạn có thể xây dựng gì

Tích hợp nhanh

1

Mua điểm

Tác vụ video được tính phí theo thời lượng xử lý và độ phân giải. Ảnh tốn 10 điểm cho mỗi tác vụ thành công; xử lý thất bại không bị tính phí.

Sử dụng và thanh toán
2

Tạo API Key

Thêm userNo và API Key vào mọi yêu cầu. Tải lên là tùy chọn: dùng /open/uploadVideo hoặc cung cấp trực tiếp videoUrl công khai.

Tạo API Key
3

Ví dụ tích hợp

Chọn quy trình phù hợp với sản phẩm của bạn. Mỗi bước liên kết trực tiếp đến tài liệu API.

Ví dụ tích hợp
Base URLhttps://www.550wai.cnPOST · multipart/form-data

Bắt đầu nhanh

Thêm userNo và API Key vào mọi yêu cầu. Tải lên là tùy chọn: dùng /open/uploadVideo hoặc cung cấp trực tiếp videoUrl công khai.

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'

Quy ước

Bắt buộc

Thêm userNo và API Key vào mọi yêu cầu. Tải lên là tùy chọn: dùng /open/uploadVideo hoặc cung cấp trực tiếp videoUrl công khai.

Phản hồi

Phản hồi chứa code và message. Tác vụ chuyển từ waiting sang processing rồi đến success hoặc failed. Khi thành công, dùng resultUrl; khi lỗi, kiểm tra failCode. Tệp kết quả sẽ hết hạn. Với tài khoản quốc tế (clientType=overseas), message được trả về bằng tiếng Anh. Hãy dùng code, status, failCode và tên trường không phụ thuộc ngôn ngữ cho logic.

Xóa phụ đề và hình mờ video

uploadVideo → submitTask → taskDetail

Trạng thái tác vụ

Phản hồi chứa code và message. Tác vụ chuyển từ waiting sang processing rồi đến success hoặc failed. Khi thành công, dùng resultUrl; khi lỗi, kiểm tra failCode. Tệp kết quả sẽ hết hạn.

waiting→processing→successfailed

Xử lý lỗi bằng code, message, status, failCode và refundStatus.

Tác vụ bất đồng bộ và độ tin cậy

Kiểm tra trạng thái tác vụ và Webhooks

Định cấu hình HTTPS callbackUrl có thể truy cập công khai để nhận trạng thái tác vụ cuối cùng. Ngoài ra, hãy truy vấn taskDetail bằng taskId và tăng dần thời gian giữa các lần kiểm tra.

Thử lại an toàn, không tạo tác vụ trùng

Dùng một Idempotency-Key duy nhất cho mỗi tác vụ mới. Khi thử gửi lại cùng tác vụ, dùng lại khóa đó để nhận taskId ban đầu, tránh tạo tác vụ trùng hoặc bị trừ điểm hai lần.

Xử lý hình ảnh không đồng bộ

Đặt sync thành false, lưu task.taskId và gọi imageWatermarkTaskDetail cho đến khi trạng thái là success hoặc failed. Khi thành công, hãy đọc task.resultUrl.

resultUrl · 24 h

Ví dụ tích hợp

Chọn quy trình phù hợp với sản phẩm của bạn. Mỗi bước liên kết trực tiếp đến tài liệu API.

Xóa phụ đề và hình mờ video

  1. videoUrl · uploadVideo · Xóa phụ đề và hình mờ video · uploadVideo
  2. submitTask · Xóa phụ đề và hình mờ video · submitTask
  3. taskId · taskDetail · callbackUrl
  4. Ở trạng thái success, tải resultUrl; ở trạng thái failed, đọc failCode và failReason.

Tác vụ và tài khoản

  1. userNo · apiKey · Bắt buộc trong mọi yêu cầu
  2. queryCredits · Tác vụ và tài khoản · credits
  3. taskList · Xóa phụ đề và hình mờ video · Tác vụ và tài khoản. Các tác vụ đã xóa được loại trừ khỏi taskDetail và taskList. Giá trị trạng thái nhiệm vụ vẫn là waiting, processing, success hoặc failed.

Các endpoint khả dụng

POST/open/uploadVideo

Xóa phụ đề và hình mờ video · uploadVideo

POST/open/submitTask

Xóa phụ đề và hình mờ video · submitTask

POST/open/taskDetail

Xóa phụ đề và hình mờ video · Trạng thái tác vụ

POST/open/taskList

Xóa phụ đề và hình mờ video · Tác vụ và tài khoản. Các tác vụ đã xóa được loại trừ khỏi taskDetail và taskList. Giá trị trạng thái nhiệm vụ vẫn là waiting, processing, success hoặc failed.

POST/open/deleteTask

Xóa tác vụ · Đánh dấu tác vụ video là đã xóa và trả về ngay. Video nguồn đã tải lên, kết quả xử lý và tệp thử lại sau đó được xóa khỏi VOD bất đồng bộ ở chế độ nền. Điểm đã trừ không được hoàn lại. Các tác vụ đã xóa được loại trừ khỏi taskDetail và taskList. Giá trị trạng thái nhiệm vụ vẫn là waiting, processing, success hoặc failed.

POST/open/removeImageWatermark

Xóa hình mờ ảnh · removeImageWatermark

POST/open/imageWatermarkTaskDetail

Xóa hình mờ ảnh · Trạng thái tác vụ

POST/open/queryCredits

Tác vụ và tài khoản · credits

POST

/open/uploadVideo

Xóa phụ đề và hình mờ video · uploadVideo

Định dạng yêu cầu: multipart/form-data

Tham số yêu cầu

TrườngKiểuBắt buộcMô tả
userNostringCó550W userNo
apiKeystringCóAPI Key
filefileCóMP4/MOV · ≤ 1080p · ≤ 30 min · Kích thước tệp ≤ 1 GiB

Trường phản hồi

TrườngKiểuMô tả
codenumberMã kết quả; 200 có nghĩa là thành công
messagestringThông báo trạng thái
videoUrlstringURL video đã tải lên
coverUrlstringURL bìa video
widthnumberChiều rộng video tính bằng pixel
heightnumberChiều cao video tính bằng pixel
durationnumberThời lượng video tính bằng giây

Lỗi endpoint

codeÝ nghĩaMô tả
-100Lỗi xác thực hoặc hạn mứcNguyên nhân thường gặp: userNo · API Key · credits
-200Tham số không hợp lệNguyên nhân thường gặp: field · URL · size · duration · Idempotency-Key
-500Lỗi nội bộNguyên nhân thường gặp: server · retry
POST

/open/submitTask

Xóa phụ đề và hình mờ video · submitTask

Định dạng yêu cầu: application/x-www-form-urlencoded

Tham số yêu cầu

TrườngKiểuBắt buộcMô tả
userNostringCó550W userNo
apiKeystringCóAPI Key
videoUrlstringCóHTTP(S) URL · ≤ 2048 ký tự
widthnumberCóchiều rộng video · px
heightnumberCóchiều cao video · px · max ≤ 1920 · min ≤ 1080
durationnumberCó1–1800 s
x1numberCótrên cùng bên trái X · px
y1numberCótrên cùng bên trái Y · px
x2numberCódưới cùng bên phải X · px
y2numberCódưới cùng bên phải Y · px · x1 = y1 = x2 = y2 = 0: khung hình đầy đủ
modestringKhôngnormal (mặc định) · protect
fileNamestringKhôngUTF-8
coverUrlstringKhôngHTTP(S) URL
callbackUrlstringKhôngHTTPS webhook · trạng thái cuối cùng của tác vụ
removeAudiobooleanKhôngtrue · false (mặc định)
Idempotency-Key / idempotencyKeystringKhuyến nghị≤ 128 ký tự · an toàn để thử lại

Trường phản hồi

TrườngKiểuMô tả
codenumberMã kết quả; 200 có nghĩa là thành công
messagestringThông báo trạng thái
taskIdstringMã tác vụ để truy vấn trạng thái
statusstringwaiting · processing · success · failed

Lỗi endpoint

codeÝ nghĩaMô tả
-100Lỗi xác thực hoặc hạn mứcNguyên nhân thường gặp: userNo · API Key · credits
-200Tham số không hợp lệNguyên nhân thường gặp: field · URL · size · duration · Idempotency-Key
-300Yêu cầu bị từ chốiNguyên nhân thường gặp: taskId · ownership · state
-401Tạm đình chỉ tài khoảnNguyên nhân thường gặp: Vi phạm có hiệu lực lần đầu: 1 giờ; lần hai: 24 giờ. Phát hiện trong thời gian đình chỉ không được tính, gia hạn hay nâng mức.
-402Cấm tài khoản vĩnh viễnNguyên nhân thường gặp: Vi phạm có hiệu lực lần thứ ba sẽ cấm tài khoản vĩnh viễn.
-600Định dạng video không được hỗ trợNguyên nhân thường gặp: codec · bit depth · HDR · audio
POST

/open/taskDetail

Xóa phụ đề và hình mờ video · Trạng thái tác vụ

Định dạng yêu cầu: form / query

Tham số yêu cầu

TrườngKiểuBắt buộcMô tả
userNostringCó550W userNo
apiKeystringCóAPI Key
taskIdstringCó1–64 ký tự
subUserIdstringKhông≤ 128 ký tự · quyền sở hữu của người dùng

Trường phản hồi

TrườngKiểuMô tả
taskIdstringMã tác vụ để truy vấn trạng thái
statusstringwaiting · processing · success · failed
widthnumberChiều rộng video tính bằng pixel
heightnumberChiều cao video tính bằng pixel
durationnumberThời lượng video tính bằng giây
x1numberx1
y1numbery1
x2numberx2
y2numbery2
modestringmode
costnumberSố điểm đã trừ cho tác vụ này
resultUrlstringURL kết quả; có hiệu lực trong 24 giờ sau khi tạo
failCodestringĐịnh danh lỗi ổn định
failReasonstringLý do nhiệm vụ thất bại
refundStatusnumberTrạng thái hoàn lại điểm

Lỗi endpoint

codeÝ nghĩaMô tả
-100Lỗi xác thực hoặc hạn mứcNguyên nhân thường gặp: userNo · API Key · credits
-300Yêu cầu bị từ chốiNguyên nhân thường gặp: taskId · ownership · state
-500Lỗi nội bộNguyên nhân thường gặp: server · retry
POST

/open/taskList

Xóa phụ đề và hình mờ video · Tác vụ và tài khoản. Các tác vụ đã xóa được loại trừ khỏi taskDetail và taskList. Giá trị trạng thái nhiệm vụ vẫn là waiting, processing, success hoặc failed.

Định dạng yêu cầu: form / query

Tham số yêu cầu

TrườngKiểuBắt buộcMô tả
userNostringCó550W userNo
apiKeystringCóAPI Key
pagenumberKhông≥ 0 · mặc định 0
sizenumberKhông1–100 · mặc định 20
subUserIdstringKhông≤ 128 ký tự · quyền sở hữu của người dùng

Trường phản hồi

TrườngKiểuMô tả
totalnumberSố lượng nhiệm vụ không bị xóa
pagenumberSố thứ tự trang
sizenumberSố lượng nhiệm vụ trên mỗi trang
listarrayDanh sách nhiệm vụ không bị xóa

Lỗi endpoint

codeÝ nghĩaMô tả
-100Lỗi xác thực hoặc hạn mứcNguyên nhân thường gặp: userNo · API Key · credits
-200Tham số không hợp lệNguyên nhân thường gặp: field · URL · size · duration · Idempotency-Key
-500Lỗi nội bộNguyên nhân thường gặp: server · retry
POST

/open/deleteTask

Xóa tác vụ · Đánh dấu tác vụ video là đã xóa và trả về ngay. Video nguồn đã tải lên, kết quả xử lý và tệp thử lại sau đó được xóa khỏi VOD bất đồng bộ ở chế độ nền. Điểm đã trừ không được hoàn lại. Các tác vụ đã xóa được loại trừ khỏi taskDetail và taskList. Giá trị trạng thái nhiệm vụ vẫn là waiting, processing, success hoặc failed.

Định dạng yêu cầu: form / query

Tham số yêu cầu

TrườngKiểuBắt buộcMô tả
userNostringCó550W userNo
apiKeystringCóAPI Key
taskIdstringCó1–64 ký tự
subUserIdstringKhông≤ 128 ký tự · quyền sở hữu của người dùng

Trường phản hồi

TrườngKiểuMô tả
codenumberMã kết quả; 200 có nghĩa là thành công
messagestringThông báo trạng thái

Lỗi endpoint

codeÝ nghĩaMô tả
-100Lỗi xác thực hoặc hạn mứcNguyên nhân thường gặp: userNo · API Key · credits
-200Tham số không hợp lệNguyên nhân thường gặp: field · URL · size · duration · Idempotency-Key
-300Yêu cầu bị từ chốiNguyên nhân thường gặp: taskId · ownership · state
-500Lỗi nội bộNguyên nhân thường gặp: server · retry
POST

/open/removeImageWatermark

Xóa hình mờ ảnh · removeImageWatermark

Định dạng yêu cầu: multipart/form-data

Tham số yêu cầu

TrườngKiểuBắt buộcMô tả
userNostringCó550W userNo
apiKeystringCóAPI Key
filefileCóJPG · PNG · BMP · WebP · AVIF · TIFF · SVG · ≤ 50 MiB
syncbooleanKhôngtrue (mặc định) · false
operationIdstringKhôngđịnh danh theo dõi

Trường phản hồi

TrườngKiểuMô tả
codenumberMã kết quả; 200 có nghĩa là thành công
messagestringThông báo trạng thái
creditsAfternumberSố điểm còn lại sau khi xử lý
taskobjectKết quả xử lý hoặc tác vụ không đồng bộ

Lỗi endpoint

codeÝ nghĩaMô tả
-100Lỗi xác thực hoặc hạn mứcNguyên nhân thường gặp: userNo · API Key · credits
-200Tham số không hợp lệNguyên nhân thường gặp: field · URL · size · duration · Idempotency-Key
-300Yêu cầu bị từ chốiNguyên nhân thường gặp: taskId · ownership · state
-500Lỗi nội bộNguyên nhân thường gặp: server · retry
POST

/open/imageWatermarkTaskDetail

Xóa hình mờ ảnh · Trạng thái tác vụ

Định dạng yêu cầu: form / query

Tham số yêu cầu

TrườngKiểuBắt buộcMô tả
userNostringCó550W userNo
apiKeystringCóAPI Key
taskIdstringCó1–64 ký tự

Trường phản hồi

TrườngKiểuMô tả
statusstringwaiting · processing · success · failed
resultUrlstringURL kết quả; có hiệu lực trong 24 giờ sau khi tạo
failCodestringĐịnh danh lỗi ổn định
failReasonstringLý do nhiệm vụ thất bại
costnumberSố điểm đã trừ cho tác vụ này
expiredTimestringThời gian hết hạn của URL kết quả

Lỗi endpoint

codeÝ nghĩaMô tả
-100Lỗi xác thực hoặc hạn mứcNguyên nhân thường gặp: userNo · API Key · credits
-300Yêu cầu bị từ chốiNguyên nhân thường gặp: taskId · ownership · state
-500Lỗi nội bộNguyên nhân thường gặp: server · retry
POST

/open/queryCredits

Tác vụ và tài khoản · credits

Định dạng yêu cầu: form / query

Tham số yêu cầu

TrườngKiểuBắt buộcMô tả
userNostringCó550W userNo
apiKeystringCóAPI Key

Trường phản hồi

TrườngKiểuMô tả
codenumberMã kết quả; 200 có nghĩa là thành công
messagestringThông báo trạng thái
userNostringMã định danh người dùng
creditsnumberSố điểm khả dụng

Lỗi endpoint

codeÝ nghĩaMô tả
-100Lỗi xác thực hoặc hạn mứcNguyên nhân thường gặp: userNo · API Key · credits
-500Lỗi nội bộNguyên nhân thường gặp: server · retry

Các trường yêu cầu chung

TrườngBắt buộcMô tả
userNoCó550W userNo
apiKeyCóAPI Key
Idempotency-KeyKhuyến nghị≤ 128 · retry-safe
callbackUrlKhôngHTTPS webhook · final status

Các trường tác vụ video

TrườngKiểuMô tả
videoUrlstringHTTP(S) URL · ≤ 2048 ký tự
widthnumberchiều rộng video · px
heightnumberchiều cao video · px · max ≤ 1920 · min ≤ 1080
durationnumber1–1800 s
x1numbertrên cùng bên trái X · px
y1numbertrên cùng bên trái Y · px
x2numberdưới cùng bên phải X · px
y2numberdưới cùng bên phải Y · px · x1 = y1 = x2 = y2 = 0: khung hình đầy đủ
modestringnormal (mặc định) · protect
removeAudiobooleantrue · false (mặc định)

Phản hồi và trạng thái tác vụ

Phản hồi chứa code và message. Tác vụ chuyển từ waiting sang processing rồi đến success hoặc failed. Khi thành công, dùng resultUrl; khi lỗi, kiểm tra failCode. Tệp kết quả sẽ hết hạn.

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

Mã lỗi

CodeÝ nghĩaNguyên nhân thường gặp
200Thành côngmessage: "success"
-100Lỗi xác thực hoặc hạn mứcuserNo · API Key · credits
-200Tham số không hợp lệfield · URL · size · duration · Idempotency-Key
-300Yêu cầu bị từ chốitaskId · ownership · state
-401Tạm đình chỉ tài khoảnVi phạm có hiệu lực lần đầu: 1 giờ; lần hai: 24 giờ. Phát hiện trong thời gian đình chỉ không được tính, gia hạn hay nâng mức.
-402Cấm tài khoản vĩnh viễnVi phạm có hiệu lực lần thứ ba sẽ cấm tài khoản vĩnh viễn.
-500Lỗi nội bộserver · retry
-600Định dạng video không được hỗ trợcodec · bit depth · HDR · audio

Mã lỗi tác vụ (failCode)

failCode là mã định danh dạng chuỗi, khác với code dạng số, và chỉ xuất hiện khi tác vụ thất bại. Dùng failCode để xác định nguyên nhân; không phân tích nội dung thông báo failReason đã dịch.

failCodeÝ nghĩa
VIDEO_UNREACHABLEURL video không thể truy cập công khai
VIDEO_METADATA_UNAVAILABLEKhông thể lấy được siêu dữ liệu video đáng tin cậy.
VIDEO_RESOLUTION_UNSUPPORTEDĐộ phân giải video đo được vượt quá phạm vi được hỗ trợ
VIDEO_DURATION_UNSUPPORTEDThời lượng video đo được vượt quá 30 phút
VIDEO_CODEC_UNSUPPORTEDCodec video không được hỗ trợ
VIDEO_BIT_DEPTH_UNSUPPORTEDĐộ sâu bit video không được hỗ trợ
VIDEO_HDR_UNSUPPORTEDHDR, PQ hoặc HLG không được hỗ trợ
VIDEO_AUDIO_UNSUPPORTEDCodec âm thanh không được hỗ trợ
VIDEO_CONTAINER_UNSUPPORTEDĐịnh dạng vùng chứa video không được hỗ trợ
VIDEO_PREPARE_FAILEDKhông thể chuẩn bị, xác thực hoặc xóa âm thanh video

Sao chép ví dụ và gọi

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

Sử dụng và thanh toán

Tác vụ video được tính phí theo thời lượng xử lý và độ phân giải. Ảnh tốn 10 điểm cho mỗi tác vụ thành công; xử lý thất bại không bị tính phí.

Độ phân giải videoMức phíVí dụ
width × height ≤ 921,600 · 720p trở xuống1.3 điểm / s1280×720 · 30 s ≈ 39 điểm
width × height > 921,600 · Tối đa 1080p1.6 điểm / s1920×1080 · 30 s ≈ 48 điểm

Truy vấn tác vụ chỉ trả về dữ liệu của người dùng đã xác thực.

Xử lý lỗi bằng code, message, status, failCode và refundStatus.

Mua điểm

Tác vụ video được tính phí theo thời lượng xử lý và độ phân giải. Ảnh tốn 10 điểm cho mỗi tác vụ thành công; xử lý thất bại không bị tính phí.

Bảng giá →