550W 开发者平台

开发者 API

图片与视频处理 API

能力概览

视频去字幕 / 去水印

提交视频去字幕 / 去水印任务;通过轮询或回调获取处理结果。

查看视频接口 →

图片去水印

上传图片并去水印;sync=true 直接返回结果,sync=false 创建异步任务。

查看图片接口 →

三步快速接入

1

充值积分

API 按量扣除积分,充值后网页端与 API 共用同一账户余额。

前往充值
2

生成 API Key

在账户区块生成并复制 userNo 与 API Key,服务端调用时请妥善保管。

生成 API Key
3

接入示例

按你的业务选择一条流程;每个步骤都对应下方的接口详情。

接入示例
Base URLhttps://www.550wai.cn所有接口均使用 POST;文件上传使用 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 和 apiKey。请将 API Key 保存在服务端,不要暴露在浏览器端。

响应结构

响应为 JSON;code 表示结果,message 提供可读提示,异步任务通过 taskId 和 status 跟踪。 海外账号(clientType=overseas)的 message 返回英文。code、字段名、status 和 failCode 不随语言变化,程序判断请使用这些稳定字段。

视频调用顺序

可选 uploadVideo → submitTask → taskDetail;也可直接把公网 videoUrl 传给 submitTask。

任务状态机

视频和异步图片任务遵循统一状态流转。创建任务后保存 taskId,持续查询详情或等待 callbackUrl。只有 success 状态表示可以安全使用 resultUrl。

waiting→processing→successfailed

failed 时请读取 failCode 与 failReason;积分退款状态以 refundStatus 为准。

异步任务与可靠调用

轮询与回调

在 submitTask 中传入公网 HTTP(S) callbackUrl,可在任务进入最终状态时接收回调。未传入时,请使用 taskId 调用 taskDetail 查询,并逐步增加轮询间隔。

幂等重试

为每次逻辑提交生成唯一幂等键,优先通过 Idempotency-Key 请求头传入。重试时复用原值:参数一致时返回原 taskId,不会重复创建或扣费。

图片异步模式

将 sync 设为 false 后,removeImageWatermark 返回异步任务信息。保存 task.taskId,调用 imageWatermarkTaskDetail 查询至 success 或 failed;成功时读取 task.resultUrl。

resultUrl 自生成起 24 小时内有效,请在任务成功后及时下载并保存结果文件。

接入示例

按你的业务选择一条流程;每个步骤都对应下方的接口详情。

视频去字幕 / 去水印

  1. 准备公网 videoUrl,或先调用 uploadVideo 上传本地视频。
  2. 调用 submitTask,传入媒体信息、四个坐标和处理模式。
  3. 保存 taskId,轮询 taskDetail 或等待 callbackUrl。
  4. success 时下载 resultUrl;failed 时读取 failCode。

任务与账户辅助

  1. 每次请求携带 userNo 和 apiKey。
  2. 使用 queryCredits 查询积分。
  3. 使用 taskList 分页查看任务。

可用接口

POST/open/uploadVideo

可选接口:上传本地视频并获取可用于提交任务的视频 URL;也可以跳过此接口,直接提供自己可公开访问的 videoUrl。

POST/open/submitTask

提交视频去字幕 / 去水印任务;通过轮询或回调获取处理结果。

POST/open/taskDetail

查询单个视频任务的状态、结果、费用和失败原因。

POST/open/taskList

分页查询当前用户的视频任务。 已删除任务会从 taskDetail 和 taskList 中过滤;任务状态仍仅为 waiting、processing、success 或 failed。

POST/open/deleteTask

将视频任务标记为已删除并立即返回;上传源视频、处理结果和重试媒资随后在后台异步从 VOD 清理。删除后 taskDetail 和 taskList 均不再返回该任务。已扣积分不退还。

POST/open/removeImageWatermark

上传图片并去水印;sync=true 直接返回结果,sync=false 创建异步任务。

POST/open/imageWatermarkTaskDetail

查询异步图片任务的状态和结果地址。

POST/open/queryCredits

查询账户当前可用积分。

POST

/open/uploadVideo

可选接口:上传本地视频并获取可用于提交任务的视频 URL;也可以跳过此接口,直接提供自己可公开访问的 videoUrl。

请求格式: multipart/form-data

请求参数

字段类型是否必填说明
userNostring是550W 用户编号
apiKeystring是API Key
filefile是MP4/MOV · ≤ 1080p · ≤ 30 min · 文件大小 ≤ 1 GiB

返回字段

字段类型说明
codenumber状态码,200 表示成功
messagestring提示信息
videoUrlstring上传后的视频访问地址
coverUrlstring视频封面地址
widthnumber视频宽度(像素)
heightnumber视频高度(像素)
durationnumber视频时长(秒)

特定错误码

code含义说明
-100鉴权失败userNo 或 apiKey 不正确
-200参数不合法文件为空、格式不支持、文件大小以当前上传界面为准,或分辨率、时长超限
-500服务内部异常文件保存或封面截取失败,请稍后重试
POST

/open/submitTask

提交视频去字幕 / 去水印任务;通过轮询或回调获取处理结果。

请求格式: application/x-www-form-urlencoded

请求参数

字段类型是否必填说明
userNostring是550W 用户编号
apiKeystring是API Key
videoUrlstring是HTTP(S) URL,最长 2048 字符
widthnumber是视频宽度(像素)
heightnumber是视频高度(像素);与 width 共同满足最长边 ≤ 1920、最短边 ≤ 1080
durationnumber是1–1800 秒
x1number是左上角 X 坐标(像素)
y1number是左上角 Y 坐标(像素)
x2number是右下角 X 坐标(像素)
y2number是右下角 Y 坐标(像素);四项均为 0 表示全屏
modestring否normal(默认)或 protect
fileNamestring否UTF-8 文件名
coverUrlstring否HTTP(S) URL
callbackUrlstring否任务完成时调用的 HTTPS Webhook
removeAudioboolean否true / false(默认 false)
Idempotency-Key / idempotencyKeystring推荐最长 128 字符,支持安全重试

返回字段

字段类型说明
codenumber状态码
messagestring提示信息
taskIdstring任务编号,请保存用于查询
statusstring初始任务状态

特定错误码

code含义说明
-100鉴权失败userNo、apiKey 不正确或积分不足
-200参数不合法必填字段缺失、URL 不可访问或参数超出范围
-300任务提交失败视频无法读取或业务状态不允许提交
-401账号临时封禁首次有效违规 1 小时、第二次 24 小时;封禁期内不累计、不续期、不升级
-402账号永久封禁第三次有效违规永久封禁
-600视频格式不支持编码、位深、色彩空间或音频编码不符合要求
POST

/open/taskDetail

查询单个视频任务的状态、结果、费用和失败原因。

请求格式: 表单参数或查询参数

请求参数

字段类型是否必填说明
userNostring是550W 用户编号
apiKeystring是API Key
taskIdstring是长度 1–64 字符
subUserIdstring否最长 128 字符,用于子用户归属校验

返回字段

字段类型说明
taskIdstring任务编号
statusstringwaiting / processing / success / failed
widthnumber实际计费视频宽度(像素)
heightnumber实际计费视频高度(像素)
durationnumber实际计费时长(秒)
x1number字幕区域左上角 X 坐标
y1number字幕区域左上角 Y 坐标
x2number字幕区域右下角 X 坐标
y2number字幕区域右下角 Y 坐标
modestring处理模式
costnumber本次处理消耗积分
resultUrlstring成功后的结果地址,生成后 24 小时内有效
failCodestring失败任务的稳定失败标识
failReasonstring失败任务的原因说明
refundStatusnumber积分退还状态

特定错误码

code含义说明
-100鉴权失败userNo 或 apiKey 不正确
-300任务不存在taskId 不存在或不属于当前用户
-500服务内部异常请稍后重试
POST

/open/taskList

分页查询当前用户的视频任务。 已删除任务会从 taskDetail 和 taskList 中过滤;任务状态仍仅为 waiting、processing、success 或 failed。

请求格式: 表单参数或查询参数

请求参数

字段类型是否必填说明
userNostring是550W 用户编号
apiKeystring是API Key
pagenumber否≥ 0,默认 0
sizenumber否1–100,默认 20
subUserIdstring否最长 128 字符,用于子用户归属校验

返回字段

字段类型说明
totalnumber未删除任务总数
pagenumber规范化后的页码
sizenumber规范化后的每页条数
listarray未删除任务列表;status 仅为 waiting / processing / success / failed

特定错误码

code含义说明
-100鉴权失败userNo 或 apiKey 不正确
-200参数不合法subUserId 长度超过 128
-500服务内部异常请稍后重试
POST

/open/deleteTask

将视频任务标记为已删除并立即返回;上传源视频、处理结果和重试媒资随后在后台异步从 VOD 清理。删除后 taskDetail 和 taskList 均不再返回该任务。已扣积分不退还。

请求格式: 表单参数或查询参数

请求参数

字段类型是否必填说明
userNostring是550W 用户编号
apiKeystring是API Key
taskIdstring是长度 1–64 字符
subUserIdstring否最长 128 字符,用于子用户归属校验

返回字段

字段类型说明
codenumber200 表示任务已删除并已请求 VOD 清理
messagestring提示信息

特定错误码

code含义说明
-100鉴权失败userNo 或 apiKey 不正确
-200参数不合法taskId 或 subUserId 格式不正确
-300任务不存在任务不存在、已删除或不属于当前用户
-500服务内部异常任务删除发生内部异常,请稍后重试
POST

/open/removeImageWatermark

上传图片并去水印;sync=true 直接返回结果,sync=false 创建异步任务。

请求格式: multipart/form-data

请求参数

字段类型是否必填说明
userNostring是550W 用户编号
apiKeystring是API Key
filefile是JPG / PNG / BMP / WebP / AVIF / TIFF / SVG;≤ 50 MiB
syncboolean否true(默认)/ false
operationIdstring否字符串跟踪标识

返回字段

字段类型说明
codenumber状态码
messagestring提示信息
creditsAfternumber处理后剩余积分
taskobject同步结果或异步任务信息

特定错误码

code含义说明
-100鉴权失败userNo、apiKey 不正确或积分不足
-200参数不合法文件为空、格式不支持或大小超过 50 MiB
-300处理失败图片无法解析或任务状态异常
-500服务内部异常请稍后重试
POST

/open/imageWatermarkTaskDetail

查询异步图片任务的状态和结果地址。

请求格式: 表单参数或查询参数

请求参数

字段类型是否必填说明
userNostring是550W 用户编号
apiKeystring是API Key
taskIdstring是长度 1–64 字符

返回字段

字段类型说明
statusstring任务状态
resultUrlstring成功后的图片地址,生成后 24 小时内有效
failCodestring失败任务的稳定失败标识
failReasonstring失败任务的原因说明
costnumber消耗积分
expiredTimestring结果地址过期时间

特定错误码

code含义说明
-100鉴权失败userNo 或 apiKey 不正确
-300任务不存在taskId 不存在或不属于当前用户
-500服务内部异常请稍后重试
POST

/open/queryCredits

查询账户当前可用积分。

请求格式: 表单参数或查询参数

请求参数

字段类型是否必填说明
userNostring是550W 用户编号
apiKeystring是API Key

返回字段

字段类型说明
codenumber状态码
messagestring提示信息
userNostring用户编号
creditsnumber当前可用积分

特定错误码

code含义说明
-100鉴权失败userNo 或 apiKey 不正确
-500服务内部异常请稍后重试

通用请求字段

字段是否必填说明
userNo是550W 用户编号
apiKey是调用密钥
Idempotency-Key推荐最长 128 字符;重试时保持不变
callbackUrl否接收最终任务状态的公网 HTTPS 回调地址

视频任务字段

字段类型说明
videoUrlstringHTTP(S) URL,最长 2048 字符
widthnumber视频宽度(像素)
heightnumber视频高度(像素);与 width 共同满足最长边 ≤ 1920、最短边 ≤ 1080
durationnumber1–1800 秒
x1number左上角 X 坐标(像素)
y1number左上角 Y 坐标(像素)
x2number右下角 X 坐标(像素)
y2number右下角 Y 坐标(像素);四项均为 0 表示全屏
modestringnormal(默认)或 protect
removeAudiobooleantrue / false(默认 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账号临时封禁首次有效违规封禁 1 小时,第二次封禁 24 小时;封禁期间的新命中不累计、不续期、不升级。
-402账号永久封禁第三次有效违规将永久封禁账号。
-500服务内部错误server · retry
-600不支持的视频格式codec · bit depth · HDR · audio

任务失败标识(failCode)

failCode 是字符串标识,不是数字 code;仅在任务进入 failed 状态时返回。程序应按 failCode 判断原因,不要解析 failReason 文案。

failCode含义
VIDEO_UNREACHABLE系统无法公开访问视频链接
VIDEO_METADATA_UNAVAILABLE无法获取可靠的视频元数据
VIDEO_RESOLUTION_UNSUPPORTED实测分辨率超出支持范围
VIDEO_DURATION_UNSUPPORTED实测时长超过 30 分钟
VIDEO_CODEC_UNSUPPORTED视频编码不支持
VIDEO_BIT_DEPTH_UNSUPPORTED视频位深不支持
VIDEO_HDR_UNSUPPORTEDHDR / 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 积分 / 秒1280×720 · 30 秒 ≈ 39 积分
width × height > 921,600 · 最高 1080p1.6 积分 / 秒1920×1080 · 30 秒 ≈ 48 积分

任务查询只返回当前鉴权用户的数据。

请结合 code、message、status、failCode 和 refundStatus 处理错误。

购买积分

视频任务按处理时长和分辨率计费;图片任务成功后扣除 10 积分,处理失败不扣费。

价格 →