Video Text Removal Create API
Last Updated: 2026-05-11
Video Text Removal
Service Overview
- Creates a video text removal task. Submit source video and erase regions for asynchronous processing.
Service Access
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
Integration
Parameter Specification
- Request URL:
https://video-translation.ilivedata.com/textRemoval/add - Method:
POST - Content-Type:
application/json - Response Format:
{code, message, data}
HTTP Headers
| Header | Required | Type | Description |
|---|---|---|---|
Content-Type | Yes | String | application/json;charset=UTF-8 |
Accept | Yes | String | application/json;charset=UTF-8 |
Authorization | Yes | String | Login token (Bearer Token) |
X-User-Id | Yes | Long | User ID. The server overrides userId in request body. |
X-Channel | Yes | Integer | Channel code: 100=Web, 200=Android, 300=iOS |
X-App-Source | No | String | Source marker, up to 20 characters |
Notes:
- The server uses
X-User-Id,X-Channel, andX-App-Sourcefrom headers as the source of truth.
Request Method: POST
Request Body
Field Definitions
| Field | Type | Required | Description |
|---|---|---|---|
url | String | Yes | Source video URL (must be accessible) |
taskName | String | Yes | Task name, truncated if longer than 50 characters |
textDetectROI | Array<Array | No | Text detection erase regions, e.g. [[x1,y1,x2,y2], ...] |
fullEraseROI | Array<Array | No | Full erase regions, e.g. [[x1,y1,x2,y2], ...] |
Validation Rules
textDetectROIandfullEraseROIcannot both be empty.- Each ROI type supports up to 5 regions.
Response Body
Standard Response Schema
| Field | Type | Description |
|---|---|---|
code | Integer | 0 means success; non-zero means failure |
message | String | Response message |
data | Object | Business payload |
data Fields on Success
| Field | Type | Description |
|---|---|---|
userId | Long | User ID |
taskId | String | Task ID (used for status/result query) |
Examples
cURL Request
curl -X POST "https://video-translation.ilivedata.com/textRemoval/add" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <TOKEN>" \
-H "X-User-Id: 123456" \
-H "X-Channel: 100" \
-H "X-App-Source: official_web" \
-d '{
"url": "https://cdn.example.com/input/video.mp4",
"taskName": "erase-subtitle-001",
"textDetectROI": [[120, 640, 1180, 700]],
"fullEraseROI": []
}'
Success Response Example
{
"code": 0,
"message": "OK",
"data": {
"userId": 123456,
"taskId": "ViiTor_AI_202605110001"
}
}
Failure Response Example (Invalid Parameters)
{
"code": 2001,
"message": "Invalid Parameter",
"data": null
}
Common Error Codes
| Code | Meaning | Typical Cause |
|---|---|---|
2000 | Missing Parameter | Missing required Header or Body fields |
2001 | Invalid Parameter | Invalid params (e.g., empty url/taskName, invalid channel) |
10091 | insufficient points | User has insufficient points |
10093 | task creation failed | Internal task creation failure |
Client Integration Recommendations
- Call
/textRemoval/addto obtaintaskId. - Use
taskIdto poll task status endpoint. - Handle all
code != 0responses uniformly, especially parameter errors and insufficient points.