order sequenceErrorCode == 0 (success) or a non-1 error code. The task identity key is deriveduser_id and the destination full_path.ts, mp4, mov, mkv, mxf.media_type = "json") source files are not supported; the job immediatelyErrorCode: 49.0–99) distinct from the1000+ range used by /export and /longexport. The polling sentinel is ErrorCode: 1ErrorCode: 0.| Code | Message | Cause |
|---|---|---|
0 | success | Merge complete; read VideoPath/VideoUrl |
1 | work not finish. | Still processing — wait TimeWait ms and poll again |
17 | add user task fail. | Task creation failed; retry |
20 | tvu264 some error. | Video transcoding/merge process failed |
21 | (upload error) | Failed to upload merged output to cloud storage |
22 | (S3 object error) | Cloud storage object is null; check bucket/region settings |
25 | coding cancel. | Merge job was cancelled |
31 | video export time exceeds limit. | System-wide merge quota reached |
32 | the number of user max export task exceeds limit. | User concurrent merge limit reached |
49 | not support merge and upload json. | JSON media type is not supported for merge |
84 | from redis get user task fail. | Cache lookup failed; retry |
93 | verify required ts fail. | Source file integrity check failed |
curl --location 'https://api.tvunetworks.com/merge' \
--header 'SID: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7' \
--header 'Content-Type: application/json' \
--data-raw '{
"user_id": "user@example.com",
"source_file_list": [
{
"order": 1,
"bucket": "mma-video-new",
"region": "us-east-1",
"video_path": "export/part1.ts"
},
{
"order": 2,
"bucket": "mma-video-new",
"region": "us-east-1",
"video_path": "export/part2.ts"
}
],
"destination": {
"bucket": "media-export-bucket",
"region": "us-east-1",
"full_path": "merged/final",
"media_type": "mp4"
}
}'{
"ErrorCode": 0,
"ErrorMessage": "success",
"VideoPath": "merged/final.mp4",
"VideoUrl": "https://media-export-bucket.s3.us-east-1.amazonaws.com/merged/final.mp4",
"TimeWait": 0
}