550W DEVELOPER PLATFORM

API para desarrolladores

API de procesamiento de imágenes y vídeo

Sign in to generate an API key

Inicio rápido

Authenticate every request with your userNo and apiKey. Uploading a video is optional: you may either call /open/uploadVideo first or submit a publicly reachable videoUrl directly.

curl -X POST https://www.550wai.cn/open/submitTask \
  -F userNo=YOUR_USER_NO -F apiKey=YOUR_API_KEY \
  -F videoUrl=https://example.com/video.mp4 \
  -F width=1920 -F height=1080 -F duration=30 \
  -F x1=0 -F y1=0 -F x2=1920 -F y2=200

Endpoints disponibles

POST/open/uploadVideo

Optional multipart upload; returns a videoUrl.

POST/open/submitTask

Submit a video subtitle/text erasing task using videoUrl or an uploaded file.

POST/open/taskDetail

Get one video task status and result.

POST/open/taskList

List video tasks for the authenticated user.

POST/open/removeImageWatermark

Submit an image watermark removal task.

POST/open/imageWatermarkTaskDetail

Get an image task status and result.

POST/open/queryCredits

Read the current credit balance.

POST/open/uploadVideo

Upload video

Request format: multipart/form-data

FieldTypeRequiredDescription
userNostringYesAuthenticated user number
apiKeystringYesAPI key
filefileYesMP4/MOV video, max 1 GB; max edge 1920 px, min edge 1080 px, duration ≤ 600 s, 8-bit SDR

Response: Returns code, message, videoUrl, coverUrl, width, height and duration.

POST/open/submitTask

Submit subtitle removal task

Request format: application/x-www-form-urlencoded

FieldTypeRequiredDescription
userNostringYesAuthenticated user number
apiKeystringYesAPI key
videoUrlstringYesPublic http(s) URL (≤2048 chars)
width / heightnumberYesVideo dimensions; max edge ≤1920 and min edge ≤1080
durationnumberYesSeconds, 1–600
x1,y1,x2,y2numberYesSubtitle rectangle; 0,0,0,0 means full-screen
modestringNonormal (default) or protect
fileNamestringNoOriginal file name
coverUrlstringNoPublic cover URL
callbackUrlstringNoPublic webhook URL called at final state
removeAudiobooleanNoRemove audio before processing (default false)
Idempotency-Key / idempotencyKeystringRecommendedRetry-safe key, max 128 chars

Response: Returns code, message, taskId and status=waiting. Reusing an identical idempotency key returns the original task.

POST/open/taskDetail

Get video task detail

Request format: form or query parameters

FieldTypeRequiredDescription
userNostringYesAuthenticated user number
apiKeystringYesAPI key
taskIdstringYesTask identifier, 1–64 chars

Response: Returns task metadata, status, cost, resultUrl on success, failCode/failReason on failure and refundStatus.

POST/open/taskList

List video tasks

Request format: form or query parameters

FieldTypeRequiredDescription
userNostringYesAuthenticated user number
apiKeystringYesAPI key
pagenumberNoZero-based page, default 0
sizenumberNoPage size 1–100, default 20

Response: Returns total, page, size and list[]; each item includes taskId, status, fileName, coverUrl, dimensions, duration, cost, timestamps, resultUrl, failCode, failReason and refundStatus.

POST/open/removeImageWatermark

Remove image watermark

Request format: multipart/form-data

FieldTypeRequiredDescription
userNostringYesAuthenticated user number
apiKeystringYesAPI key
filefileYesJPG, PNG, BMP, WebP, AVIF, TIFF or SVG; max 50 MB
syncbooleanNoWait for result (default true); false returns processing
operationIdstringNoCaller-defined tracking identifier

Response: Returns code, message, errorCode, creditsAfter and task object (taskId, status, cost, resultUrl, failCode, failReason, createTime, expiredTime).

POST/open/imageWatermarkTaskDetail

Get image task detail

Request format: form or query parameters

FieldTypeRequiredDescription
userNostringYesAuthenticated user number
apiKeystringYesAPI key
taskIdstringYesImage task identifier

Response: Returns task status, resultUrl, failCode, failReason, cost and expiration metadata.

POST/open/queryCredits

Query credits

Request format: form or query parameters

FieldTypeRequiredDescription
userNostringYesAuthenticated user number
apiKeystringYesAPI key

Response: Returns code, message, userNo and non-negative integer credits.

Common request fields

FieldRequiredDescription
userNoYesYour 550W user number.
apiKeyYesAPI key generated from this page.
Idempotency-KeyRecommendedRetry-safe key for task submission; max 128 characters.
callbackUrlNoPublic HTTPS webhook called when a task reaches a final state.

Video submit fields

FieldTypeNotes
videoUrlstringPublic http(s) URL; omit when using an uploaded video.
width / heightnumberPixels; maximum edge ≤ 1920 and minimum edge ≤ 1080.
durationnumberSeconds, 1–600.
x1, y1, x2, y2numberSubtitle rectangle; use 0,0,0,0 for full-screen mode.
modestringnormal (default) or protect.
removeAudiobooleanRemove audio before processing.

Response and task status

Every response is a flat JSON object with code and message. Video tasks move through waiting → processing → success or failed. A successful task returns resultUrl; failed tasks include a stable failCode. Results expire according to the platform retention policy.

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

Códigos de error

CodeMeaningTypical causes
200SuccessRequest accepted or completed.
-100Authentication or quota failureMissing/mismatched userNo or apiKey, or insufficient credits.
-200Invalid parameterMissing fields, invalid URL, dimensions, duration, or idempotency key.
-300Business rejectionTask not found, unavailable, or unable to be accepted.
-400Account suspendedAccount blocked for policy violations.
-500Internal errorRetry later.
-600Unsupported video formatCodec, bit depth, HDR, or audio format is unsupported.

JavaScript y Python

// JavaScript
const form = new FormData();
form.append('userNo', USER_NO);
form.append('apiKey', API_KEY);
form.append('videoUrl', VIDEO_URL);
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
})

Uso y facturación

Video subtitle removal uses the same credit schedule as the domestic Open API. Images are charged 10 credits per task. Failed processing is not charged; when a post-charge media failure occurs, inspect refundStatus.

Video resolutionRateExample
width × height ≤ 921,600 (720p or below)1.3 credits / second1280×720 for 30s ≈ 39 credits
width × height > 921,600 (up to 1080p)1.6 credits / second1920×1080 for 30s ≈ 48 credits

Task detail and list responses are scoped to the authenticated user. Video-link watermark removal is not available through the Eraser developer API.

See code, message, status, failCode and refundStatus for robust error handling.