TVU Networks Export API
The Export API from TVU Networks — 6 operation(s) for export.
The Export API from TVU Networks — 6 operation(s) for export.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/tvu-networks-export-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: TVU Networks Export API
description: Export operations of the TVU Networks public HTTP API, assembled verbatim from the per-endpoint OpenAPI 3.0.1 exports TVU publishes on its own Apifox documentation site (https://docs.tvunetworks.cn/). Each operation body is the provider's own export; only grouping, servers[] and operationId backfill were added by API Evangelist.
version: 1.0.0
contact:
name: TVU Networks
url: https://www.tvunetworks.com/tvu-developer/
servers:
- url: https://api.tvunetworks.com
description: Prod Env default server
tags:
- name: Export
paths:
/cut-json:
post:
summary: Trim a JSON edit list to a time range
deprecated: false
description: 'Fetches a TVU MediaMind JSON timeline/edit-list from `jsonUrl`, trims it to the
`markIn`–`markOut` window (milliseconds relative to the timeline origin), uploads
the trimmed JSON to S3, and returns its URL. Useful for creating sub-clips of a
JSON-based production without touching the underlying media files.
This is a **synchronous** endpoint — it returns immediately with the result.
**Constraint:** `markOut` must be strictly greater than `markIn`.
The output file is written to `s3:////__.json`.
If `Bucket` or `uploadPath` are omitted, the service attempts to derive the destination
from the source `jsonUrl`''s bucket/path. `fileName` is treated as a base name; do not
include `.json` unless that text should be part of the generated base name.
### Error Codes
| Code | Message | Cause |
|------|---------|-------|
| `0` | success | Trimmed JSON is available at `jsonUrl` |
| `3001` | The json/hls link exception, please check. | `jsonUrl` is unreachable or returns an invalid response |
| `3002` | The json content format exception, please check. | JSON content does not match expected format |
| `3003` | Failed parsing or initialization of JSON''s bucket, please contact the developer to check. | Cannot determine or connect to the destination bucket from the JSON URL |
| `3004` | Newly generated json upload failed, please contact the developer to check. | Trimmed JSON file failed to upload to S3 |'
operationId: cutJsonV2
tags:
- Export
parameters:
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CutJsonReqV2'
example:
jsonUrl: https://mma-video-new.s3.us-east-1.amazonaws.com/export/story.json
markIn: 5000
markOut: 65000
fileName: story_trimmed
Bucket: media-export-bucket
Region: us-east-1
uploadPath: trimmed/
responses:
'200':
description: Trimmed JSON URL
content:
application/json:
schema:
$ref: '#/components/schemas/CutJsonRes'
examples:
success:
summary: success
value:
errorCode: 0
errorMessage: success
jsonUrl: https://media-export-bucket.s3.us-east-1.amazonaws.com/trimmed/story_trimmed_20231114_120000_60000.json
bad_url:
summary: bad_url
value:
errorCode: 3001
errorMessage: The json/hls link exception, please check.
jsonUrl: ''
format_error:
summary: format_error
value:
errorCode: 3002
errorMessage: The json content format exception, please check.
jsonUrl: ''
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: Export
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290199-run
x-source-doc: https://docs.tvunetworks.cn/api-473290199.md
/estimate-video-size:
post:
summary: Estimate output file size before exporting
deprecated: false
description: 'Probes the source recording to estimate the output file size (in bytes) for a given
time range without performing the actual export. Use this before calling `/export` to
enforce storage quotas, display progress previews, or guard against unexpectedly large
exports.
This is a **synchronous** endpoint — it returns immediately with the result.
**`recMode`** selects the parsing path used by the service:
- `1` - URL mode: `filePath` is an HTTP(S) HLS playlist or MPD URL that can be
parsed into bucket, key, and region.
- `0` - storage-info mode: `filePath` is a relative MPD/HLS path under the `TS`
storage root described by `storageInfo`.
**`storageInfo`** is a Base64-encoded JSON array containing the cloud storage credentials
and configuration for the source recording. It is parsed by storage-info mode.
### Error Codes
| Code | Message | Cause |
|------|---------|-------|
| `1000` | task created successfully | Success; read `videoSize` |
| `1018` | the request param abnormal. | Required field missing or invalid (filePath, startTime, duration, recMode, storageInfo, or userAccount) |
| `1019` | init aws s3 sdk failed, please contact TVU Support. | Storage credentials invalid or unreachable |
| `1023` | (bucket connection failed) | Failed to connect to the source storage bucket |
| `1093` | verify required ts fail. | Source TS file check failed for the requested time range |'
operationId: estimateVideoSize
tags:
- Export
parameters:
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EstimateVideoSizeReq'
example:
filePath: https://mma-video-new.s3.us-east-1.amazonaws.com/ts/PRODUCER_RECORDINGS/source-001/live-001/1/play.m3u8
startTime: 1700000000000
duration: 30000
recMode: 1
storageInfo: W3sic3RvcmFnZV90eXBlIjoiczMiLCJzdG9yYWdlX25hbWUiOiJtbWEtdmlkZW8tbmV3Iiwic3RvcmFnZV9sb2NhdGlvbiI6InVzLWVhc3QtMSIsInN0b3JhZ2VfcHVycG9zZSI6IlRTIiwic3RvcmFnZV9yb290X2ZvbGRlciI6IiJ9XQ==
userAccount: user@example.com
responses:
'200':
description: Estimated file size
content:
application/json:
schema:
$ref: '#/components/schemas/EstimateVideoSizeRes'
examples:
success:
summary: success
value:
errorCode: 1000
errorMsg: ''
videoSize: 52428800
error:
summary: error
value:
errorCode: 1093
errorMsg: verify required ts fail.
videoSize: 0
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: Export
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290196-run
x-source-doc: https://docs.tvunetworks.cn/api-473290196.md
/export:
post:
summary: Export a video clip
deprecated: false
description: 'Trims a video clip from a TVU high-resolution recording archive (HLS/MPD) and uploads
the result to a caller-specified cloud storage location.
This is a **long-polling** endpoint. On the **first call**, the server registers the job
and returns `errorCode: 1000` with a non-zero `timeWait`. The client must re-submit the
**identical request body** at `timeWait`-millisecond intervals until `errorCode` reaches
a terminal state:
- `1005` (Work Finish) — export succeeded; read `videoPath`, `fileSize`, `videoDuration`.
- Any other non-`1001` code — export failed; read `errorMsg`.
**Task identity** is derived from `fileName` (or an auto-generated hash of
`highResolutionMediaFilePath` + `startTime` + `duration` when omitted). Submitting the
same body while a job is in progress returns the current task state without spawning
a duplicate job.
**Key options**
- `isDryrun` (default `true`) — validate the request without performing the actual export.
Set to `false` to trigger a real export.
- `isFrameLevel` — enable sub-GOP frame-accurate cut points.
- `isCover` — overwrite the output file if it already exists (default `false`; returns
`1100` if the file exists and this flag is not set).
- `withMetadataJson` — also produce a companion JSON metadata sidecar alongside the video.
- `audioPadding` / `videoPadding` — prepend/append silent audio or black-frame padding.
### Error Codes
| Code | Message | Cause |
|------|---------|-------|
| `1000` | task created successfully | Task registered; begin polling (`timeWait` > 0) |
| `1001` | work not finish. | Still processing — wait `timeWait` ms and poll again |
| `1004` | file already exist. | Source filename conflict (intermediate state) |
| `1005` | Work Finish | **Export completed successfully** (terminal, `timeWait` = 0) |
| `1017` | add user task fail. | Internal error creating the export job; retry |
| `1018` | the request param abnormal. | A required field is missing or invalid |
| `1019` | init aws s3 sdk failed, please contact TVU Support. | Destination storage credentials are invalid or unreachable |
| `1020` | tvu264 some error. | Video transcoding process failed |
| `1021` | upload file fail | Failed to upload the output file to cloud storage |
| `1026` | file restore error. | Source file is archived (Glacier); restore timed out |
| `1031` | video export time exceeds limit. | System-wide concurrent export quota reached; try later |
| `1032` | the number of user max export task exceeds limit. | This user has too many concurrent export jobs |
| `1035` | open or create file fail. | Server failed to open the output file for writing |
| `1042` | consume memory task num exceeds limit. | Server memory task limit reached; try later |
| `1046` | insufficient remaining free space | Server disk is full; contact TVU Support |
| `1050` | (locate source failed) | Cannot locate source TS segments for the requested time range |
| `1051` | (download temp ts error) | Failed to download temporary TS segments |
| `1052` | (exceed duration limit) | Clip duration exceeds the allowed maximum |
| `1053` | (metadata json error) | Failed to generate companion metadata JSON (`withMetadataJson=true`) |
| `1084` | from redis get user task fail. | Cache lookup failed; retry after a moment |
| `1086` | get source ts signature url fail. | Failed to generate a signed URL for the source media |
| `1093` | verify required ts fail. | Source TS file integrity check failed |
| `1099` | Media processing encountered an exception. Please retry... | Unexpected processing error; retry, then contact TVU Support |
| `1100` | export file already existed. | Output file exists and `isCover` was not set to `true` |'
operationId: publicExport
tags:
- Export
parameters:
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PublicExportReq'
example:
highResolutionMediaFilePath: https://mma-video-new.s3.us-east-1.amazonaws.com/ts/PRODUCER_RECORDINGS/source-001/live-001/1/play.m3u8
startTime: 1700000000000
duration: 30000
userAccount: user@example.com
fileName: clip_20231114_30s
fileType: mp4
isDryrun: false
destination:
cloudVendor: s3
bucket: media-export-bucket
region: us-east-1
folder: export/
responses:
'200':
description: Job status (poll again if `errorCode == 1001`)
content:
application/json:
schema:
$ref: '#/components/schemas/PublicExportRes'
examples:
success:
summary: Export complete
value:
errorCode: 1005
errorMsg: Work Finish
isDryrun: false
timeWait: 0
videoPath: https://media-export-bucket.s3.us-east-1.amazonaws.com/export/clip_20231114_30s.mp4
fileSize: 52428800
videoDuration: 30000
thumbnailInfo:
url: https://mma-video-new.s3.us-east-1.amazonaws.com/ts/PRODUCER_RECORDINGS/source-001/live-001/source-001_live-001_1700000000000_30000.jpg
width: '1920'
height: '1080'
videoInfo:
url: https://media-export-bucket.s3.us-east-1.amazonaws.com/export/clip_20231114_30s.mp4
type: mp4
bitrate: 5000k
width: '1920'
height: '1080'
framerate: '29.97'
duration: '30'
pending:
summary: Still processing — poll again
value:
errorCode: 1001
errorMsg: work not finish.
isDryrun: false
timeWait: 3000
user_limit:
summary: User export quota exceeded
value:
errorCode: 1032
errorMsg: the number of user max export task exceeds limit.
timeWait: 0
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: Export
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290194-run
x-source-doc: https://docs.tvunetworks.cn/api-473290194.md
/exportaudio:
post:
summary: Export an audio clip
deprecated: false
description: 'Extracts and encodes an audio-only clip from a TVU MediaMind media object and uploads
the result to cloud storage. The source is identified by `sourceObjectId` (the internal
TVU MediaMind object ID) rather than a raw file path; the service resolves the underlying
storage location automatically.
This is a **long-polling** endpoint — keep re-submitting the same body until
`errorCode` is `1005` (terminal success, `status: 2`) or a non-`1001` error code.
**Output format** is inferred from the `fileName` extension. The `mediaType` field is
used to select the source media record returned by metadata lookup: use `"mma"` for
high-resolution media; omit it or use another value for preview media.
**Optional AI transcription** (`reTranscribe.switch: true`): after the audio file is
exported, it is uploaded to an AI transcription service. The transcription group and
language are set via `reTranscribe.groupId` and `reTranscribe.language`. If this upload
fails, the job returns `1029` rather than `1005`.
**Webhook**: set `callbackUrl` to receive an HTTP POST notification when the job
completes instead of (or in addition to) polling.
**Idempotency**: supply `uuid` to prevent duplicate jobs — re-submitting the same `uuid`
returns the existing job''s state.
### Error Codes
| Code | Message | Cause |
|------|---------|-------|
| `1000` | task created successfully | Task registered; begin polling (`timeWait` > 0) |
| `1001` | work not finish. | Still processing — wait `timeWait` ms and poll again |
| `1005` | Work Finish | **Audio export completed successfully** (terminal, `timeWait` = 0, `status` = 2) |
| `1017` | add user task fail. | Task creation failed; retry |
| `1018` | the request param abnormal. | Required field missing (sourceObjectId, etc.) |
| `1020` | tvu264 some error. | Audio encoding failed |
| `1021` | upload file fail | Failed to upload output audio to cloud storage |
| `1029` | failed to upload audio to AI | AI transcription upload failed (only when `reTranscribe.switch=true`) |
| `1031` | video export time exceeds limit. | System export quota reached |
| `1032` | the number of user max export task exceeds limit. | User export limit reached |
| `1033` | The bucket of the media is wrong. | Source media bucket is misconfigured |
| `1081` | get storage fail. | Failed to retrieve storage configuration |
| `1084` | from redis get user task fail. | Cache lookup error; retry |
| `1099` | Media processing encountered an exception. Please retry... | Unexpected processing error |'
operationId: exportAudioV2
tags:
- Export
parameters:
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportAudioReqV2'
example:
startTime: 1700000000000
duration: 60000
sourceObjectId: '123456789012345678'
fileName: audio_extract.flac
sampleRate: 48000
mediaType: mma
responses:
'200':
description: Audio export status
content:
application/json:
schema:
$ref: '#/components/schemas/ExportAudioResV2'
examples:
success:
summary: Export complete
value:
errorCode: 1005
errorMessage: Work Finish
status: 2
timeWait: 0
audioPath: https://mma-video-new.s3.us-east-1.amazonaws.com/export/audio_extract.flac
pending:
summary: Still processing
value:
errorCode: 1001
errorMessage: work not finish.
status: 1
timeWait: 2000
audioPath: ''
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: Export
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290197-run
x-source-doc: https://docs.tvunetworks.cn/api-473290197.md
/longexport:
post:
summary: Export a long video clip in chunks
deprecated: false
description: 'Exports a long recording segment by automatically splitting it into sequential chunk
files and uploading each chunk to cloud storage as it completes. Designed for exports
that are too long for a single `/export` call (e.g. hours of footage).
This is a **long-polling** endpoint. On the **first call** the server registers the job
(`errorCode: 1000`) and begins splitting the total `duration` into sub-tasks of at most
`maxChunkDuration` milliseconds each. Re-poll the **identical request body** at
`timeWait`-millisecond intervals to observe progress:
- `errorCode: 1001` — processing in progress; `videoList` may already contain
completed early chunks.
- `errorCode: 1005` — all chunks are done; `videoList` is complete.
**Incremental delivery**: each entry in `videoList` has an `isCompleted` flag.
The list grows poll-by-poll, so clients can begin downstream processing on completed
chunks before the overall job finishes.
`maxChunkDuration` controls the granularity/count of output files. Smaller values
produce more chunks but allow faster incremental access.
### Error Codes
| Code | Message | Cause |
|------|---------|-------|
| `1000` | task created successfully | Task registered; begin polling (`timeWait` > 0) |
| `1001` | work not finish. | Still processing — wait `timeWait` ms and poll again |
| `1004` | file already exist. | Source filename conflict (intermediate state) |
| `1005` | Work Finish | **All chunks exported successfully** (terminal, `timeWait` = 0) |
| `1017` | add user task fail. | Internal error creating the job; retry |
| `1018` | the request param abnormal. | A required field is missing or invalid |
| `1019` | init aws s3 sdk failed, please contact TVU Support. | Destination storage credentials are invalid |
| `1031` | video export time exceeds limit. | System export quota reached |
| `1032` | the number of user max export task exceeds limit. | User concurrent export limit reached |
| `1037` | search son dir info fail. | Failed to find source subdirectory information |
| `1038` | subtask splitting process failed. | Failed to split the duration into sub-tasks |
| `1046` | insufficient remaining free space | Server disk full |
| `1050` | (locate source failed) | Cannot find source TS files for the time range |
| `1084` | from redis get user task fail. | Cache error; retry |
| `1086` | get source ts signature url fail. | Failed to sign source media URL |
| `1093` | verify required ts fail. | Source TS file check failed |
| `1099` | Media processing encountered an exception. Please retry... | Unexpected error |'
operationId: publicLongExport
tags:
- Export
parameters:
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PublicLongexportReq'
example:
filePath: https://mma-video-new.s3.us-east-1.amazonaws.com/ts/PRODUCER_RECORDINGS/source-001/live-001/1/play.m3u8
startTime: 1700000000000
duration: 3600000
maxChunkDuration: 600000
userAccount: user@example.com
fileName: long_clip_20231114
fileType: ts
destination:
cloudVendor: s3
bucket: media-export-bucket
region: us-east-1
folder: export/
responses:
'200':
description: Job status (poll again if `errorCode == 1001`)
content:
application/json:
schema:
$ref: '#/components/schemas/PublicLongexportRes'
examples:
success:
summary: All chunks complete
value:
errorCode: 1005
errorMsg: Work Finish
timeWait: 0
videoList:
- startTime: 1700000000000
duration: 600000
videoPath: https://media-export-bucket.s3.us-east-1.amazonaws.com/export/long_clip_20231114-1.ts
isCompleted: true
- startTime: 1700000600000
duration: 600000
videoPath: https://media-export-bucket.s3.us-east-1.amazonaws.com/export/long_clip_20231114-2.ts
isCompleted: true
pending:
summary: First chunk done, more in progress
value:
errorCode: 1001
errorMsg: work not finish.
timeWait: 5000
videoList:
- startTime: 1700000000000
duration: 600000
videoPath: https://media-export-bucket.s3.us-east-1.amazonaws.com/export/long_clip_20231114-1.ts
isCompleted: true
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: Export
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290195-run
x-source-doc: https://docs.tvunetworks.cn/api-473290195.md
/merge:
post:
summary: Merge multiple video files into one
deprecated: false
description: 'Concatenates an ordered list of S3 video segments into a single output file and uploads
the result to the specified S3 destination. Segments are joined in `order` sequence
without re-encoding where possible.
This is a **long-polling** endpoint — keep re-submitting the **same body** until
`ErrorCode == 0` (success) or a non-`1` error code. The task identity key is derived
from the combination of `user_id` and the destination `full_path`.
**Supported output formats**: `ts`, `mp4`, `mov`, `mkv`, `mxf`.
JSON (`media_type = "json"`) source files are **not** supported; the job immediately
returns `ErrorCode: 49`.
**Note:** this endpoint uses a separate error code namespace (`0–99`) distinct from the
`1000+` range used by `/export` and `/longexport`. The polling sentinel is `ErrorCode: 1`
("work not finish"), and the success terminal is `ErrorCode: 0`.
### Error Codes
| 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 |'
operationId: mergeVideo
tags:
- Export
parameters:
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MergeVideoReq'
example:
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
responses:
'200':
description: Merge job status
content:
application/json:
schema:
$ref: '#/components/schemas/MergeVideoRes'
examples:
success:
summary: Merge complete
value:
ErrorCode: 0
ErrorMessage: success
VideoPath: merged/final.mp4
VideoUrl: https://media-export-bucket.s3.us-east-1.amazonaws.com/merged/final.mp4
TimeWait: 0
pending:
summary: Still processing
value:
ErrorCode: 1
ErrorMessage: work not finish.
VideoPath: ''
VideoUrl: ''
TimeWait: 3000
json_not_supported:
summary: JSON media type rejected
value:
ErrorCode: 49
ErrorMessage: not support merge and upload json.
TimeWait: 0
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: Export
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290198-run
x-source-doc: https://docs.tvunetworks.cn/api-473290198.md
components:
schemas:
PublicDestination:
type: object
description: Target storage location for the output file.
properties:
cloudVendor:
type: string
description: Cloud storage vendor. Values are matched case-insensitively by the storage layer (`s3`, `azure`, `oss`, `cos`).
examples:
- s3
bucket:
type: string
description: Target s3/azure/oss/cos storage bucket name.
examples:
- media-export-bucket
region:
type: string
description: Bucket region.
examples:
- us-east-1
folder:
type: string
description: Key prefix / folder path within the bucket (trailing slash recommended).
examples:
- export/
x-apifox-orders:
- cloudVendor
- bucket
- region
- folder
x-apifox-ignore-properties: []
x-apifox-folder: ''
ThumbnailBaseInfo:
type: object
properties:
url:
type: string
description: URL of the thumbnail image.
width:
type: string
description: Image width in pixels.
height:
type: string
description: Image height in pixels.
x-apifox-orders:
- url
- width
- height
x-apifox-ignore-properties: []
x-api
# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tvu-networks/refs/heads/main/openapi/tvu-networks-export-api-openapi.yml