视频去字幕 / 去水印
提交视频去字幕 / 去水印任务;通过轮询或回调获取处理结果。
查看视频接口 →550W 开发者平台
图片与视频处理 API
API 按量扣除积分,充值后网页端与 API 共用同一账户余额。
前往充值在账户区块生成并复制 userNo 与 API Key,服务端调用时请妥善保管。
生成 API Key按你的业务选择一条流程;每个步骤都对应下方的接口详情。
接入示例https://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。
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 小时内有效,请在任务成功后及时下载并保存结果文件。
按你的业务选择一条流程;每个步骤都对应下方的接口详情。
uploadVideo 上传本地视频。submitTask,传入媒体信息、四个坐标和处理模式。taskDetail 或等待 callbackUrl。removeImageWatermark 上传图片。imageWatermarkTaskDetail 查询最终结果。/open/uploadVideo可选接口:上传本地视频并获取可用于提交任务的视频 URL;也可以跳过此接口,直接提供自己可公开访问的 videoUrl。
/open/submitTask提交视频去字幕 / 去水印任务;通过轮询或回调获取处理结果。
/open/taskDetail查询单个视频任务的状态、结果、费用和失败原因。
/open/taskList分页查询当前用户的视频任务。 已删除任务会从 taskDetail 和 taskList 中过滤;任务状态仍仅为 waiting、processing、success 或 failed。
/open/deleteTask将视频任务标记为已删除并立即返回;上传源视频、处理结果和重试媒资随后在后台异步从 VOD 清理。删除后 taskDetail 和 taskList 均不再返回该任务。已扣积分不退还。
/open/removeImageWatermark上传图片并去水印;sync=true 直接返回结果,sync=false 创建异步任务。
/open/imageWatermarkTaskDetail查询异步图片任务的状态和结果地址。
/open/queryCredits查询账户当前可用积分。
/open/uploadVideo可选接口:上传本地视频并获取可用于提交任务的视频 URL;也可以跳过此接口,直接提供自己可公开访问的 videoUrl。
请求格式: multipart/form-data
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
userNo | string | 是 | 550W 用户编号 |
apiKey | string | 是 | API Key |
file | file | 是 | MP4/MOV · ≤ 1080p · ≤ 30 min · 文件大小 ≤ 1 GiB |
| 字段 | 类型 | 说明 |
|---|---|---|
code | number | 状态码,200 表示成功 |
message | string | 提示信息 |
videoUrl | string | 上传后的视频访问地址 |
coverUrl | string | 视频封面地址 |
width | number | 视频宽度(像素) |
height | number | 视频高度(像素) |
duration | number | 视频时长(秒) |
| code | 含义 | 说明 |
|---|---|---|
-100 | 鉴权失败 | userNo 或 apiKey 不正确 |
-200 | 参数不合法 | 文件为空、格式不支持、文件大小以当前上传界面为准,或分辨率、时长超限 |
-500 | 服务内部异常 | 文件保存或封面截取失败,请稍后重试 |
/open/submitTask提交视频去字幕 / 去水印任务;通过轮询或回调获取处理结果。
请求格式: application/x-www-form-urlencoded
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
userNo | string | 是 | 550W 用户编号 |
apiKey | string | 是 | API Key |
videoUrl | string | 是 | HTTP(S) URL,最长 2048 字符 |
width | number | 是 | 视频宽度(像素) |
height | number | 是 | 视频高度(像素);与 width 共同满足最长边 ≤ 1920、最短边 ≤ 1080 |
duration | number | 是 | 1–1800 秒 |
x1 | number | 是 | 左上角 X 坐标(像素) |
y1 | number | 是 | 左上角 Y 坐标(像素) |
x2 | number | 是 | 右下角 X 坐标(像素) |
y2 | number | 是 | 右下角 Y 坐标(像素);四项均为 0 表示全屏 |
mode | string | 否 | normal(默认)或 protect |
fileName | string | 否 | UTF-8 文件名 |
coverUrl | string | 否 | HTTP(S) URL |
callbackUrl | string | 否 | 任务完成时调用的 HTTPS Webhook |
removeAudio | boolean | 否 | true / false(默认 false) |
Idempotency-Key / idempotencyKey | string | 推荐 | 最长 128 字符,支持安全重试 |
| 字段 | 类型 | 说明 |
|---|---|---|
code | number | 状态码 |
message | string | 提示信息 |
taskId | string | 任务编号,请保存用于查询 |
status | string | 初始任务状态 |
| code | 含义 | 说明 |
|---|---|---|
-100 | 鉴权失败 | userNo、apiKey 不正确或积分不足 |
-200 | 参数不合法 | 必填字段缺失、URL 不可访问或参数超出范围 |
-300 | 任务提交失败 | 视频无法读取或业务状态不允许提交 |
-401 | 账号临时封禁 | 首次有效违规 1 小时、第二次 24 小时;封禁期内不累计、不续期、不升级 |
-402 | 账号永久封禁 | 第三次有效违规永久封禁 |
-600 | 视频格式不支持 | 编码、位深、色彩空间或音频编码不符合要求 |
/open/taskDetail查询单个视频任务的状态、结果、费用和失败原因。
请求格式: 表单参数或查询参数
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
userNo | string | 是 | 550W 用户编号 |
apiKey | string | 是 | API Key |
taskId | string | 是 | 长度 1–64 字符 |
subUserId | string | 否 | 最长 128 字符,用于子用户归属校验 |
| 字段 | 类型 | 说明 |
|---|---|---|
taskId | string | 任务编号 |
status | string | waiting / processing / success / failed |
width | number | 实际计费视频宽度(像素) |
height | number | 实际计费视频高度(像素) |
duration | number | 实际计费时长(秒) |
x1 | number | 字幕区域左上角 X 坐标 |
y1 | number | 字幕区域左上角 Y 坐标 |
x2 | number | 字幕区域右下角 X 坐标 |
y2 | number | 字幕区域右下角 Y 坐标 |
mode | string | 处理模式 |
cost | number | 本次处理消耗积分 |
resultUrl | string | 成功后的结果地址,生成后 24 小时内有效 |
failCode | string | 失败任务的稳定失败标识 |
failReason | string | 失败任务的原因说明 |
refundStatus | number | 积分退还状态 |
| code | 含义 | 说明 |
|---|---|---|
-100 | 鉴权失败 | userNo 或 apiKey 不正确 |
-300 | 任务不存在 | taskId 不存在或不属于当前用户 |
-500 | 服务内部异常 | 请稍后重试 |
/open/taskList分页查询当前用户的视频任务。 已删除任务会从 taskDetail 和 taskList 中过滤;任务状态仍仅为 waiting、processing、success 或 failed。
请求格式: 表单参数或查询参数
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
userNo | string | 是 | 550W 用户编号 |
apiKey | string | 是 | API Key |
page | number | 否 | ≥ 0,默认 0 |
size | number | 否 | 1–100,默认 20 |
subUserId | string | 否 | 最长 128 字符,用于子用户归属校验 |
| 字段 | 类型 | 说明 |
|---|---|---|
total | number | 未删除任务总数 |
page | number | 规范化后的页码 |
size | number | 规范化后的每页条数 |
list | array | 未删除任务列表;status 仅为 waiting / processing / success / failed |
| code | 含义 | 说明 |
|---|---|---|
-100 | 鉴权失败 | userNo 或 apiKey 不正确 |
-200 | 参数不合法 | subUserId 长度超过 128 |
-500 | 服务内部异常 | 请稍后重试 |
/open/deleteTask将视频任务标记为已删除并立即返回;上传源视频、处理结果和重试媒资随后在后台异步从 VOD 清理。删除后 taskDetail 和 taskList 均不再返回该任务。已扣积分不退还。
请求格式: 表单参数或查询参数
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
userNo | string | 是 | 550W 用户编号 |
apiKey | string | 是 | API Key |
taskId | string | 是 | 长度 1–64 字符 |
subUserId | string | 否 | 最长 128 字符,用于子用户归属校验 |
| 字段 | 类型 | 说明 |
|---|---|---|
code | number | 200 表示任务已删除并已请求 VOD 清理 |
message | string | 提示信息 |
| code | 含义 | 说明 |
|---|---|---|
-100 | 鉴权失败 | userNo 或 apiKey 不正确 |
-200 | 参数不合法 | taskId 或 subUserId 格式不正确 |
-300 | 任务不存在 | 任务不存在、已删除或不属于当前用户 |
-500 | 服务内部异常 | 任务删除发生内部异常,请稍后重试 |
/open/removeImageWatermark上传图片并去水印;sync=true 直接返回结果,sync=false 创建异步任务。
请求格式: multipart/form-data
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
userNo | string | 是 | 550W 用户编号 |
apiKey | string | 是 | API Key |
file | file | 是 | JPG / PNG / BMP / WebP / AVIF / TIFF / SVG;≤ 50 MiB |
sync | boolean | 否 | true(默认)/ false |
operationId | string | 否 | 字符串跟踪标识 |
| 字段 | 类型 | 说明 |
|---|---|---|
code | number | 状态码 |
message | string | 提示信息 |
creditsAfter | number | 处理后剩余积分 |
task | object | 同步结果或异步任务信息 |
| code | 含义 | 说明 |
|---|---|---|
-100 | 鉴权失败 | userNo、apiKey 不正确或积分不足 |
-200 | 参数不合法 | 文件为空、格式不支持或大小超过 50 MiB |
-300 | 处理失败 | 图片无法解析或任务状态异常 |
-500 | 服务内部异常 | 请稍后重试 |
/open/imageWatermarkTaskDetail查询异步图片任务的状态和结果地址。
请求格式: 表单参数或查询参数
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
userNo | string | 是 | 550W 用户编号 |
apiKey | string | 是 | API Key |
taskId | string | 是 | 长度 1–64 字符 |
| 字段 | 类型 | 说明 |
|---|---|---|
status | string | 任务状态 |
resultUrl | string | 成功后的图片地址,生成后 24 小时内有效 |
failCode | string | 失败任务的稳定失败标识 |
failReason | string | 失败任务的原因说明 |
cost | number | 消耗积分 |
expiredTime | string | 结果地址过期时间 |
| code | 含义 | 说明 |
|---|---|---|
-100 | 鉴权失败 | userNo 或 apiKey 不正确 |
-300 | 任务不存在 | taskId 不存在或不属于当前用户 |
-500 | 服务内部异常 | 请稍后重试 |
/open/queryCredits查询账户当前可用积分。
请求格式: 表单参数或查询参数
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
userNo | string | 是 | 550W 用户编号 |
apiKey | string | 是 | API Key |
| 字段 | 类型 | 说明 |
|---|---|---|
code | number | 状态码 |
message | string | 提示信息 |
userNo | string | 用户编号 |
credits | number | 当前可用积分 |
| code | 含义 | 说明 |
|---|---|---|
-100 | 鉴权失败 | userNo 或 apiKey 不正确 |
-500 | 服务内部异常 | 请稍后重试 |
| 字段 | 是否必填 | 说明 |
|---|---|---|
userNo | 是 | 550W 用户编号 |
apiKey | 是 | 调用密钥 |
Idempotency-Key | 推荐 | 最长 128 字符;重试时保持不变 |
callbackUrl | 否 | 接收最终任务状态的公网 HTTPS 回调地址 |
| 字段 | 类型 | 说明 |
|---|---|---|
videoUrl | string | HTTP(S) URL,最长 2048 字符 |
width | number | 视频宽度(像素) |
height | number | 视频高度(像素);与 width 共同满足最长边 ≤ 1920、最短边 ≤ 1080 |
duration | number | 1–1800 秒 |
x1 | number | 左上角 X 坐标(像素) |
y1 | number | 左上角 Y 坐标(像素) |
x2 | number | 右下角 X 坐标(像素) |
y2 | number | 右下角 Y 坐标(像素);四项均为 0 表示全屏 |
mode | string | normal(默认)或 protect |
removeAudio | boolean | true / 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 是字符串标识,不是数字 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_UNSUPPORTED | HDR / 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 · 最高 1080p | 1.6 积分 / 秒 | 1920×1080 · 30 秒 ≈ 48 积分 |
任务查询只返回当前鉴权用户的数据。
请结合 code、message、status、failCode 和 refundStatus 处理错误。
视频任务按处理时长和分辨率计费;图片任务成功后扣除 10 积分,处理失败不扣费。
价格 →