Video Text Removal Task Status API
Last Updated: 2026-05-11
- Queries video text removal task status, supporting both single-task and batch polling.
The Video Text Removal API uses a console-based project access model. You can register and activate services on the ViiTor AI official website (https://www.viitor.com/), then create a project in the console to obtain required authentication credentials.
The business service endpoint is provided by the project gateway. This document uses the following gateway as an example:
https://video-translation.ilivedata.com
- Request URL:
https://video-translation.ilivedata.com/textRemoval/taskStatus - Method:
POST - Content-Type:
application/json - Response Format:
{code, message, data}
| Header | Required | Type | Description |
|---|
Content-Type | Yes | String | application/json;charset=UTF-8 |
Accept | Yes | String | application/json;charset=UTF-8 |
X-User-Id | Yes | Long | User ID, must be numeric |
Authorization | Recommended | String | Login token (Bearer Token), based on gateway auth policy |
X-Channel | No | Integer | Channel code; not used in business logic for this API |
X-App-Source | No | String | Source marker; not used in business logic for this API |
Notes:
- This API reads
X-User-Id from headers as the query user. - Missing
X-User-Id returns code=2000; non-numeric value returns code=2001.
| Field | Type | Required | Description |
|---|
taskId | String | No | Single task ID |
taskIds | Array | No | Batch task ID list |
taskId and taskIds cannot both be empty.- They are merged and deduplicated by the server before query.
- The merged task ID count can be up to
100. - Every task ID must start with
ViiTor_AI, otherwise returns parameter error.
| Field | Type | Description |
|---|
code | Integer | 0 means success; non-zero means failure |
message | String | Response message |
data | Array<Object> | Task status list |
| Field | Type | Description |
|---|
taskId | String | Task ID |
taskStatus | Integer | Task status code |
taskProgress | Integer | Task progress (0-100) |
errorCode | Integer | Task error code (0 for success in most cases) |
targetVideoUrl | String | Result video URL (available after completion) |
updateTime | Long | Last update time (millisecond timestamp) |
| Value | Meaning |
|---|
1 | Created |
2 | Queued |
3 | Running |
4 | Finished |
5 | Failed |
6 | Aborted |
curl -X POST "https://video-translation.ilivedata.com/textRemoval/taskStatus" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <TOKEN>" \
-H "X-User-Id: 123456" \
-d '{
"taskId": "ViiTor_AI_202605110001"
}'
curl -X POST "https://video-translation.ilivedata.com/textRemoval/taskStatus" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <TOKEN>" \
-H "X-User-Id: 123456" \
-d '{
"taskIds": [
"ViiTor_AI_202605110001",
"ViiTor_AI_202605110002"
]
}'
{
"code": 0,
"message": "OK",
"data": [
{
"taskId": "ViiTor_AI_202605110001",
"taskStatus": 3,
"taskProgress": 60,
"errorCode": 0,
"targetVideoUrl": null,
"updateTime": 1776057600123
},
{
"taskId": "ViiTor_AI_202605110002",
"taskStatus": 4,
"taskProgress": 100,
"errorCode": 0,
"targetVideoUrl": "https://cdn.example.com/output/video_110002.mp4",
"updateTime": 1776057650456
}
]
}
{
"code": 2001,
"message": "taskId and taskIds cannot both be empty",
"data": null
}
| Code | Meaning | Typical Cause |
|---|
2000 | Missing Parameter | Missing X-User-Id |
2001 | Invalid Parameter | Invalid params (empty/invalid taskId/taskIds, count overflow) |
- Save
taskId after task creation, and prefer batch polling mode. - Download result when
taskStatus=4 and targetVideoUrl is not empty. - For
taskStatus=5/6, apply failure messaging and retry strategy based on errorCode.